Главная страница
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.029 c
3-1161791931
Firix
2006-10-25 19:58
2007.01.14
view в Paradox


2-1166721305
Mityok
2006-12-21 20:15
2007.01.14
Помогите найти алгоритм Дейкстры


2-1167026849
inkvizitor
2006-12-25 09:07
2007.01.14
точка в делфи


15-1167052355
Handle
2006-12-25 16:12
2007.01.14
Handle


2-1166780478
kukuikar
2006-12-22 12:41
2007.01.14
Изменение даты создания файла