www.mikrocontroller.net

Forum: PC-Programmierung DLL-API Call Monitor gesucht


Autor: Roland Praml (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche einen DLL-Call Monitor der mir die API-Aufrufe einer DLL 
anzeigt.

Ich kenne sowohl das Programm als auch die aufgerufene Dll, allerdings 
möchte ich die Kommunikation mitlesen.
Ich hab schon ein paar Tools probiert, z.B. apispy, aber entweder es 
konnte nur Windows-Api Calls oder ich konnte die DLL nicht auswählen.

Gruß
Roland

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich glaube nicht das das so einfach geht wie dur dir vorstellst.

wenn die DLL z.b. ein Funktion hat

GetObject();

und dann das Zurückgegebene Object nur verwendet wird, wirst du nie 
etwas sehen weil es keine "normalen" dll zugriffe mehr sind. Die Dll 
wird einfach in den Speicher der Anwendung eingeplendet und das wars.

Wenn du wirkich wissen willst was geht, wirs du wohl die komplette 
Anwendung debuggen müssen.

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der (neuere, V2.2) Dependency Walker kann sowas, zumindest zeigt er an 
welche Funktion aus einer DLL im Ablauf aufgerufen wird. Er zeigt 
allerdings nicht an mit welchen Argumenten die Funktionen aufgerufen 
werden falls du sowas suchst.
alt, aber immer noch gut: http://www.dependencywalker.com/

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@JojoS
Er zeigt aber auch nur dynamisch gelinkte DLLs an, alle DLLs die per 
loadlibrary geladen werden zeit er auch nicht an.

Es stehen in den Dll bei einer C schnittstelle auch nur die 
Funktionsnamen drin, es gibt überhaupt keine Möglichkeit zu sehen welche 
Parameter die Funktion benötigt - ausser man setzt sich sehr genau mit 
dem ASM-Code auseinander.

Autor: Fuzzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Roland Praml (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, seh schon, das reverse engineeren wird wohl doch schwieriger als 
ich gedacht habe.

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter: Man kann mit dem DependencyWalker auch ein executable öffnen und 
dann profiling starten, dann werden auch die zur Laufzeit nachgeladenen 
DLLs sowie die Funktionsaufrufe angezeigt. Deshalb ja der Hinweis auf 
die neuere Version, die Uralte die beim VisualStudio 6 dabei war konnte 
nicht tracen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.