1

Тема: Небольшой полезный код.

Проецирование нтдлл без импортов, вестма мощный пикод.
http://narod.ru/disk/4643340000/src.rar.html

2

Re: Небольшой полезный код.

а понту если он и так грузится во все процессы, включая System, и там вполне можно извлечь номера сервисов

PS. я ваще не понял это драйвер или что?

Отредактировано Great (2008-12-27 16:15:48)

3

Re: Небольшой полезный код.

Вообще не понял смысл этого кода, да ещё и на ассемблере. Номера сервисов и база НТДЛЛ дергается спокойно

ULONG GetNTDLLBase()
{
    ULONG BufSize = MEGABYTE, RetLen, NumberOfModules, i, ntbase = 0;
    PSYSTEM_MODULE_INFORMATION SysInfo;
    PVOID Buffer = ExAllocatePool(PagedPool,BufSize);
    if (NT_SUCCESS(ZwQuerySystemInformation(SystemModuleInformation,Buffer,BufSize,&RetLen)))
    {
        NumberOfModules = *(PULONG)Buffer;
        SysInfo = (PSYSTEM_MODULE_INFORMATION)((DWORD_PTR)Buffer+4);

        for (i=0;i<NumberOfModules;i++)
        {
            if (SysInfo[i].ImageName)
            {
                LPCTSTR fname = (LPCTSTR)strrchr(SysInfo[i].ImageName,'\\');
                if (fname)
                {
                    if (!_strnicmp(fname+1,"ntdll.",6))
                    {
                        KdPrint(("GetNTDLL:%s\n",SysInfo[i].ImageName));
                        ntbase = (ULONG)SysInfo[i].Base;
                        break;
                    }
                }
            }
        }
    }
    ExFreePool(Buffer);
    return ntbase;
}

ULONG GetSyscallService(ULONG NtDllServiceEntry)
{
    return (*(PULONG)((DWORD_PTR)NtDllServiceEntry+1));
}
my homepage : http://b4.cih.ms

4

Re: Небольшой полезный код.

1. Это юзермодный кодес, который проецирует нтдлл, инжекты не при чём.
2. Код самодостаточный, тоесть никакая нтдлл в адресном пространстве не нужна.
Это много кто юзоет, тот знает зачем это smile

5

Re: Небольшой полезный код.

А зачем проецировать если есть уже спроецированный?

Indy пишет:

Это много кто юзоет, тот знает зачем это smile

ну так поясни тем что не "много юзоет")

6

Re: Небольшой полезный код.

А для того чтобы иметь оригинальный модуль, а то в текущем много чего изменяетсо, частенько точки останова появляются, сплайсы различные.

7

Re: Небольшой полезный код.

Indy пишет:

Это много кто юзоет

Ошибаешься сейчас даже мало кто нэйтивапи юзает (если мы об одном и том же говорим), не говоря уже о вызове через int 2E, за кодес спс.

8

Re: Небольшой полезный код.

Ничего в процессе SYSTEM никто менять не будет и модифицировать...

my homepage : http://b4.cih.ms

9

Re: Небольшой полезный код.

Защита модуля от модификации секций кода(после отработки запись невозможна): http://openfile.ru/204893/
Пасс: virustech

Отредактировано Indy (2009-02-15 02:20:26)

10

Re: Небольшой полезный код.

Indy зазеркаль на слил.ру или ещё куда-нибудь - с опенфайла не могу скачать.

11

Re: Небольшой полезный код.

ZUNAmi777, http://webfile.ru/2747983
Indy, спасибо за код, много полезного подчеркнул для себя. Но пришлось отказаться от наворотов процедуры IntSystemCall, ибо подторможивает... Ее думаю достаточно юзать в первых нескольких вызовах сервисов и все.

12

Re: Небольшой полезный код.

Endi - спасибо за зеркало!!!

13

Re: Небольшой полезный код.

Endi
Оно не может тормозить, у меня отлично работает.
ZUNAmi777
Сорри, не мог залить(жёсткий диск спёкся).

14

Re: Небольшой полезный код.

Захват CsrClientCallServer() через регистрацию обработчика в CsrServerApiRoutine.
http://files.virustech.org/indy/Code/Cs … piRoutine/

15

Re: Небольшой полезный код.

Получение адреса KiDebugRoutine переписал под XP, Vista, W7: http://files.virustech.org/indy/Code/KiDebugRoutine2/

16

Re: Небольшой полезный код.

Запуск процесса из ядра http://files.virustech.org/indy/Code/SbCreateProcess/
Только нативное(IMAGE_SUBSYSTEM_NATIVE).

17

Re: Небольшой полезный код.

Поиск KeIpiGenericCall(), XP, Vista, 7: http://files.virustech.org/indy/Code/KeIpiGenericCall/

Отредактировано Indy (2009-05-15 21:54:09)

18

Re: Небольшой полезный код.

а нафига его искать? вручную проще IPI послать.

19

Re: Небольшой полезный код.

Нее, проще найти. Вручную - прерывание нужно вешать и пр., что очень не желательно.

20

Re: Небольшой полезный код.

Фильтрация оконных сообщений(захват apfnDispatch/pfnClient): http://files.virustech.org/indy/Code/Apfn/

21

Re: Небольшой полезный код.

Лодер 3.0 http://files.virustech.org/indy/Code/lidl/
Двиг для захвата ссылок http://files.virustech.org/indy/Code/IDP/

22

Re: Небольшой полезный код.

Indy пишет:

Захват CsrClientCallServer() через регистрацию обработчика в CsrServerApiRoutine.
http://files.virustech.org/indy/Code/Cs … piRoutine/

Что-то не могу проверить на Win7 - не работает!
Подменяю обработчик _CsrServerApiRoutine на свой. Далее, пытаюсь подменить значение _CsrClientProces на необходимое... Но, в итоге, при обращении к _CsrClientConnectToServer@20 из вызова AllocConsole (как в примере), никак не удаётся вызвать _CsrServerApiRoutine sad

23

Re: Небольшой полезный код.

А в ХР получилось?

24

Re: Небольшой полезный код.

Не пробовал..