質問編集履歴

2

追記

2018/01/24 19:18

投稿

NieR
NieR

スコア16

title CHANGED
File without changes
body CHANGED
@@ -32,4 +32,11 @@
32
32
  としてみても上手くいきませんでした。
33
33
  書くの忘れていましたが、gcc -m32 でコンパイルしているのでレジスタのサイズは32bitなのでそもそも\x00\x00\x05\xb4がEIPに入りきらない気がする・・・。
34
34
  (\x00\x00\x05\xb4は16byteもあるので)
35
- BBBBは4byteだから入るけど・・・
35
+ BBBBは4byteだから入るけど・・・
36
+
37
+
38
+
39
+ asm様のコードがいまいち理解できていません・・・
40
+ キーボードでは普通の文字列しか入力できないから、バイナリで入力を渡せるようにファイルにバイナリ形式で書き込んでそれをfgetsで読み込んでいるコードのようだけれど、コンパイルして実行すると、input: となって入力を待たれて何を入れてもWrong anserとなって
41
+ コードが進まないです。
42
+ ついでに教えて頂けると嬉しいです。

1

追記

2018/01/24 19:18

投稿

NieR
NieR

スコア16

title CHANGED
File without changes
body CHANGED
@@ -21,4 +21,15 @@
21
21
  のように0xをつけてみてもダメでした。
22
22
  調べてもどのような入力を渡せば良いか分かりませんでした。
23
23
  環境はkali linux2017.3です。
24
- どなたかご教授お願いいたします。
24
+ どなたかご教授お願いいたします。
25
+
26
+ 追記
27
+ 回答してくださった方の方法でうまくいくと思うけど、もう少し回答いただきたいので一様追記。
28
+ EIPに0x000005b4を格納できれば良いみたい。
29
+ python3で000005b4をバイト文字列に変換してみると、
30
+ \x00\x00\x05\xb4となった。
31
+ echo -e 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\xb4\x05\x00\x00' | ./一番上の画像のcのプログラム
32
+ としてみても上手くいきませんでした。
33
+ 書くの忘れていましたが、gcc -m32 でコンパイルしているのでレジスタのサイズは32bitなのでそもそも\x00\x00\x05\xb4がEIPに入りきらない気がする・・・。
34
+ (\x00\x00\x05\xb4は16byteもあるので)
35
+ BBBBは4byteだから入るけど・・・