Razorでおなじみのこの機能、追加してみました。(Version 0.7.2.4)
Debug起動時に有効です。
実装して初めて動かしてみたとき、思わず笑ってしまいましたよwww
あれ?これでいいの?って。今までの待機時間は何だったの^^;;;
このような変更(RazorやEUOでやっていることのハック)ですが、実は難儀な解析作業をしているわけではありません。
やり方さえ知ってしまえば、なんだそんなことか、と拍子抜けするかもしれません。
今回のスプラッシュ画面のスキップの解析を手順的に説明すると、
① Gumpをスプラッシュ画面の表示に使っている(しかも、アカウントの拡張パックの有無によって異なる)ので、client.exeのバイナリーのどこかにそのGumpIDがハードコーディングされているはず、と目星をつける。
② OllyDbgでGumpIDをバイナリーサーチして怪しい箇所を探しだす。
③ そのあやしい箇所とそれを呼び出しているコードの周辺をよく眺める
④ Razor経由で実行したときのclient.exeをOllydbgでアタッチし、メモリをbackupとしてファイルに保存する。
⑤ Razorを使用しないで実行したときのclient.exeをOllydbgでアタッチし、④のbackupファイルをロードする。
⑥ ③の怪しい箇所において、④と⑤の相違をOllydbgが赤字で指摘してくれるので、そのコード修正でどういう動作になるかを考察して、メモリ書換のコードを作成する。今回の場合、赤字のとおりに変更しただけw
Razorという現在も動作するお手本があるので、そのコピー作業をするだけです。
ただ、Razorにてこっそり実装されている機能が多いので、それを見ぬくセンスは必要ですね。
0 件のコメント:
コメントを投稿