n0name А с относительной адресацией и relative jump/call как боролся?
джамп. Алгоритм такой: orig_func: jmpf hook_start nop nop continued: saved_code: push ebp mov ebp, esp ... jmpf continued hook_start: .... call...
Это работает в юзер-моде, т.к. в ядре еще существуют прерывания, очереди DPC, APC и т.д. И во сколько обойдется просмотр списков планировщика? ;)
push ebp ---> здесь поток прерывается mov ebp, esp sub esp, 30 Устанавливаем хук, поток возобновляется и падает, потому что mov ebp, esp там уже...
Great В момент каждого изменения этих первых пяти байт существует вероятность, что некий поток будет выполнять эти инструкции ==> GP или BSoD. Ни...
Количество инструкций у процессора тем не менее конечно :)
Great А поток тем временем возобновит свое выполнение и попадет либо в середину инструкции, либо хз куда :) Имеется в виду, что поток может быть...
Для этих случаев придумали дизассемблер. Например, у Ms Rem в коде к статье про перехваты функций используется простейший дизассемблер длин...
Nouzui http://msdn2.microsoft.com/en-us/library/126fe14k.aspx Должно бы по идее быть ((++i) + 1)
А еще у какого-то потока может закончиться время между инструкциями прямо посередине хука. И против этого никакой lock не поможет хм :\
Поиск по форуму рулит sdt_idx = *(ULONG *) ((char *) ZwQueryDirectoryFile + 1); Дальше вызов через int 2Eh под 2000 или поиск адреса в SDT и...
http://216.239.59.104/search?q=cache:e0zNVFXlsaMJ:www.osronline.com/article.cfm%3Farticle%3D257+Nt+vs+Zw&hl=ru&ct=clnk&cd=2&gl=ru
Ну все нужные в нормальной жизни типы в этот список точно входят :) Никак не определить. Файл он и в африке файл, а его семантика уже драйвером...
censored Нашел тока http://en.wikipedia.org/wiki/The_Jam и http://ru.wikipedia.org/wiki/JAM Наверное, второе :)))
IceStudent Из тех готовых, что видел, ни одна не подходит под все требования. Хотелось бы: - простоты; - быстроты (в плане создания скриптов); -...
Есть бааальшой проект под Visual Studio, который состоит из кучи солюшенов и прожектов. Созданы куча разных конфигураций в зависимости от...
slow Самый простой способ определить - перечислить все хендлы вместе с типом и посмотреть индекс. Более правильный - получить через ZwQueryObject...
Плохо смотрел значит :) У System на моей машине их с полсотни, если не больше. А как ты тип File у хендла определяешь? Номера у типов различаются...
"\Device\Tcp" и "\Device\Udp" Посмотреть открытые хендлы можно с помощью ProcessExplorer by Russinovich
LiveKd
Имена участников (разделяйте запятой).