書き溜めたエントリなんだけど、これから更新する機会が減りそうなので進んだところまで一気にBlogに上げてしまうことにした。
願わくば、これをみて解析の道に入り込む人が増えることを。

このシリーズも随分たくさん書いたなぁ……
しかし、解析の方は一向に進んでいなかったりする。

というわけで番外編からの続き。
UPXらしい圧縮exeをollydbgで開く、んでPEditorの改造で覚えたSFX機能というのを使ってみる。
トレース実行を仕掛けて放置する事数時間……

展開のOEPが見つかったので、ブレークポイントを仕掛けて、F9、F8でollydumpでメモリイメージをダンプ。
と、ここまでは非常に順調だった。
ダンプしたファイルを再度ollydbgで開く。が、ゲームのexeらしい感じがしない。
再度PEiDに突っ込むと、Microsoft Visual C++ と出た。
圧縮されていないハズだが、ゲームで使うようなAPIが出てこないのが気になる。
もしかして、アンパックに失敗したか?

ステップ実行させると、HShield関連のdllを呼び出した後に、デバッガ検出のメッセージを出して終了する。
呼び出しているEHSvc.dllをollydbgで読み込ませると、ollydbgが落ちる。
どうも、このdllも普通に読めないように細工がしてあるらしい。

ちなみにollydbgを落として、ダンプした InphaseNXD.EXE を本物と同じパラメータで起動しても一瞬メッセージボックスが出てゲームが起動しない。
本物チェックでも入ってるんだろう。

ollydbgのプラグインでHide Debuggerなるものがあるのだけれど、どうも向こうの方が一枚上手らしく、デバッガ検出されてしまう。
この時出てくるメッセージボックスのタイトルが「Themida」聞いた事の無い単語だったので早速Googleさまに聞いてみる。

パッカーですか、中華ですか、トロイですか。あと地デジ。
なんか嫌いなキーワードばかりが並んで嫌になった……

アンパッカーを2~3探して試してみるも、いずれも失敗。
さてどうしたものか……

2009/10/01:コメントなしろじ

コメントを残す

メールアドレスが公開されることはありません。