0

私はクラックミーに取り組んでおり、バッファ オーバーフローを発見しましたが、\xNN (N は 0 から F の間) を入力すると、\ と x は独自の値として解釈されます。\xNN も試しました。

このプログラムは Linux 実行可能ファイルなので、バックトラックで実行しています。プログラムは入力を処理し、コマンド ライン呼び出しの一部ではありません。私は ida でプログラムを見て、入力は __isoc99_scanf によって行われます。

Unicode で入力できますが、04 は問題があるため、16 進数の使用方法を理解する必要があります。

誰かがヘックス以外の推奨事項を持っている場合、それも素晴らしいでしょう.

4

1 に答える 1

0

「コマンドライン呼び出しの一部ではない」とはどういう意味ですか? コンソールにある場合は、使用できます

perl -e 'print "\xNN" | program.

あるいは

perl -e 'print "\n\whatever\xNN"' | program.

加算入力をシミュレートします。stdout からの出力は、あたかも文字列を入力しているかのように、プログラムの stdin に直接送られます。グラフィカル アプリケーションの場合は、いつでもバイトに直接パッチを適用できます (言うのは簡単ですが、gdb で行う方法は次のとおりです)。

于 2013-05-01T22:50:02.803 に答える