(非 .NET) Windows PE ファイル (*.exe または *.dll) から「適切な」逆アセンブリ リストを生成できる (できれば無料の) ツールを探しています。
重要な要件: Windows アセンブラー (nasm、masm など) を介してリストを実行し、再び実行可能な exe を取得できる必要があります (必ずしも元のものと同じである必要はありませんが、同じように動作する必要があります)。
ソースが利用できない場合に、新しいサブルーチンを既存のコードに追加することを目的としています。
理想的には、ツールは関数/セグメントの境界、API 呼び出しを検出し、ジャンプの適切なラベルを生成できる必要があります (ただし、ループ/ジャンプのラベルがなくても生活できますが、関数の境界検出は便利です)、プログラム リソース/セグメントを保持します。所定の位置に。
IdaPRO(無料ではない)、OllyDBG(インプレースハッキングに便利、逆アセンブリリストを生成しない、AFAIK)、ndisasm(出力はアセンブラーには適していません)、dumpbin(便利ですが、AFAIK、出力アセンブラーには適していません) および「プロキシ dll」手法。
アイデア?あるいは、ある種の代替アプローチを説明する本/チュートリアルがありますか?