HN 日本語サマリー

← 一覧へ戻る
プログラミング

リバースエンジニアリングにおける心理戦

Psychological Warfare in Reverse Engineering (github.com)

72 pointsby theanonymousone4 コメント

要約

REpsychは、プログラムの制御フローグラフ(CFG)から画像を生成する概念実証ツールです。ソース画像をプログラムに変換し、そのCFGが元の画像を視覚的に表現するように設計されています。このツールは、DEF CONのプレゼンテーションで議論された、非真面目な応用例も示唆しています。

全文翻訳

REpsych : リバースエンジニアリングにおける心理戦 github.com/xoreaxeaxeax/repsych // domas // @xoreaxeaxeax 概要 REpsychツールセットは、プログラムの制御フローグラフ(CFG)を通じて画像を生成することを示す概念実証です。典型的な関数のCFG REpsychが生成したCFG このプロジェクトには(それが可能であることを示す以外に)特別な目的はありませんが、DEF CONのプレゼンテーションで(真面目ではない)可能性のある応用例が概説されています。このプログラムは、IDA Proリバースエンジニアリングツールのすべてのテスト済みバージョンで確実に動作し、他のCFGビューア(Hopper、BinNavi、radare2など)では半確実に動作します。 使用法 このツールセットは、ソース画像を、プログラムの制御フローグラフがソース画像を生成するような、機能するプログラムに変換します。画像から新しいプログラムを生成するには: 画像をgfx/フォルダに24 BPPビットマップとして保存します。 プロジェクトのルートディレクトリで「make image」を実行します。ここでimageは拡張子なしの画像名です。2つの機能するプログラムが作成されます:repsych_v1とrepsych_v2。それぞれが、CFGレンダラーがCFGノードを正しく配置することを保証するために異なる戦略を使用します。 ヒント このツールは、ソース画像の各ピクセルに対して基本ブロック(CFGノード)を作成します。そのため、小さなソース画像(100x100以下)を使用するようにしてください。また、CFGビューアで許可されるノード数を増やす必要があるかもしれません。テキストの画像をこのツールの入力として使用する場合、まず画像を2 BPPの白黒ビットマップに変換し、次に24 BPPビットマップに変換してください。これにより、黒と白以外の色が削除され、制御フローグラフで最良の結果が得られます。 例 参考文献 この技術はDEF CONのプレゼンテーションで詳細に概説されています。プレゼンテーションのスライドはこちらで提供されています。 著者 REpsychは、Christopher Domas(@xoreaxeaxeax)による概念実証です。