問題タブ [pwntools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - p32 関数は、Python2 と Python3 で異なる結果を出力します
pwntoolsの関数を使用するp32()
と、python2 と 3 で出力が異なり、結果に影響を与える可能性があります。なぜこれが起こるのか知りたいですか?
Python2 出力:
Python3 出力:
gdb - pwntoolsで変数から値を取得するには?
私は pwntools と gdb の両方を使用して ELF プログラムを調べています。私の質問は、gdb ではなく pwntools で "p <variable_name>" を使用するように変数の値を取得するにはどうすればよいかということです。検索しましたが、何も見つかりません。
python - メモリ アドレス文字列をリトル エンディアン入力に変換する方法はありますか?
このことは、必要な文字列を作成する関数を作成することで簡単に解決できます。しかし、インポートして使用できるものがあるとすれば、もう少し良く、もう少し簡潔になるでしょう。python pwntools を使用する python スクリプトがあります。
基本的に次のような文字列で構成される実行可能ファイルからメモリ リークを読み取ります。
次のように、リトルエンディアン形式でプログラムに戻す必要があります。
つまり、基本的に私がする必要があるのは、すべての文字を 2 つずつ逆にすることです。
これを行うリソースを知っている人はいますか? おそらく、私がまったく初めてのpwntoolsで?
python - send() 関数を使用して数値を __isoc99_scanf("%d", &number) に送信します
ctf プラットフォームで pwn の問題を解決しようとしています。プログラムはscanf()
、標準入力から数値配列のインデックスとコンテンツを取得するためにのみ使用します。
ただし、send()
関数を使用して 4 バイトの int 数値をプログラムに送信すると、scanf 関数は (4 バイトの int 数値ではなく) EOF を検出し、scanf は何も検出しないようです。さらに、以下scanf()
は EOF のために数値の取得を拒否します。私のsend()
ステートメントと実行結果は次のとおりです。
私の質問は次のとおりです。この例外的な問題を説明する方法と、このプログラムの関数にsend()
数値を送信するために正しく使用する方法は?__isoc99_scanf("%d", &number)