web-dev-qa-db-ja.com

良いC逆コンパイラとは何ですか?

Cプログラムの逆コンパイラを探しています。バイナリは32ビットのx86 Linux実行可能ファイルです。 Objdumpは正常に機能するため、基本的に、asmソースからCソースを再構築しようとするものを探しています。

91
Sec

16進数を2番目に使用しますが、そのコストを正当化できない場合は、 Boomerang が機能する可能性があります。

60
Cody Brocious

余裕がある場合は、 Hex-Rays Decompiler を使用する価値があります。 :-)

20

IDAが役立つ限り、かなりの費用がかかります。特定のユースケースについてはわかりませんが、 Plasma は「Plasmaはx86/ARM/MIPS用のインタラクティブな逆アセンブラです。色付きの構文でインデントされた擬似コードを生成できます」というトリックを行うようです。

IDAに似たものを探している場合は、 Radare2 を強くお勧めします。また、 ODA the online dissembler 何かをインストールする気にならない場合のためにあります。

新しい追加機能は Binary Ninja で、IDAやRadareの機能にまだ近いものではありませんが、初心者にとっては安価で優れたユーティリティです。

更新:このコメント以来、NSAはリリースされました Ghidra これは完全にオープンソースで無料です。これは、ハイエンドの逆コンパイラを備えた本格的なREフレームワークです。

10
GelosSnake

バイナリ逆コンパイル用に、Hopper https://www.hopperapp.com の個人ライセンスを購入しました。

利点は次のとおりです。

  • 直感的でよく考えられたグラフィカルインターフェイスを備えています。
  • macOSおよびLinuxで実行されます。
  • 合理的なCのような逆コンパイラ出力を提供します。
  • 32ビットand64ビットバイナリを逆コンパイルします。
  • mach-Oバイナリ(MacおよびiOS)、PE32/32 +/64 Windowsバイナリ、およびELFバイナリをサポート。
  • 非常に定期的な無料アップデートがあります。
  • 約100米ドルのライセンス価格に勝るものはありません。

IMO、コスト/品質の比はIDA/Hex-raysをかなり簡単に破り、他の商用(または無料の)逆コンパイラーをほこりの中に残します。

さらに、試してみるか、デモ版を使用してその感覚をつかみ、無料で(非常に)小さな実行可能ファイルを逆コンパイルできます。

Hopper

これから(2019年3月)、代替手段として、NSAから Ghidra も取得できます。 Ghidraは、JDK 11がインストールされている限り、Linux、Mac、Windowsで動作します。 「X/Raysに匹敵する無料のツールとして」提供されます。

Ghidra

ギドラはより強力に感じますが、ホッパーはまだより直感的に見えます。

参照: PepperMalwareブログ-NSAのGhidra SREフレームワークを使用したTrickbotサンプルのクイック分析

8
Rui F Ribeiro

スノーマン( http://derevenets.com )いいね生成されたコードは混乱していますが、動作します。

4
Corey Kennedy