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 //ELSE
Append(log);
WriteLn(log,'['+TimeToStr(now)+']:'+ Text);
WriteLn(log,text);
//END ELSE
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 werde auch richtig übergeben.
oder darf man sowas generell nicht machen ?
ich kann auch mehr code posten, eignetlich 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 verwenden d7
grußn flash