2017-12-01 7 views
0

私は一度有効なPE実行可能ファイルだったが、すべてのヘッダが消去されたバイナリファイルを持っています(DOSヘッダ、PEヘッダ、セクションテーブル)。私はIDAのasmに変換された場合、有効なasmコードを表示するので、あるセクションが.textであると推測しました。 .rdataには、プログラムのロジックに対応する文字列が含まれているため、簡単に見つけられました。しかし、それ以上の進歩はありません。私はこの問題に直面した最初の人ではないと思うし、PEヘッダーを生成するツールやメソッドがある。助言がありますか?不足しているPEヘッダーをどのように復元しますか?

+0

でTLSのFLSを持っている場合は再コンパイル+ソースをダウンロード? (私は、明らかなバックアップ復元オプションの後に)(バックアップデータの2つのカテゴリのみがあります:1)バックアップのバックアップ2)失われた(そして、一時的な状態の間に、2つのうちの1つに高いボラティリティがあります) – Ped7g

+1

:どのようなファイル形式ですか?ヘッダーのない特定のアドレスまたはヘッダーを持つ別のファイル形式のプレーンなロー・メモリー・コンテンツのみ? PEヘッダーを正確に復元することはできません。しかし、ファイルの "単純化された" PEヘッダーを作成できるかもしれません。しかし、ファイルを使って何をしたいかによっては(例えば、ファイルを実行したり、ファイルをいくつかのツールに渡すなど)、異なるレベルの「簡素化」が必要です。したがって、2番目の質問:復元されたファイルで何をしたいですか? –

+0

@ Ped7g残念ながら、ソースはありません。 – tna0y

答えて

1

は、私はあなたが

  • (バイナリが始まる)のエントリポイント
  • 再配置を修正することができなかったいくつかの問題を抱えているだろうと思います(しかし、あなたはそれをスキップするためにベースアドレスを修正することができます)
  • ベースアドレス(一般的には、それは常に同じであるだけで、それはx86またはx64かどうかを知る必要があります)
  • ライブラリは、それとはextern関数
  • を使用し、おそらくインスタンスのリソース教材はのためのリソースを作成py2exe Pythonのバイトコード
  • と最後のもの府確かにいくつかの他のバイナリ
+1

逆アセンブルを見てエントリポイントを見つける運があるかもしれません。定型的なCRTコードに入っているといいでしょう。他の実行ファイルのエントリポイントを見て、ヘッダーレスのコードで同じコードを探すことができます。 –

+0

はい、それは良い考えですが、別のコンパイラでコンパイルして比較する必要があります。各コンパイラには独自のCRTがあります – MadSquirrel

関連する問題