5

x86 コードをある種のオブジェクト モデルに逆アセンブルし、コードを分析するルーチンを作成するために使用できるライブラリを探しています。x86 コードをテキスト逆アセンブリに変換するライブラリには興味がありません。それらのライブラリはいくつか見つかりましたが、逆アセンブルしたコードの上で何らかの作業を行いたいので、あまり役に立ちません。 . ああ、それを .Net コードにしたいと思います (VB または C# が望ましい)。

4

3 に答える 3

6

私が知る限り、Reflector は x86 をサポートしていません。

あなたの最善の策は、OllyDbg またはIDA Proへのスクリプトまたは COM インターフェイスを使用することです。

余裕があればIDA Proをお勧めします。IDA には非常に豊富な API があり、活発な開発が行われ、多くのドキュメントが用意されています。「-AS」スイッチを使用すると、自律モードで実行できます。コマンド ライン引数の詳細については、http://www.hex-rays.com/idapro/idadoc/417.htmを参照してください。

libdasmにも出くわしましたが、使用したことがないので、どれだけ良いかわかりません。libdasm は C/C++ に似ているため、C# で API ラッパーを簡単に作成できるはずです。

于 2009-05-20T21:13:27.830 に答える
3

ネクロマンシング、かなり時間が経ちました。
はい、実際にはいくつかあります。

Capstone.NET はほぼ完全な機能を備えています (libcapstone-port ARM、ARM64 (別名 ARMv8/AArch64)、M68K、Mips、PowerPC、Sparc、SystemZ、XCore、X86 (X86_64 を含む)。最新のほとんどの CPU 拡張機能をサポートしています):
https ://github.com/9ee1/Capstone.NET
http://www.capstone-engine.org/features.html
(MIT ライセンス)

次に、すでに述べたように、SharpDisasm (libudis-port) があります:
https://sharpdisasm.codeplex.com/
(簡易 BSD ライセンス (BSD))

次に、Reko (x86-DECOMPILER)
https://github.com/uxmal/reko
(GNU General Public License)があります。

ELF ファイルを読み取るための ElfSharp があります:
https://github.com/konrad-kruczynski/elfsharp
(MIT & LLVM ライセンス)

または、次のような PE 形式を読みます:
http://code.cheesydesign.com/?p=572

または PETools を使用:
https://github.com/jsok/PETools
(MIT ライセンス)

lib ファイルを検査するツールもあります:
https://github.com/BlazingHeart/SymbolExplorer

x86 アセンブラ ライブラリもあります:
https://code.google.com/p/managed-x86/

ELF ハッシュ関数
https://damieng.com/blog/2007/11/24/calculating-elf-32-in-c-and-net


さらに、ウィキブックスには専用ページがあります:
https://en.wikibooks. org/wiki/X86_Disassembly/Disassemblyrs_and_Decompilers

Capstone を使用する Snowman-decompiler もあります:
https://github.com/yegord/snowman

完全に管理された x86 アセンブラーもあります: https://github.com/meikeric/managed-x86

于 2015-11-09T10:21:56.963 に答える