Информация об изменениях

Сообщение Re[9]: не может от 06.02.2017 13:26

Изменено 06.02.2017 13:27 ononim

Re[9]: не может
ksd>Здравствуйте, ononim, Вы писали:
O>>Ну раз инжектится, значит хукает чтото, раз хукает, значит может похукать весь зоопарк ExitProcess-ов и сделать шатдаун себя оттудова
ksd>Это ни к чему. Так все ок почему то. Этовот проявляется, когда внешняя прога ее инжектит/режектит быстра бытсра.
Ну так тут вообще никаких проблем. Просто инжект сделать не тупым CreateRemoteThread(..LoadLibrary...), а с генерацией в АП процесса машкода, который сделает
dll = LoadLibrary("inject.dll")
pfn = GetProcAddress(dll, "inject_init");
if (pfn) pfn();
return dll;


pfn = GetProcAddress(dll, "inject_deinit");
if (pfn) pfn();
FreeLibrary(dll);


..да, сложно, ну а кому ща легко.
Re[9]: не может
ksd>Здравствуйте, ononim, Вы писали:
O>>Ну раз инжектится, значит хукает чтото, раз хукает, значит может похукать весь зоопарк ExitProcess-ов и сделать шатдаун себя оттудова
ksd>Это ни к чему. Так все ок почему то. Этовот проявляется, когда внешняя прога ее инжектит/режектит быстра бытсра.
Ну так тут вообще никаких проблем. Просто инжект сделать не тупым CreateRemoteThread(..LoadLibrary...), а с генерацией в АП процесса машкода, который сделает
dll = LoadLibrary("inject.dll")
pfn = GetProcAddress(dll, "inject_init");
if (pfn) pfn();
return dll;


pfn = GetProcAddress(dll, "inject_deinit");
if (pfn) pfn();
FreeLibrary(dll);


..да, сложно, ну а кому ща легко.
PS Если знать кое какие секреты и при определенных ограничениях этот прием можно значительно упростить. Но это тот случай когда до этого лучше дойти самому.