Frage

. Kurz: ich aus einer Anwendung ausgewählten Anrufe überwachen möchten auf eine DLL

Wir haben eine alte VB6-Anwendung, für die wir den Quellcode verloren (das Unternehmen nicht Quellcodeverwaltung verwendet wurde damals ..). Diese Anwendung verwendet einen 3rd-Party-DLL.

Ich mag diese DLL in einer neuen C ++ Anwendung verwenden. Leider ist nur die DLL API teilweise dokumentiert, damit ich weiß nicht, wie einige Funktionen aufrufen. Ich die Funktionen Signatur haben.

Da die VB6-Anwendung diese DLL verwendet, möchte ich sehen, wie es mehrere Funktionen aufruft. Bisher habe ich versucht, oder sah -

  1. APIHijack - erfordert mir C ++ Code für jede Funktion zu schreiben. Da ich nur die Werte protokollieren müssen, scheint es wie ein Overkill.
  2. EasyHook -. Wie 1, aber erlaubt es in dem Code in .NET-Sprache zu schreiben
  3. OllyDbg mit uHooker - ich habe immer noch Code schreiben für jede Funktion, diesmal in Python. Außerdem habe ich viele Konvertierungen in Python mit dem struct Modul zu tun, da die meisten Funktionen Werte mit Zeigern übergeben.

Da ich nur Funktionen Parameter müssen sich einloggen möchte ich eine einfache Lösung. Gibt es ein automatisches Werkzeug, für die ich die Funktionen zu überwachen und ihre Unterschrift, und dann erhalte eine detaillierte Protokolldatei sagen könnte?

War es hilfreich?

Lösung 2

Einige weitere Google-Suche gefunden, was ich suchte: WinAPIOverride32 . Es ermöglicht Schreiben von Text-Dateien wie zum Beispiel:

CustomApi.dll|void NameOfFunction(long param1, double& param2);

Später können diese Dateien innerhalb des Programms verwendet werden, um sich einzuloggen alle NameOfFunction aufruft. Jetzt brauche ich nur, um herauszufinden, wie Arrays und Structs Parameter loggen sein.

Andere Tipps

Eine "statische" Lösung (im Sinne es einen Stack-Trace auf Nachfrage erfassen kann) sei Process Monitor .

Process Monitor

Eine dynamische Lösung wäre ApiMonitor , aber es kann zu alt sein, kompatibel zu sein mit der Programme zu überwachen. Worth obwohl ein Versuch.

 http://www.rohitab.com/gallery/api-monitor-2-0/main-window.png

Visual Studio Addin Runtime Fluss hier :

  

Runtime Fluss in Echtzeit überwacht und protokolliert Funktionsaufrufe und   Funktionsparameter in Ihrer .NET-Anwendung ausgeführt und zeigt einen Stapel   Spuren Baum. Keine Instrumentierung oder Quellcode erforderlich für die Überwachung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top