pop↑ push↓

☆ (ゝω・)v

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

前回

  • くそげーについて紹介した
  • 趣旨について紹介した

popush.hatenablog.com

今回

  • デバッグを実行する

デバッグする

今回もIDAを使います。

www.hex-rays.com

デバッグを実行するにはデバッガを選んで▶ボタンを押すだけです。 f:id:saito-matanki:20170802115004p:plain

と思いきや止まります。 f:id:saito-matanki:20170802115246p:plain

こういう時は最初(エントリポイント)から順に実行していき、どこで止まったかを確認します。 エントリポイントの直後にブレークポイントをおいて、ステップ実行します。

f:id:saito-matanki:20170802120024p:plain

犯人はSteamAPI_Initでした。

f:id:saito-matanki:20170802120401p:plain

対策

パッチでnopにしても良いのですが、今回は手動でスキップします。 SteamAPI_Initにブレークポイントをおいて、そこまで実行後、次の命令を右クリックしてSetIPをクリックします。 f:id:saito-matanki:20170802120838p:plain

そこからまたステップ実行です。 f:id:saito-matanki:20170802121009p:plain

もう一箇所あるSteamAPI_Initをスキップして、 f:id:saito-matanki:20170802121302p:plain

無事ランチャーが起動しました。 f:id:saito-matanki:20170802121143p:plain

次回(3)へ続く