2013年8月16日金曜日

画像変換したい!!!(1)

ということで、コーディングを進めました。

とりあえず、
① artLegacyMUL.uopのファイルマッピングページをVirtualQuery()でプロセスメモリ内から見つける
② 上記ページをVirtualProtect()でPAGE_WRITECOPY属性にする
③ artLegacyMUL.uopのインデックス情報を全て読みだしてみる&ちょこっと書き換えてみる
④ VirtualProtect()でページ属性を元の属性に戻しておく
⑤ ログイン
⑥ 終了
⑦ artLegacyMUL.uopが書き変わっていないことを確認
までは確認してみました。

あとは、どのインデックスを、どの情報に書き換えるか、を準備してhookdllに食わせるだけでうまくいくと思う。多分、、、

元のソースコードは言語はC#で、文字列→ハッシュ→辞書(連想配列)→UOPファイルとしており、C++ STLでいうところのmapを使用して実装しているのですが、hookdllはCで書いているためmapに該当するコードを書き加えるのがめんどっちいから、文字列からのハッシュ値で判定するようになると思います。

ハッシュ関数への入力文字列ですが、printfフォーマットで言うと"build/artlegacymul/%08d.tga" (よくこんなのみつけたな)で、このハッシュのシード(?)が舐めてますw 0xdeadbeef www
(しばらくプログラミングから離れていたので、用語が間違っているかもしれませんがご容赦ください)

追記: 上記は%08x.tga??? あれれ、該当するIDが見つからない><

0 件のコメント:

コメントを投稿