Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.047 c
1-1163952134
Calibr
2006-11-19 19:02
2007.01.14
Ассоциирование файла с программой


1-1163786612
DarkFlow
2006-11-17 21:03
2007.01.14
Playlist как у Winamp


15-1166816967
Petr V. Abramov
2006-12-22 22:49
2007.01.14
800/3


2-1166952419
Zver1992
2006-12-24 12:26
2007.01.14
Отключение контроля ошибок


9-1141658314
i)lya
2006-03-06 18:18
2007.01.14
HELP