hacktricks/reversing/reversing-tools
2024-02-09 02:16:20 +00:00
..
blobrunner.md Translated ['forensics/basic-forensic-methodology/memory-dump-analysis/R 2024-02-09 02:16:20 +00:00
README.md Translated ['forensics/basic-forensic-methodology/memory-dump-analysis/R 2024-02-09 02:16:20 +00:00

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Guide de décompilation Wasm et compilation Wat

Dans le domaine de WebAssembly, les outils de décompilation et de compilation sont essentiels pour les développeurs. Ce guide présente quelques ressources en ligne et logiciels pour manipuler les fichiers Wasm (binaire WebAssembly) et Wat (texte WebAssembly).

Outils en ligne

Solutions logicielles

  • Pour une solution plus robuste, JEB par PNF Software offre des fonctionnalités étendues.
  • Le projet open-source wasmdec est également disponible pour les tâches de décompilation.

Ressources de décompilation .Net

La décompilation des assemblies .Net peut être réalisée avec des outils tels que :

  • ILSpy, qui propose également un plugin pour Visual Studio Code, permettant une utilisation multiplateforme.
  • Pour les tâches de décompilation, modification et recompilation, dnSpy est vivement recommandé. En cliquant avec le bouton droit sur une méthode et en choisissant Modifier la méthode, vous pouvez apporter des modifications au code.
  • dotPeek de JetBrains est une autre alternative pour la décompilation des assemblies .Net.

Amélioration du débogage et du journalisation avec DNSpy

Journalisation DNSpy

Pour journaliser des informations dans un fichier à l'aide de DNSpy, incorporez le snippet de code .Net suivant :

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

Débogage DNSpy

Pour un débogage efficace avec DNSpy, une séquence d'étapes est recommandée pour ajuster les attributs de l'Assembly pour le débogage, en veillant à ce que les optimisations qui pourraient entraver le débogage soient désactivées. Ce processus inclut la modification des paramètres de DebuggableAttribute, la recompilation de l'assembly et l'enregistrement des modifications.

De plus, pour déboguer une application .Net exécutée par IIS, l'exécution de iisreset /noforce redémarre IIS. Pour attacher DNSpy au processus IIS pour le débogage, le guide explique comment sélectionner le processus w3wp.exe dans DNSpy et démarrer la session de débogage.

Pour une vue complète des modules chargés lors du débogage, il est conseillé d'accéder à la fenêtre Modules dans DNSpy, puis d'ouvrir tous les modules et de trier les assemblies pour une navigation et un débogage plus faciles.

Ce guide encapsule l'essence de la décompilation de WebAssembly et .Net, offrant un chemin aux développeurs pour naviguer facilement dans ces tâches.

Décompilateur Java

Pour décompiler le bytecode Java, ces outils peuvent être très utiles :

Débogage des DLL

Utilisation d'IDA

  • Rundll32 est chargé à partir de chemins spécifiques pour les versions 64 bits et 32 bits.
  • Windbg est sélectionné comme débogueur avec l'option de suspension lors du chargement/déchargement de la bibliothèque activée.
  • Les paramètres d'exécution incluent le chemin de la DLL et le nom de la fonction. Cette configuration arrête l'exécution à chaque chargement de DLL.

Utilisation de x64dbg/x32dbg

  • Similaire à IDA, rundll32 est chargé avec des modifications en ligne de commande pour spécifier la DLL et la fonction.
  • Les paramètres sont ajustés pour interrompre à l'entrée de la DLL, permettant de définir un point d'arrêt au point d'entrée de la DLL souhaité.

Images

  • Les points d'arrêt d'exécution et les configurations sont illustrés à travers des captures d'écran.

ARM & MIPS

  • Pour l'émulation, arm_now est une ressource utile.

Shellcodes

Techniques de débogage

  • Blobrunner et jmp2it sont des outils pour allouer des shellcodes en mémoire et les déboguer avec Ida ou x64dbg.
  • Blobrunner versions
  • jmp2it version compilée
  • Cutter offre une émulation de shellcode basée sur une interface graphique et une inspection, mettant en évidence les différences dans le traitement des shellcodes en tant que fichier par rapport au shellcode direct.

Déobfuscation et Analyse

  • scdbg fournit des informations sur les fonctions des shellcodes et des capacités de déobfuscation. %%%bash scdbg.exe -f shellcode # Informations de base scdbg.exe -f shellcode -r # Rapport d'analyse scdbg.exe -f shellcode -i -r # Hooks interactifs scdbg.exe -f shellcode -d # Extraction du shellcode décodé scdbg.exe -f shellcode /findsc # Rechercher le décalage de départ scdbg.exe -f shellcode /foff 0x0000004D # Exécuter à partir du décalage %%%

  • CyberChef pour désassembler les shellcodes : Recette CyberChef

Movfuscator

  • Un obfuscateur qui remplace toutes les instructions par mov.
  • Des ressources utiles incluent une explication YouTube et des diapositives PDF.
  • demovfuscator pourrait inverser l'obfuscation du movfuscator, nécessitant des dépendances comme libcapstone-dev et libz3-dev, et l'installation de keystone.

Delphi

  • Pour les binaires Delphi, IDR est recommandé.

Cours

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :