2016-07-26 19 views
0

Ich versuche, eine EXE-Datei zu debuggen, die eine .net C# Datei ist. Ich habe den Code für diese Datei nicht, daher verwende ich den Immunity Debugger. Allerdings ist schwer Sinn des Codes zu machen, weil alles, was ich sehen kann, ist Anrufe mögen:Wie Debuggen einer C# Binärdatei

CALL clr.AABBCCDD 

Gibt es einen anderen Debugger am besten geeignet zu debuggen C# -Code? Der Code ist verschleiert (ja, es ist eine bösartige Datei) mit einem benutzerdefinierten Obfuscator. UnConfuser, ILSpy, de4dot, .net-Reflektor und ähnliches waren nutzlos. Jedenfalls möchte ich nur den Binärcode verfolgen und ihn eventuell manuell patchen.

Vielen Dank im Voraus.

+0

Ich bin nicht klar über Ihre Situation. Willst du damit sagen, dass du die .NET IL nicht dekompilieren kannst, oder dass du, wenn du es tust, dir C# verdeckt gibst? Was würde ein anderer Debugger/Decompiler Ihnen geben, den Sie noch nicht haben? – Cameron

+0

Ja. Da ich keinen Zugriff auf den Quellcode habe, weil er verschleiert ist, habe ich versucht, ihn zu debuggen. Wie gesagt, Immunität ist nicht sehr hilfreich. Also meine Frage ist ... Was ist der beste Debugger, um über Binärcode, der von .net C# generiert wird, zu treten. – flexow

+0

Es hängt stark davon ab, wie die Verschleierung durchgeführt wurde und welche Art von Informationen übrig sind. Im schlimmsten Fall erhalten Sie nur eine vollständig native App und können MSIL überhaupt nicht sehen, und dann kann keine verwaltete Debuggerfahrung erreicht werden. –

Antwort

0

Die Kombination aus Low-Level-Debugging, .NET-Unterstützung und fehlendem Quellcode schlägt vor, , und zusammen zu verwenden. Wenn Sie sich wiederholende Aufgaben automatisieren müssen, fügen Sie hinzu.

Vorteile sind:

  • x64-Unterstützung (die nicht alle Debugger haben)
  • Microsoft-Toolchain, die meisten offiziellen .NET-Unterstützung
  • das ursprüngliche Verhalten von .NET als gegeben haben muss, nicht ein neu kompiliert modifizierte Version der binären

Nachteile wird, die bleiben:

  • kein IL-Code-Stepping. Sie werden Schritt noch in nativen x86-Code (JIT-kompiliert)

Mögliche andere Nachteile:

  • hart in sie zu erhalten. Kryptische Befehle.
Verwandte Themen