Thema: Delphi Api Hooking / Logen

Einzelnen Beitrag anzeigen

flash2009

Registriert seit: 15. Dez 2008
11 Beiträge
 
#1

Api Hooking / Logen

  Alt 15. Dez 2008, 20:14
Hey Leute
ich hab die sprinf von der msvcr.dll gehookt, also nen jump von der dll in meine dll,
nur hab ich folgendes Problem, die sprintf bekommt nen string(mit #0) gepusht
zB "d%"
so jetzt fang ich das ding übern Stack ab und versuche das an meinen Code zu übergebe
dazu hab ich schon einiges probiert
zb mov eax, esp+$20 und dann push eax
das klappt auch wunderbar nur irgenwie schaft es dann die Funktion(unten als code) mittem in sonen code haufen zu springen , dann krieg ich ne exception

debugen mach ich mit ollydbg

und das wird dann im endefekt als funtion/procedur ausgeführt

Delphi-Quellcode:
procedure LogToFileStr(Text:String);stdcall;
var
  log : textfile;
begin
  AssignFile(log, DateToStr(now)+'errorlog.log');
  try
    if not FileExists(DateToStr(now)+'errorlog.log') then
    begin
      Rewrite(log,DateToStr(now)+'errorlog.log');
      WriteLn(log,'['+TimeToStr(now)+']:'+'llalala #');
      WriteLn(log,'##################################################################');
    end;
    Append(log);
    WriteLn(log,'['+TimeToStr(now)+']:'+ Text);
    WriteLn(log,text);
  finally
    CloseFile(log);
  end;
end;
Wenn ich einfach ne Messagebox aufrufe ist das kein Problem nur halt bei dem Code bricht das Program zusammen, hab ich was übersehen oder soll ich den log anders erstellen ?
die Parameter werden auch richtig übergeben.
oder darf man sowas generell nicht machen ?
ich kann auch mehr Code posten, eingetlich müsten die meisten wissen was ich mache halt die Api umlenken.
ich kann auch Screenshots in Olly machen , Testapps und so hochladen =).

die funktion läuft in ner normalen exe ohne problem
ich verwende d7

gruß flash
  Mit Zitat antworten Zitat