Показать сообщение отдельно
Старый 30.01.2010, 00:29   #3
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

destructor, то что первые 5 байт совпали в этом примере эт конечно хорошо, но это довольно редкий случай и охрененно упрощающий код притом. А вот если первые 5 байт не совпадают, то начинается веселье, надо переместить первые инструкции (естественно целое количество инструкций) которые заполняют первые 5 или больше байт куданить себе в массив и ещё дописать в массив джамп на оригинальную функцию (со смещением равным количеству списанных из начала байт), оформить этот массив как имеющий возможность быть выполненным (ну VirtualProtect'ом обработать опять же), а вот уже дальше записать на место первых 5 байт оригинала джамп, ну и в своей функции вместо оригинала уже вызывать не оригинал со смещением, а наш массив.
ЗЫ и эт ещё хорошо если мы можем функцию перехватываемую в дизассемблере посмотреть и посчитать сколько байт занимает целое число команд в начале, а если не можем то надо ещё как то программно это определять...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился 3 спасибками от: