Показать сообщение отдельно
Старый 10.02.2011, 15:11   #7
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

сделал форму прикольную, пакеты терь в ТЛистВайв передаются списком, ну что-то типо аналога пх... щас вот разибраюсь в сплайсинге, ничерта правда не получается, нужны хорошие статьи с комментом на каждом месте
PS http://rghost.ru/4273684/image.png :P

Добавлено через 14 часов 1 минуту
из-за чего может происходить ошибка когда я юзаю вот это
Byte(p^):=Byte(p^);
в память нельзя записывать?

как тогда открыть для записи?

VirtualProtect(p, 5, PAGE_EXECUTE_READWRITE, OldProtect); нипамагает

Добавлено через 59 минут
а всё, протект робит, в другом ошибка была

Добавлено через 59 минут
а есть пример сплайсинга как в advApiHook, только чтобы джамп нир ставился в конец?

ну хотя щас попробую сам..

Добавлено через 12 минут
вообщем вот накатал работающий хук, только вместо джампа калл

как его поставить в конец?

delphi Код:
procedure Hook_Proc; begin writeln(''); writeln('---'); writeln('JA SNIMAYU NAHU'); writeln('---'); writeln(''); end; begin writeln('im dll, im injecting here'); m:=Pointer(GetModuleHandle('exeFile.exe')+$4114); GetMem(p, 255); SaveOldFunction(m,p); VirtualProtect(m, 5, PAGE_EXECUTE_READWRITE, OldProtect); Byte(pointer(Cardinal(m)+0)^):=$e8; pointer(pointer(Cardinal(m)+1)^):=pointer(dword(@Hook_Proc) - dword(m) - 5); end.

я так думаю надо либо увеличивать размер функции, либо перезаписывать последние 5 байт и выполнять их в хук процеудре, или я не прав?
__________________
Начало.

Последний раз редактировалось supernewbie, 10.02.2011 в 16:43. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием