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