hacktricks/reversing/reversing-tools/README.md
2024-02-11 01:46:25 +00:00

8.1 KiB

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Przewodnik po dekompilacji Wasm i kompilacji Wat

W dziedzinie WebAssembly narzędzia do dekompilacji i kompilacji są niezbędne dla programistów. Ten przewodnik przedstawia kilka zasobów online i oprogramowania do obsługi plików Wasm (binarny WebAssembly) i Wat (tekstowy WebAssembly).

Narzędzia online

Rozwiązania oprogramowania

  • Dla bardziej zaawansowanego rozwiązania, JEB od PNF Software oferuje rozległe funkcje.
  • Projekt open-source wasmdec jest również dostępny do zadań związanych z dekompilacją.

Zasoby do dekompilacji .Net

Dekompilację zestawów .Net można przeprowadzić za pomocą takich narzędzi jak:

  • ILSpy, które oferuje również wtyczkę dla Visual Studio Code, umożliwiającą użycie na różnych platformach.
  • Do zadań związanych z dekompilacją, modyfikacją i rekompilacją, zaleca się dnSpy. Wybierając prawym przyciskiem myszy metodę i wybierając opcję Modify Method, można dokonywać zmian w kodzie.
  • dotPeek od JetBrains to kolejna alternatywa do dekompilacji zestawów .Net.

Udoskonalanie debugowania i logowania za pomocą DNSpy

Logowanie w DNSpy

Aby zapisywać informacje do pliku za pomocą DNSpy, należy dołączyć następujący fragment kodu .Net:

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

Debugowanie w DNSpy

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

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

Aby uzyskać kompleksowy widok załadowanych modułów podczas debugowania, zaleca się uzyskanie dostępu do okna Modules w DNSpy, a następnie otwarcie wszystkich modułów i posortowanie zestawów dla ułatwienia nawigacji i debugowania.

Ten przewodnik zawiera istotę dekompilacji WebAssembly i .Net, oferując programistom łatwą ścieżkę do poruszania się w tych zadaniach.

Dekompilator Java

Aby zdekompilować kod bajtowy Javy, mogą być bardzo pomocne następujące narzędzia:

Debugowanie DLL

Za pomocą IDA

  • Rundll32 jest ładowany z określonych ścieżek dla wersji 64-bitowej i 32-bitowej.
  • Jako debugger wybrano Windbg z włączoną opcją wstrzymywania ładowania/odładowywania bibliotek.
  • Parametry wykonania obejmują ścieżkę DLL i nazwę funkcji. Ta konfiguracja zatrzymuje wykonanie przy każdym ładowaniu DLL.

Za pomocą x64dbg/x32dbg

  • Podobnie jak w przypadku IDA, rundll32 jest ładowany z modyfikacjami w wierszu polecenia, aby określić DLL i funkcję.
  • Ustawienia są dostosowane do zatrzymywania na wejściu do DLL, umożliwiając ustawienie punktu przerwania w pożądanym punkcie wejścia do DLL.

Obrazy

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

ARM i MIPS

  • Do emulacji przydatne jest narzędzie arm_now.

Kody Shell

Techniki debugowania

  • Narzędzia Blobrunner i jmp2it służą do alokowania kodów shell w pamięci i debugowania ich za pomocą Ida lub x64dbg.
  • Blobrunner wersje
  • jmp2it skompilowana wersja
  • Cutter oferuje emulację i inspekcję kodów shell w oparciu o interfejs graficzny, podkreślając różnice w obsłudze kodów shell jako pliku w porównaniu do bezpośredniego kodu shell.

Deobfuskacja i analiza

  • scdbg dostarcza informacji o funkcjach kodów shell i możliwości deobfuskacji. %%%bash scdbg.exe -f shellcode # Podstawowe informacje scdbg.exe -f shellcode -r # Raport analizy scdbg.exe -f shellcode -i -r # Interaktywne hooki scdbg.exe -f shellcode -d # Zrzut zdekodowanego kodu shell scdbg.exe -f shellcode /findsc # Znajdź przesunięcie początkowe scdbg.exe -f shellcode /foff 0x0000004D # Wykonaj od przesunięcia %%%

  • CyberChef do rozkładania kodów shell: Przepis CyberChef

Movfuscator

Delphi

  • Dla plików binarnych Delphi zaleca się użycie IDR.

Kursy

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: