ПолезностиИсключительно для полезных тем из других разделов. Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.
Чтобы добавить свой пакет в очередь с помощью AddNetworkQueue надо "выделять" память с помощью ла2. Murc там писал об этом, сам не пробовал. В остальном все зависит от функции.
Те "функции" что ты юзал - методы __thiscall поэтому и адрес объекта в ECX.
Последний раз редактировалось Prixmegently, 18.05.2010 в 22:36.
Не вызывай оригинал, только не забудь что это функция и нужно вернуть INT (0 например). Проблем вроде не возникало, "блокировал" входящие пакеты давно, точно не помню.
За это сообщение Prixmegently нажился спасибкой от:
с убитым гг послать нажатие кнопки хоть в активное, хоть не в активное окно куча способов. а вот с ним...
ps: подскажите, пожалуйста, как хукнуть такую функцию
Код:
unsigned char __thiscall Class::Func(int)
делаю так:
Код:
var
Class_Func_Original: function (i:word):byte;stdcall;
Class:dword;
......................
function Class_Func_Call(i:word):byte;stdcall;
asm
mov ecx,Class
mov esp,ebp
pop ebp
jmp [Class_Func_Original]
end;
function Class_Func_New(unh:integer;i:word):byte;stdcall;
begin
Class:=dword(unh);
Send('Class Func New');
Class_Func_Call(i);
end;
function Class_Func_Hook(i:word):byte;stdcall;
asm
push ecx
push [ebp+8]
push ecx
call Class_Func_New
pop ecx
end;
и клиент вылетает с ошибкой где то в оригинальной функции
Send отрабатывает, отсюда делаю вывод, что функция хукнута, но видимо где-то намудил с параметрами
Последний раз редактировалось CodeMonkey, 20.06.2010 в 06:15.