pop↑ push↓

☆ (ゝω・)v

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

ぜんかい

popush.hatenablog.com

  • 読み込まれたテキストがUCS2で展開されたことを確認した

こんかい

  • 展開されたテキストの追跡をする

ないよー

前回と同じところからスタートです。読み込まれたデータにブレークポイントを仕掛けます。 f:id:saito-matanki:20170803155435p:plain

引っかかってます。ぐるぐる回ってるし、メモリ転送のようです。 f:id:saito-matanki:20170803155627p:plain

転送先にブレークポイントをおいて、 f:id:saito-matanki:20170803160030p:plain

引っ掛ける。 f:id:saito-matanki:20170803160153p:plain

少しステップ実行すると、それをまた転送している箇所が見つかりました。 この転送はkeyValueのValueだけを転送しているようです。 f:id:saito-matanki:20170803160454p:plain

転送先でひっかかったー(失敗してやり直したためアドレス変わってます) f:id:saito-matanki:20170803160644p:plain

ちょっと下では文字数を計測(Null文字までループ)しています。 f:id:saito-matanki:20170803161039p:plain

更に進めると、変なところで引っかかりました。10FFFFや0DFFFFなどがあり、UTF-8への意識が見られます。 f:id:saito-matanki:20170803161350p:plain

これはあやしいのでステップ実行です。あやややや、UCS2がUTF-8に戻されてます。追加した日本語はどうでしょうか。 f:id:saito-matanki:20170803161656p:plain

  • に → E3 81 AB
  • ほ → E3 81 BB
  • ん → E3 82 93
  • ご → E3 81 94

だいじょうぶでした。

次回(8)へ続く