Имхо hb эффективнее в разы, лучше перехватить ещё 3 точки NtContinue, NtSetContextThread, NtRaiseException чем эмулить pushf и так далее, правда...
Clerk
Ещё такого рода трассировку по хукам можно определять :)
Asmodaeous этот сервис есть во всех виндах)
Если имеется ввиду Eip потока, то NtGetContextThread.
х3 почему не работало, проблема решилась вызовом getpeername немного в другом месте..
И в чем же заключается эта не универсальность?
Делай инжэкт APC - ZwQueueApcThread (QueueUserApc).
Перехватываю WSARecv в процессе браузера, обработчик подменяет адрес возврата из WSARecv на наш, обработчик WSARecvRet передает управление на...
devillsd Опиши лучше чего ты хочешь в итоге добится, либо что ты хочешь сделать.
В текущем процессе - инструкциями процессора, в чюжом - WriteProcessMemory/ReadProcessMemory
Можно обойтись и без перехватов, все очень просто см. ZwNotifyChangeKey, ZwNotifyChangeMultipleKeys.
NDIS Приведи список функций которые хочешь контролировать и в каких библиотеках. Есть идея, смысл в том что какая-то функция передает управление...
Да из юзермода никак не изменишь, а вообще если изменить то придется во все созданные процессы впихивать хэндлер и ставить нотификацию на создание...
Есть ещё вариант перечислить все экспортируемые функции ntdll и сравнивать их имена примерно так: .if word ptr [eax]=='wZ' ... Call Callback ......
Только для передачи больших объемов данных придется секцию проецировать в оба процесса самому, а так ядро все за нас сделает ;)
LPC - Local Procedure Call. Сервер создает порт (ZwCreatePort), начинает слушать порт (ZwReplyWaitReceivePort,..) затем клиент может приконектится...
SPA NativeApi.pdf, классный ман тут про все есть и про LPC тоже.
\KnownDlls - Объект директория. разберись сначала с основами, а потом уже задавай вопросы и внедряйся в подробности, из книг могу посоветовать...
Системы. Нет. В директории с файлом который пытаешься запустить.
Имена участников (разделяйте запятой).