wivern ロゴ

サイバーセキュリティ研究所

サイバーセキュリティを中心に、軍事、防犯、サーバーの管理と監視、その他、最新技術を研究しています。


アンパック手順 覚え書き

UPX でパックした PE32 をアンパック

OllyDbg

UPX を使って自分でパックした PE32 をアンパックする手順の覚え書きです。

① OllyDbg にアンパック対象のバイナリ( sample.exe )をロード
※ sample.exe:UPX でパックした PE32

② PUSHAD
  ・
  ・
  ・
  POPAD
  ・
  JMP ( OEP アドレス)
 の形を確認して、「OEP アドレス」まで実行。

③ OllyDump でメモリダンプを保存
 (1)「Get EIP as OEP」ボタンを押して現在の eip を「Entry Point」として設定
 (2)「Rebuild Import」チェックボックスを OFF にする
 (3)「Dump」ボタンを押してメモリダンプを取得/保存( DumpSample.exe )

OllyDump
④ Scylla で IAT( Import Address Table )を再構築してアンパックした実行ファイルを保存
 (1)Scylla で( OllyDbg で解析中の) sample.exe をアタッチ
 (2)「OEP」に OEP のアドレスを指定
 (3)「IAT Autosearch」ボタンを押して IAT を検索
 (4)「Get Imports」ボタンを押して IAT の内容を読み込み
 (5)「Fix Dump」ボタンを押してダンプファイル( DumpSample.exe )を選択して IAT を再構築
 (6) DumpSample_SCY.EXE が保存される

Scylla
(参考:「実践サイバーセキュリティモニタリング」p.152~155)


記述に際しては、細心の注意をしたつもりですが、間違いやご指摘がありましたら、こちらからお知らせいただけると幸いです。


→「OllyDbg チートシート」
←「表層解析:環境構築」


« 戻る