hacktricks/reversing/reversing-tools/README.md

11 KiB
Raw Permalink Blame History

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}

Посібник з декомпіляції Wasm та компіляції Wat

У сфері WebAssembly інструменти для декомпіляції та компіляції є необхідними для розробників. Цей посібник представляє деякі онлайн-ресурси та програмне забезпечення для роботи з Wasm (бінарний формат WebAssembly) та Wat (текстовий формат WebAssembly) файлами.

Онлайн інструменти

Програмні рішення

  • Для більш надійного рішення, JEB від PNF Software пропонує розширені функції.
  • Відкритий проект wasmdec також доступний для завдань декомпіляції.

Ресурси для декомпіляції .Net

Декомпіляцію .Net збірок можна виконати за допомогою таких інструментів:

  • ILSpy, який також пропонує плагін для Visual Studio Code, що дозволяє крос-платформне використання.
  • Для завдань, що включають декомпіляцію, модифікацію та рекомпіляцію, dnSpy настійно рекомендується. Клацання правою кнопкою на методі та вибір Modify Method дозволяє вносити зміни в код.
  • JetBrains' dotPeek є ще одним альтернативним інструментом для декомпіляції .Net збірок.

Покращення налагодження та ведення журналів з DNSpy

Ведення журналів DNSpy

Щоб записати інформацію у файл за допомогою DNSpy, включіть наступний фрагмент коду .Net:

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

Налагодження DNSpy

Для ефективного налагодження з DNSpy рекомендується виконати послідовність кроків для налаштування атрибутів збірки для налагодження, забезпечуючи, щоб оптимізації, які можуть заважати налагодженню, були вимкнені. Цей процес включає зміну налаштувань DebuggableAttribute, рекомпіляцію збірки та збереження змін.

Більше того, щоб налагодити .Net додаток, запущений через IIS, виконання iisreset /noforce перезапускає IIS. Щоб приєднати DNSpy до процесу IIS для налагодження, посібник інструктує про вибір процесу w3wp.exe в DNSpy та початок сесії налагодження.

Для всебічного перегляду завантажених модулів під час налагодження рекомендується отримати доступ до вікна Modules в DNSpy, після чого відкрити всі модулі та відсортувати збірки для легшої навігації та налагодження.

Цей посібник охоплює суть декомпіляції WebAssembly та .Net, пропонуючи шлях для розробників, щоб легко виконувати ці завдання.

Java Декомпілятор

Для декомпіляції Java байт-коду ці інструменти можуть бути дуже корисними:

Налагодження DLL

Використання IDA

  • Rundll32 завантажується з певних шляхів для 64-бітних та 32-бітних версій.
  • Windbg обирається як налагоджувач з можливістю призупинення при завантаженні/вивантаженні бібліотеки.
  • Параметри виконання включають шлях до DLL та ім'я функції. Ця конфігурація зупиняє виконання при кожному завантаженні DLL.

Використання x64dbg/x32dbg

  • Подібно до IDA, rundll32 завантажується з модифікаціями командного рядка для вказівки DLL та функції.
  • Налаштування коригуються для зупинки на вході DLL, що дозволяє встановлювати точки зупинки на бажаній точці входу DLL.

Зображення

  • Точки зупинки виконання та конфігурації ілюструються через скріншоти.

ARM & MIPS

  • Для емуляції arm_now є корисним ресурсом.

Shellcodes

Техніки налагодження

  • Blobrunner та jmp2it є інструментами для виділення shellcodes в пам'яті та їх налагодження з Ida або x64dbg.
  • Blobrunner релізи
  • jmp2it скомпільована версія
  • Cutter пропонує емуляцію shellcode на основі GUI та інспекцію, підкреслюючи відмінності в обробці shellcode як файлу в порівнянні з прямим shellcode.

Деобфускація та аналіз

  • scdbg надає інформацію про функції shellcode та можливості деобфускації. %%%bash scdbg.exe -f shellcode # Основна інформація scdbg.exe -f shellcode -r # Звіт з аналізу scdbg.exe -f shellcode -i -r # Інтерактивні хуки scdbg.exe -f shellcode -d # Вивантажити декодований shellcode scdbg.exe -f shellcode /findsc # Знайти початковий зсув scdbg.exe -f shellcode /foff 0x0000004D # Виконати з зсуву %%%

  • CyberChef для дизасемблювання shellcode: Рецепт CyberChef

Movfuscator

  • Обфускатор, який замінює всі інструкції на mov.
  • Корисні ресурси включають пояснення на YouTube та PDF слайди.
  • demovfuscator може скасувати обфускацію movfuscator, вимагаючи залежностей, таких як libcapstone-dev та libz3-dev, а також встановлення keystone.

Delphi

  • Для бінарних файлів Delphi рекомендується IDR.

Курси

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}