tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Guide de Décompilation Wasm et Compilation Wat
Dans le domaine de WebAssembly, les outils pour décompiler et compiler sont essentiels pour les développeurs. Ce guide présente quelques ressources en ligne et logiciels pour gérer les fichiers Wasm (WebAssembly binaire) et Wat (WebAssembly texte).
Outils en Ligne
- Pour décompiler Wasm en Wat, l'outil disponible sur la démo wasm2wat de Wabt est trÚs utile.
- Pour compiler Wat en Wasm, la démo wat2wasm de Wabt remplit cet objectif.
- Une autre option de dĂ©compilation peut ĂȘtre trouvĂ©e sur web-wasmdec.
Solutions Logicielles
- Pour une solution plus robuste, JEB de PNF Software offre des fonctionnalités étendues.
- Le projet open-source wasmdec est également disponible pour des 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 des tùches impliquant décompilation, modification et recompilation, dnSpy est fortement recommandé. Un clic droit sur une méthode et le choix de Modifier la méthode permettent des modifications de code.
- dotPeek de JetBrains est une autre alternative pour décompiler des assemblies .Net.
Amélioration du Débogage et de la Journalisation avec DNSpy
Journalisation DNSpy
Pour enregistrer des informations dans un fichier en utilisant 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 d'assembly pour le débogage, en s'assurant que les optimisations qui pourraient entraver le débogage sont désactivées. Ce processus inclut le changement des paramÚtres DebuggableAttribute
, la recompilation de l'assembly et l'enregistrement des modifications.
De plus, pour déboguer une application .Net exécutée par IIS, exécuter iisreset /noforce
redémarre IIS. Pour attacher DNSpy au processus IIS pour le débogage, le guide indique de sélectionner le processus w3wp.exe dans DNSpy et de commencer la session de débogage.
Pour une vue complĂšte des modules chargĂ©s pendant le dĂ©bogage, il est conseillĂ© d'accĂ©der Ă la fenĂȘtre Modules dans DNSpy, suivie de l'ouverture de tous les modules et du tri des assemblies pour une navigation et un dĂ©bogage plus faciles.
Ce guide encapsule l'essence de la décompilation WebAssembly et .Net, offrant un chemin pour les développeurs afin de naviguer ces tùches avec aisance.
Décompilateur Java
Pour dĂ©compiler le bytecode Java, ces outils peuvent ĂȘtre trĂšs utiles :
Débogage des DLLs
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 suspendre 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 interrompt l'exécution lors du chargement de chaque DLL.
Utilisation de x64dbg/x32dbg
- Semblable à IDA, rundll32 est chargé avec des modifications de 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 par 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 et une inspection de shellcode basées sur une interface graphique, mettant en évidence les différences dans le traitement des shellcodes en tant que fichier par rapport à un shellcode direct.
Déobfuscation et Analyse
-
scdbg fournit des informations sur les fonctions de shellcode et les capacités de déobfuscation. %%%bash scdbg.exe -f shellcode # Infos de base scdbg.exe -f shellcode -r # Rapport d'analyse scdbg.exe -f shellcode -i -r # Hooks interactifs scdbg.exe -f shellcode -d # Dump du shellcode décodé scdbg.exe -f shellcode /findsc # Trouver l'offset de départ scdbg.exe -f shellcode /foff 0x0000004D # Exécuter à partir de l'offset %%%
-
CyberChef pour désassembler le shellcode : recette CyberChef
Movfuscator
- Un obfuscateur qui remplace toutes les instructions par
mov
. - Les ressources utiles incluent une explication YouTube et des diapositives PDF.
- demovfuscator pourrait inverser l'obfuscation de movfuscator, nécessitant des dépendances comme
libcapstone-dev
etlibz3-dev
, et l'installation de keystone.
Delphi
- Pour les binaires Delphi, IDR est recommandé.
Cours
- https://github.com/0xZ0F/Z0FCourse_ReverseEngineering
- https://github.com/malrev/ABD (Déobfuscation binaire)
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.