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

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie dla HackTricks
{% endhint %}

Przewodnik po dekompilacji Wasm i kompilacji Wat

W dziedzinie WebAssembly narzędzia do dekompilacji i kompilacji są niezbędne dla programistów. Ten przewodnik wprowadza niektóre zasoby online i oprogramowanie do obsługi plików Wasm (WebAssembly binary) i Wat (WebAssembly text).

Narzędzia online

Rozwiązania programowe

  • Dla bardziej zaawansowanego rozwiązania, JEB od PNF Software oferuje rozbudowane funkcje.
  • Otwarty projekt wasmdec jest również dostępny do zadań dekompilacji.

Zasoby do dekompilacji .Net

Dekompilacja zestawów .Net może być realizowana za pomocą narzędzi takich jak:

  • ILSpy, które oferuje również wtyczkę do Visual Studio Code, umożliwiającą użycie na różnych platformach.
  • Do zadań związanych z dekompilacją, modyfikacją i rekompilacją zaleca się dnSpy. Kliknięcie prawym przyciskiem na metodzie i wybranie Modify Method umożliwia zmiany w kodzie.
  • dotPeek od JetBrains to kolejna alternatywa do dekompilacji zestawów .Net.

Ulepszanie debugowania i logowania z DNSpy

Logowanie DNSpy

Aby logować informacje do pliku za pomocą DNSpy, wprowadź następujący fragment kodu .Net:

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

Debugowanie DNSpy

Aby skutecznie debugować za pomocą DNSpy, zaleca się sekwencję kroków w celu dostosowania atrybutów zestawu do debugowania, zapewniając, że optymalizacje, które mogą utrudniać debugowanie, są wyłączone. Proces ten obejmuje zmianę ustawień DebuggableAttribute, rekompilację zestawu i zapisanie zmian.

Ponadto, aby debugować aplikację .Net uruchamianą przez IIS, wykonanie iisreset /noforce restartuje IIS. Aby dołączyć DNSpy do procesu IIS w celu debugowania, przewodnik instruuje, aby wybrać proces w3wp.exe w DNSpy i rozpocząć sesję debugowania.

Aby uzyskać pełny widok załadowanych modułów podczas debugowania, zaleca się dostęp do okna Modules w DNSpy, a następnie otwarcie wszystkich modułów i posortowanie zestawów dla łatwiejszej nawigacji i debugowania.

Ten przewodnik podsumowuje istotę dekompilacji WebAssembly i .Net, oferując ścieżkę dla programistów do łatwego poruszania się po tych zadaniach.

Dekompilator Java

Aby dekompilować bajtkod Java, te narzędzia mogą być bardzo pomocne:

Debugowanie DLL

Używając IDA

  • Rundll32 jest ładowany z określonych ścieżek dla wersji 64-bitowych i 32-bitowych.
  • Windbg jest wybierany jako debugger z włączoną opcją wstrzymywania przy ładowaniu/wyładowywaniu biblioteki.
  • Parametry wykonania obejmują ścieżkę DLL i nazwę funkcji. Ta konfiguracja zatrzymuje wykonanie przy każdym ładowaniu DLL.

Używając x64dbg/x32dbg

  • Podobnie jak w IDA, rundll32 jest ładowany z modyfikacjami wiersza poleceń, aby określić DLL i funkcję.
  • Ustawienia są dostosowywane, aby przerwać przy wejściu DLL, co pozwala na ustawienie punktu przerwania w żądanym punkcie wejścia DLL.

Obrazy

  • Punkty zatrzymania wykonania i konfiguracje są ilustrowane za pomocą zrzutów ekranu.

ARM i MIPS

  • Do emulacji, arm_now jest przydatnym zasobem.

Shellcodes

Techniki debugowania

  • Blobrunner i jmp2it to narzędzia do alokacji shellcodów w pamięci i debugowania ich za pomocą Ida lub x64dbg.
  • Blobrunner wydania
  • jmp2it skompilowana wersja
  • Cutter oferuje emulację shellcode w oparciu o GUI i inspekcję, podkreślając różnice w obsłudze shellcode jako pliku w porównaniu do bezpośredniego shellcode.

Deobfuskacja i analiza

  • scdbg dostarcza informacji o funkcjach shellcode i możliwościach deobfuskacji. %%%bash scdbg.exe -f shellcode # Podstawowe informacje scdbg.exe -f shellcode -r # Raport analizy scdbg.exe -f shellcode -i -r # Interaktywne haki scdbg.exe -f shellcode -d # Zrzut zdekodowanego shellcode scdbg.exe -f shellcode /findsc # Znajdź offset startowy scdbg.exe -f shellcode /foff 0x0000004D # Wykonaj z offsetu %%%

  • CyberChef do dezasemblacji shellcode: przepis CyberChef

Movfuscator

  • Obfuskator, który zastępuje wszystkie instrukcje mov.
  • Przydatne zasoby to wyjaśnienie na YouTube i slajdy PDF.
  • demovfuscator może odwrócić obfuskację movfuscatora, wymagając zależności takich jak libcapstone-dev i libz3-dev, oraz instalacji keystone.

Delphi

  • Dla binariów Delphi, zaleca się IDR.

Kursy

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie dla HackTricks
{% endhint %}