AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Api Hooking / Logen

Offene Frage von "flash2009"
Ein Thema von flash2009 · begonnen am 15. Dez 2008 · letzter Beitrag vom 20. Dez 2008
Antwort Antwort
flash2009

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

Api Hooking / Logen

  Alt 15. Dez 2008, 19: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
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Api Hooking / Logen

  Alt 15. Dez 2008, 19:21
Zitat von flash2009:
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
..vielleicht hilft die Korrektur
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Api Hooking / Logen

  Alt 15. Dez 2008, 19:24
Ich denke, es ist eher interessant, wie du an die Information kommst und nicht wie du sie weiterverarbeitest. Wahrscheinlich bringst du das Stackframe durcheinander. In dem einen fall passiert dadurch nichts, und im zweiten Fall kommt berechtigter Weise eine Exception.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Api Hooking / Logen

  Alt 15. Dez 2008, 19:26
Bitte loeschen...Forum hing..Danke!!
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
flash2009

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

Re: Api Hooking / Logen

  Alt 15. Dez 2008, 19:31
@Der.Kaktus
Also von Delphi aus kann ich da nicht mehr machen , das ist alles nur assembler.

@sirius
Ja genau das ist das Problem vor nem return liegt murks aufm stack nur die funktion selbst is ja delphi
ohne inline asm
also müste der call (in dem fall logtofile) eigentlich bündig sein (also der müste ja insich wieder zum ende finden)

Wenn das danach passiert würd ich das verstehen können aber tut es ja dummerweise nicht, eine Messagebox wird richtig ausgeführt.
Das einzige was mir noch einfällt das er irgendwie intern über den String stolpert, aber das halt ich auch für nicht möglich da die exe mit nur einem Thread arbeitet.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Api Hooking / Logen

  Alt 15. Dez 2008, 20:04
Ach du lenkst ihn direkt in die funktion. Ja dann ist der String als Parameter falsch. Versuch mal PChar!
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
flash2009

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

Re: Api Hooking / Logen

  Alt 16. Dez 2008, 00:42
Boah bei mir is echt grad der Fehlerteufel drin ,hab schon probiert kann es aber grade nicht weiter debugen.

Hier nochmal das ding was ich hooke
int sprintf ( char * str, const char * format, ... );

Ich werds morgen nochmal ausgiebig ausarbeiten.

----------------------------------
Hier das gehört nicht direkt dazu das ist halt mein inject Tool für die dll
das macht mir 1-2 c000008 oder d00008 exceptions , im Netz stand das wäre schon geschlossen wenn so etwas auftrit.

Delphi-Quellcode:
if CreateRemoteThread(HandleWindow,nil,0,GetProcAddress(GetModuleHandle('kernel32.dll'),'LoadLibraryA'),pAllocMem,0,cThreadID) <> 0 then
  begin
    WaitForSingleObject(cThreadID,INFINITE);
Eigentlich hatte ich vor das cThreadID Handle zu closen, aber das gibt mir immer ne exeption.
also hab ich das schonmal entfernt
Zum Schluss close ich noch alles was ich so an Handles habe und da spuckt Olly mit auch noch eine hinterher. Beenden sich die Handles irgendwie selber oder hab ich was nicht verstanden.
Die Dlls werden aber astrein injected.

---------------------------------------------------
Das ist noch ne andere Frage aber zum gleichen Program , warum schreiben alle möglichen Tools die ich Create(Process), eigentlich direkt in meine Delphi Konsole vom Program das den Prozess startet , find ich irgendwie komisch.

Wenn interesse besteht ich hab nen Loader und ne Api Hook Klasse(als pas file) leicht zu verstehen und einbinden einfach bescheid geben , ansonsten rel ich die vll falls interesse besteht und alles fertig ist.

so bis später

edit2:
so geiler tip mit pcar der funzt perfekt
thx schonmal für die schnelle hilfe

gruß flash
  Mit Zitat antworten Zitat
flash2009

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

Re: Api Hooking / Logen

  Alt 20. Dez 2008, 00:06
so alles läuft jetzt, irgendwo stand ich soll wieder was deaktivieren wenn die frage beantwortet wurde , ich weiß aber nicht wo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz