pop↑ push↓

☆ (ゝω・)v

プログラムを解析する(A)

ぜんかい

popush.hatenablog.com

  • ゲームの文字表示とフォントについてしらべた

こんかい

  • フォント読み込み部分をしらべる

ないよー

いつも通り。ひねりがない。

f:id:saito-matanki:20170804162736j:plain

Stringに拡張子(.fnt)がいるのを見つけました。 f:id:saito-matanki:20170804161812p:plain

きてます。 f:id:saito-matanki:20170804161927p:plain

ここにブレークポイントさんを置きました。いい仕事をしてくれますね。 f:id:saito-matanki:20170804163341p:plain

下の方にはcharがいました。パーサーは自前実装なのでしょうか。 f:id:saito-matanki:20170804162203p:plain

最初はinfo、 f:id:saito-matanki:20170804163954p:plain

次がcommon、 f:id:saito-matanki:20170804164046p:plain

そしてchar。一行づつ取り出しているようです(前回のfntテキスト参照)。 f:id:saito-matanki:20170804164115p:plain

更に下にいくともっさりした奴がいます。2つの関数を執拗に呼び出しています。 f:id:saito-matanki:20170804164525p:plain

最初が32、 f:id:saito-matanki:20170804164908p:plain

次が33、 f:id:saito-matanki:20170804164959p:plain

その次が34。あっこれはidですね。 f:id:saito-matanki:20170804165044p:plain

ちょっと進めるとeaxに0x22(34)が入りました。1B19F69が仕事をしました。さらにその下で[ebp+var_14]に代入されているのもわかります。 f:id:saito-matanki:20170804165424p:plain

var_14は下に・・・あれ? f:id:saito-matanki:20170804165654p:plain

あやややや。ID(コードポイント)を配列のインデックスにしてるにょ。日本語だとメモリ食いそうだなぁ。 f:id:saito-matanki:20170804165731p:plain

次回(B)へ続く