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

htARTEHackTricks AWS Red Team Expert を通じて、ゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法

Wasm Decompilation and Wat Compilation Guide

WebAssemblyの世界では、decompilingcompilingのためのツールは開発者にとって不可欠です。このガイドでは、**WasmWebAssemblyバイナリWatWebAssemblyテキスト**ファイルを扱うためのいくつかのオンラインリソースやソフトウェアを紹介します。

オンラインツール

ソフトウェアソリューション

  • より堅牢なソリューションとして、PNF SoftwareのJEBが包括的な機能を提供しています。
  • オープンソースプロジェクトであるwasmdecもdecompilationタスクに利用できます。

.Net Decompilation Resources

.Netアセンブリのdecompilingは、次のようなツールを使用して行うことができます

  • ILSpyは、Visual Studio Code用のプラグインも提供しており、クロスプラットフォームで使用できます。
  • decompilationmodificationrecompilationを含むタスクには、dnSpyが強く推奨されています。メソッドを右クリックしてModify Methodを選択すると、コードの変更が可能です。
  • JetBrainsのdotPeekも、.Netアセンブリのdecompilingに対する別の選択肢です。

DNSpyを使用したデバッグとロギングの強化

DNSpy Logging

DNSpyを使用して情報をファイルに記録するには、次の.Netコードスニペットを組み込みます

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

DNSpy Debugging

DNSpyを使用した効果的なデバッグのためには、デバッグを妨げる可能性のある最適化が無効になっていることを確認するために、Assembly属性を調整するための手順のシーケンスが推奨されます。このプロセスには、DebuggableAttributeの設定の変更、アセンブリの再コンパイル、および変更の保存が含まれます。

さらに、IISで実行される.Netアプリケーションをデバッグするには、iisreset /noforceを実行してIISを再起動します。デバッグのためにDNSpyをIISプロセスにアタッチするには、DNSpy内でw3wp.exeプロセスを選択し、デバッグセッションを開始します。

デバッグ中にロードされたモジュールの包括的な表示を得るためには、DNSpyのModulesウィンドウにアクセスし、すべてのモジュールを開き、アセンブリをソートしてナビゲーションとデバッグを容易にすることが推奨されます。

このガイドは、WebAssemblyと.Netのdecompilationの本質を網羅し、開発者がこれらのタスクを簡単に行えるようにする経路を提供しています。

Java Decompiler

Javaバイトコードをdecompileするために、これらのツールが非常に役立ちます

DLLのデバッグ

IDAを使用する

  • Rundll32は、64ビットおよび32ビットバージョン用に特定のパスからロードされます。
  • Windbgは、ライブラリのロード/アンロード時に中断するオプションでデバッガとして選択されます。
  • 実行パラメータには、DLLパスと関数名が含まれます。このセットアップにより、各DLLのロード時に実行が停止します。

x64dbg/x32dbgを使用する

  • IDAと同様に、rundll32がDLLと関数を指定するためのコマンドラインの変更でロードされます。
  • 設定は、DLLエントリポイントでのブレークポイント設定を許可するように調整されます。

画像

  • 実行停止ポイントと構成は、スクリーンショットを通じて示されます。

ARMMIPS

  • エミュレーションには、arm_nowが便利なリソースです。

Shellcodes

デバッグテクニック

  • Blobrunnerjmp2itは、メモリにシェルコードを割り当て、Idaまたはx64dbgでデバッグするためのツールです。
  • Blobrunner リリース
  • jmp2it コンパイル済みバージョン
  • Cutterは、GUIベースのシェルコードエミュレーションと検査を提供し、ファイルと直接シェルコードとしてのシェルコード処理の違いを強調します。

Deobfuscation and Analysis

  • scdbgは、シェルコードの機能とdeobfuscation機能を提供します。 %%%bash scdbg.exe -f shellcode # 基本情報 scdbg.exe -f shellcode -r # 分析レポート scdbg.exe -f shellcode -i -r # インタラクティブフック scdbg.exe -f shellcode -d # デコードされたシェルコードをダンプ scdbg.exe -f shellcode /findsc # 開始オフセットを検索 scdbg.exe -f shellcode /foff 0x0000004D # オフセットから実行 %%%

  • CyberChefを使用してシェルコードを逆アセンブルする:CyberChefレシピ

Movfuscator

  • すべての命令をmovで置き換える難読化ツール。
  • 有用なリソースには、YouTubeの説明PDFスライドが含まれます。
  • demovfuscatorは、movfuscatorの難読化を逆転させるかもしれませんが、libcapstone-devlibz3-devなどの依存関係が必要であり、keystoneのインストールが必要です。

Delphi

  • Delphiバイナリには、IDRが推奨されています。

Courses

htARTEHackTricks AWS Red Team Expert を通じて、ゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法