だから私はいくつかのコード(バイナリ爆弾ラボ)を逆アセンブルしていて、何が起こっているのかを理解するのに助けが必要です。
IDAのスクリーンショットは次のとおりです。
(以下にいくつかのジャンプテーブルと別の比較がありますが、私はそのことについてもう少し快適に感じます(私は思う))
今、私が読んだように、私はこのフェーズで何が起こっているのかを知っていると思います:
http://teamterradactyl.blogspot.com/2007/10/binary-bomb.html(フェーズ3までスクロールダウン)
しかし、私は別の形式のアセンブリに慣れています。
私が理解していない最大のことは、このすべてのvar_28 = dwordptr-28hのものが一番上にあることです。
sscanfが呼び出されると、各トークンをどこに置くかをどのようにして知ることができますか?そして、トークンは3つしかありません(上記のリンクは、%d、%d ...が表示されていますが、おそらく2つですが、3つだと思います)。基本的に、sscanfが呼び出された後、これらのvar_x(およびarg_0)のそれぞれが何を指すかを誰かに教えてもらえますか?
それらはスタックポインタへの相対的なアドレス指定です...?しかし、これらのアドレスはどのようにしてsscanfからのトークンで満たされるのでしょうか。
注:これは宿題ですが、廃止されたか何かのため、宿題タグを追加しないように指示されています。宿題は、各フェーズを通過するためにコマンドラインを介して入力する秘密のフレーズを理解することです。
注2:IDAの使い方がよくわかりません。友人から、IDAで爆弾ファイルを開くように言われました。IDAで実験して理解する簡単な方法があるかもしれませんが、その方法はわかりません。