Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Внизjump to adress Найти похожие ветки
← →
4ert (2006-12-26 07:55) [0]Здравствуйте!!!!
Господа помогите плиз, а то сщас об стенку головой биться буду всю ночь сижу догнать не могу....
Пишу программу, работает так: загружает мою dll в чужой процесс та, там в свою очередь должна перехватывать некоторые функции API, с этим она справляется отлично, только вот как сделать так чтобы перехватываемая функция все-таки выполнилась в зараженном приложении, вот функция обработки события:
function hconnect(ss: TSocket; var names: TSockAddr; namelen: Integer): Integer; stdcall;
var
dat: TCopyDataStruct;
tmp: string;
begin
with dat do
begin
dwData := 0;
tmp:=inet_ntoa(names.sin_addr)+":"+inttostr(ntohs(names.sin_port));
cbData := StrLen(Pchar(tmp))+1;
lpData :=PChar(tmp);
end;
sendmessage(findwindow(nil,"HPION"),WM_M,666,longint(@dat));
WriteProcessMemory(CurrProc, AdrCreateProcessA, @OldCrp, SizeOf(far_jmp), Writen);//возращаем память в "исходное состояние"
end;
Так вот, как только мы отправили данные и сняли ловушку, необходимо, чтобы нужная функция все-таки выполнилась....
Если кто знает как реализовать(желательно с примером) буду благодарен до безумия....
Заранее спасибо!!!!
← →
Elen © (2006-12-26 08:42) [1]
> Так вот, как только мы отправили данные и сняли ловушку,
> необходимо, чтобы нужная функция все-таки выполнилась..
> ..
Попробую намекнуть, например так :
..............................
procedure qq; // Сюда будем прыгать
procedure ww; // отсюда
var rr:pointer; //Переменка с адресом куда прыгать
Form1: TForm1;
implementation
{$R *.dfm}
//********* PROCEDURE**********
procedure ww;
//const
begin
asm
call rr
end;
end;
//********* END PROCEDURE*******
//********* PROCEDURE**********
procedure qq;
//const
Var u:byte;
begin
form1.Caption:="ss";
end;
//********* END PROCEDURE*******
procedure TForm1.FormCreate(Sender: TObject);
begin
rr:=@qq; // Где то сохрани старый адрес!!!
ww;
end;
....................
Намек ясен? ;) (Только с параметрами старой процедуры не запутайся, а то AV схватиш)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.016 c