сделал форму прикольную, пакеты терь в ТЛистВайв передаются списком, ну что-то типо аналога пх... щас вот разибраюсь в сплайсинге, ничерта правда не получается, нужны хорошие статьи с комментом на каждом месте
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 байт и выполнять их в хук процеудре, или я не прав?