hacktricks/reversing/reversing-tools/README.md
2024-02-10 15:36:32 +00:00

8.6 KiB

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Wasm-Dekompilations- und Wat-Kompilationsanleitung

Im Bereich von WebAssembly sind Tools zur Dekompilierung und Kompilierung für Entwickler unerlässlich. Diese Anleitung stellt einige Online-Ressourcen und Software zur Handhabung von Wasm (WebAssembly-Binärdateien) und Wat (WebAssembly-Textdateien) vor.

Online-Tools

Softwarelösungen

  • Für eine robustere Lösung bietet JEB von PNF Software umfangreiche Funktionen.
  • Das Open-Source-Projekt wasmdec steht ebenfalls für Dekompilationsaufgaben zur Verfügung.

.Net-Dekompilationsressourcen

Die Dekompilierung von .Net-Assemblys kann mit Tools wie folgenden durchgeführt werden:

  • ILSpy, das auch ein Plugin für Visual Studio Code bietet, das eine plattformübergreifende Verwendung ermöglicht.
  • Für Aufgaben, die Dekompilierung, Modifikation und Rekompilierung umfassen, wird dnSpy empfohlen. Durch Klicken mit der rechten Maustaste auf eine Methode und Auswahl von Modify Method können Codeänderungen vorgenommen werden.
  • JetBrains' dotPeek ist eine weitere Alternative zur Dekompilierung von .Net-Assemblys.

Verbessern von Debugging und Protokollierung mit DNSpy

DNSpy-Protokollierung

Um Informationen in einer Datei mit DNSpy zu protokollieren, fügen Sie den folgenden .Net-Codeausschnitt ein:

%%%cpp using System.IO; path = "C:\inetpub\temp\MyTest2.txt"; File.AppendAllText(path, "Password: " + password + "\n"); %%%

DNSpy-Debugging

Für effektives Debugging mit DNSpy wird eine Abfolge von Schritten empfohlen, um Assembly-Attribute für das Debugging anzupassen und sicherzustellen, dass Optimierungen, die das Debugging behindern könnten, deaktiviert sind. Dieser Prozess umfasst das Ändern der Einstellungen des DebuggableAttribute, das Rekompilieren der Assembly und das Speichern der Änderungen.

Darüber hinaus wird zum Debuggen einer .Net-Anwendung, die von IIS ausgeführt wird, durch Ausführen von iisreset /noforce IIS neu gestartet. Um DNSpy an den IIS-Prozess zum Debuggen anzuhängen, wird in der Anleitung erklärt, wie der w3wp.exe-Prozess in DNSpy ausgewählt und die Debugging-Sitzung gestartet wird.

Um eine umfassende Ansicht der geladenen Module während des Debuggings zu erhalten, wird empfohlen, das Fenster Modules in DNSpy zu öffnen, alle Module zu öffnen und Assemblys zur einfacheren Navigation und zum Debugging zu sortieren.

Diese Anleitung fasst das Wesentliche der WebAssembly- und .Net-Dekompilierung zusammen und bietet Entwicklern einen Weg, diese Aufgaben mühelos zu bewältigen.

Java-Dekompiler

Zur Dekompilierung von Java-Bytecode können diese Tools sehr hilfreich sein:

Debugging von DLLs

Mit IDA

  • Rundll32 wird aus bestimmten Pfaden für 64-Bit- und 32-Bit-Versionen geladen.
  • Windbg wird als Debugger ausgewählt und die Option zum Anhalten beim Laden/Entladen der Bibliothek aktiviert.
  • Die Ausführungsparameter umfassen den DLL-Pfad und den Funktionsnamen. Diese Konfiguration stoppt die Ausführung bei jedem Laden der DLL.

Mit x64dbg/x32dbg

  • Ähnlich wie bei IDA wird rundll32 mit Befehlszeilenmodifikationen geladen, um die DLL und die Funktion anzugeben.
  • Die Einstellungen werden so angepasst, dass beim DLL-Eintritt ein Breakpoint gesetzt werden kann.

Bilder

  • Die Ausführungsstopppunkte und Konfigurationen werden durch Screenshots veranschaulicht.

ARM & MIPS

  • Für die Emulation ist arm_now eine nützliche Ressource.

Shellcodes

Debugging-Techniken

  • Blobrunner und jmp2it sind Tools zum Zuweisen von Shellcodes im Speicher und zum Debuggen mit Ida oder x64dbg.
  • Blobrunner Releases
  • jmp2it kompilierte Version
  • Cutter bietet eine GUI-basierte Emulation und Inspektion von Shellcodes und hebt Unterschiede in der Behandlung von Shellcodes als Datei im Vergleich zu direktem Shellcode hervor.

Deobfuscation und Analyse

  • scdbg bietet Einblicke in Shellcode-Funktionen und Deobfuscation-Fähigkeiten. %%%bash scdbg.exe -f shellcode # Grundlegende Informationen scdbg.exe -f shellcode -r # Analysebericht scdbg.exe -f shellcode -i -r # Interaktive Hooks scdbg.exe -f shellcode -d # Dekodierten Shellcode ablegen scdbg.exe -f shellcode /findsc # Startoffset finden scdbg.exe -f shellcode /foff 0x0000004D # Von Offset ausführen %%%

  • CyberChef zur Disassemblierung von Shellcode: CyberChef-Rezept

Movfuscator

  • Ein Obfuscator, der alle Anweisungen durch mov ersetzt.
  • Nützliche Ressourcen sind eine YouTube-Erklärung und PDF-Folien.
  • demovfuscator kann die Obfuscation von movfuscator umkehren, erfordert Abhängigkeiten wie libcapstone-dev und libz3-dev und die Installation von keystone.

Delphi

  • Für Delphi-Binärdateien wird IDR empfohlen.

Kurse

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: