2016-08-14 4 views
0

最初の答えは、perlまたはpythonを使用して入力をCプログラムにパイプすることですが、残念ながら入力したい変数は値をとっていませんCプログラムの引数から、むしろ対話的にユーザーに値を入力するよう促します。対応するASCIIがないHEX文字を入力としてCプログラムに渡す方法

私のバッファのサイズは8バイト以上で、以前の変数[これはまさに私が望むものです]を書き込んで、その変数を値1335で上書きしたいとします。書き込まれるのはbで、int型です。したがって、1335を16進数に変換すると537が得られ、バッファを8a、その後37,05,00,00に上書きする必要があります。これらの値で上書きするには、37,05,00に対応するASCIIを与える必要があります。ユーザ入力。 ASCIIの05と00は制御文字なので、キーボードを使用して入力することはできません。これらの値のASCIIをユーザ入力に入力する方法はありますか?

デスクトップ:Ubuntuの16.04

+0

でエスケープすると、この問題を解決できましたか?使用している端末とOS /デスクトップ環境は何ですか?任意の文字を対話的に入力する方法は、端末とデスクトップ環境によって異なります。 –

+0

@lie私はUbuntuを使用しています。16.04 – hax

+0

キーを押しながらキーパッドを使用して数字を入力すると、値は8進数で入力できます – user3629249

答えて

0

null文字をCtrl + @

+0

このサイトでは、「* shellcode *」を検索して、さまざまな要件とこれを適切に実行するためのヒントを説明します。 –

0

は、プログラムの問題を解決するには、シェルスクリプトでexpectを使用することができます。

+0

Cプログラムが 'getchar()'のようなものを使って読み込むことができる文字をどのように生成するのだろうか? – user3629249

関連する問題