hacktricks/reversing/reversing-tools
2024-07-19 10:13:27 +00:00
..
blobrunner.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:13:27 +00:00
README.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:13:27 +00:00

{% hint style="success" %} Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}

Guida alla Decompilazione Wasm e Compilazione Wat

Nel campo del WebAssembly, gli strumenti per decompilare e compilare sono essenziali per gli sviluppatori. Questa guida introduce alcune risorse online e software per gestire i file Wasm (WebAssembly binary) e Wat (WebAssembly text).

Strumenti Online

Soluzioni Software

  • Per una soluzione più robusta, JEB di PNF Software offre funzionalità estese.
  • Il progetto open-source wasmdec è anche disponibile per compiti di decompilazione.

Risorse per la Decompilazione .Net

Decompilare assembly .Net può essere realizzato con strumenti come:

  • ILSpy, che offre anche un plugin per Visual Studio Code, consentendo l'uso multipiattaforma.
  • Per compiti che coinvolgono decompilazione, modifica e ricompilazione, dnSpy è altamente raccomandato. Facendo clic con il tasto destro su un metodo e scegliendo Modifica Metodo consente modifiche al codice.
  • dotPeek di JetBrains è un'altra alternativa per decompilare assembly .Net.

Migliorare il Debugging e il Logging con DNSpy

Logging DNSpy

Per registrare informazioni in un file utilizzando DNSpy, integra il seguente frammento di codice .Net:

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

Debugging DNSpy

Per un debugging efficace con DNSpy, si raccomanda una sequenza di passaggi per regolare gli attributi dell'Assembly per il debugging, assicurandosi che le ottimizzazioni che potrebbero ostacolare il debugging siano disabilitate. Questo processo include la modifica delle impostazioni di DebuggableAttribute, la ricompilazione dell'assembly e il salvataggio delle modifiche.

Inoltre, per eseguire il debug di un'applicazione .Net eseguita da IIS, eseguire iisreset /noforce riavvia IIS. Per allegare DNSpy al processo IIS per il debugging, la guida istruisce sulla selezione del processo w3wp.exe all'interno di DNSpy e sull'avvio della sessione di debugging.

Per una visione completa dei moduli caricati durante il debugging, è consigliato accedere alla finestra Moduli in DNSpy, seguita dall'apertura di tutti i moduli e dall'ordinamento degli assembly per una navigazione e un debugging più facili.

Questa guida racchiude l'essenza della decompilazione di WebAssembly e .Net, offrendo un percorso per gli sviluppatori per affrontare questi compiti con facilità.

Decompilatore Java

Per decompilare bytecode Java, questi strumenti possono essere molto utili:

Debugging DLL

Utilizzando IDA

  • Rundll32 viene caricato da percorsi specifici per versioni a 64 bit e 32 bit.
  • Windbg è selezionato come debugger con l'opzione di sospendere il caricamento/scaricamento della libreria abilitata.
  • I parametri di esecuzione includono il percorso DLL e il nome della funzione. Questa configurazione interrompe l'esecuzione al caricamento di ogni DLL.

Utilizzando x64dbg/x32dbg

  • Simile a IDA, rundll32 viene caricato con modifiche alla riga di comando per specificare la DLL e la funzione.
  • Le impostazioni vengono modificate per interrompere l'ingresso nella DLL, consentendo di impostare un breakpoint nel punto di ingresso desiderato della DLL.

Immagini

  • I punti di arresto dell'esecuzione e le configurazioni sono illustrati tramite screenshot.

ARM & MIPS

  • Per l'emulazione, arm_now è una risorsa utile.

Shellcodes

Tecniche di Debugging

  • Blobrunner e jmp2it sono strumenti per allocare shellcode in memoria e debugarli con Ida o x64dbg.
  • Blobrunner rilasci
  • jmp2it versione compilata
  • Cutter offre emulazione e ispezione di shellcode basata su GUI, evidenziando le differenze nella gestione del shellcode come file rispetto al shellcode diretto.

Deobfuscazione e Analisi

  • scdbg fornisce informazioni sulle funzioni del shellcode e capacità di deobfuscazione. %%%bash scdbg.exe -f shellcode # Info di base scdbg.exe -f shellcode -r # Rapporto di analisi scdbg.exe -f shellcode -i -r # Hook interattivi scdbg.exe -f shellcode -d # Dump del shellcode decodificato scdbg.exe -f shellcode /findsc # Trova offset di inizio scdbg.exe -f shellcode /foff 0x0000004D # Esegui dall'offset %%%

  • CyberChef per disassemblare shellcode: Ricetta CyberChef

Movfuscator

  • Un offuscante che sostituisce tutte le istruzioni con mov.
  • Risorse utili includono una spiegazione su YouTube e diapositive PDF.
  • demovfuscator potrebbe invertire l'offuscamento di movfuscator, richiedendo dipendenze come libcapstone-dev e libz3-dev, e installando keystone.

Delphi

  • Per i binari Delphi, si raccomanda IDR.

Corsi

{% hint style="success" %} Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}