More Related Content
PDF
Malwat4 20130223 analyzing_android_malware PPTX
The vulnerabilities never bothered me anyway PDF
PPTX
ハニーポットで見る攻撃手法(特に結論はありません) PDF
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道 PDF
Trend Micro CTF Asia Pacific & Japan -defensive100- PPTX
PPTX
Viewers also liked
PDF
フリーでできるセキュリティチェック OpenVAS CLI編 PDF
PDF
PDF
PDF
Elasticsearchを使うときの注意点 公開用スライド PPTX
PPTX
PPTX
Cybozu.com security challengeに参加したよ PPTX
フリーでできるセキュリティ インフラ(Nessus)編 PPTX
PPTX
PPTX
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら PPTX
PPTX
ODP
PPTX
PPTX
Nmap 9 truth "Nothing to say any more" PPTX
PPTX
PPTX
Similar to アセンブラ100 さきゅりてぃ発表用
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
PPT
PPTX
PPTX
PDF
PDF
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009 PDF
PPT
PDF
PDF
アセンブラ100 さきゅりてぃ発表用
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
以下のコードをアドレス 01361040 から実行した。
表示される数値を答えよ。
x86アセンブラを読もう
- 12.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
以下のコードをアドレス 01361040 から実行した。
表示される数値を答えよ。
x86アセンブラを読もう
ここにprint文がある
ここがスタート地点
- 13.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
以下のコードをアドレス 01361040 から実行した。
表示される数値を答えよ。
x86アセンブラを読もう
サブルーチン
ここがスタート地点
サブルーチンを
呼び出す
- 14.
- 15.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020
0024
0028 EBPの値(スタート時)
EBPはデータ領域の基点。
これから使うスタック領域の
一番下のアドレスが入っている
- 16.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020
0024
0028 EBPの値(スタート時)
EBP ESPの値(0028)
ESPはスタックの
一番上のアドレスが入っている
- 17.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020
0024 ECXの値(スタート時)
0028 EBPの値(スタート時)
EBP ESPの値(0028)
ECXはループ回数を
カウントするために使用される領域
- 18.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0028)
- 19.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0028)
- 20.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0028)
CALL命令は戻り先をスタックに積む
- 21.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0028)
- 22.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
- 23.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
- 24.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008 0
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
- 25.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 0
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
- 26.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 0
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
- 27.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 0
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
- 28.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
Jump if Great
左が右より大きければジャンプ
レジスタ
スタック
0000
0004 1
0008 0
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
- 29.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 0
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
EDX 0
- 30.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 0
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
EDX 1
- 31.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
EDX 1
- 32.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
EDX 1
- 33.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
EDX 1
EAX 1
EAXは計算に使用される
- 34.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 1
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
EDX 1
EAX 2
- 35.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 1
EDX 1
EAX 2
- 36.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 2
EDX 1
EAX 2
- 37.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 2
EDX 1
EAX 2
- 38.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 2
EDX 1
EAX 2
- 39.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 1
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 2
EDX 3
EAX 2
- 40.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 3
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 2
EDX 3
EAX 2
- 41.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 3
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 2
EDX 3
EAX 2
- 42.
- 43.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 3
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 2
EDX 3
EAX 2
0004のスタックの値
→初期値は1
→1ずつ足される
→0xFFと比較している
0008のスタックの値
→初期値は0
→今の値にスタック0004の値
が足される
- 44.
- 45.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 2
0008 3
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 2
EDX 3
EAX 2
つまりこの部分は、
sum = 0;
for (i = 1; i <= 0xFF; i++) {
sum += i;
}
という処理を行っている
- 46.
- 47.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 0xFF
0008 32640
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 0xFF
EDX 32640
EAX 32640
- 48.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 0xFF
0008 32640
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0004
ECX 0xFF
EDX 32640
EAX 32638
- 49.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004 0xFF
0008 32640
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP ESPの値(0012)
ESP 0012
ECX 0xFF
EDX 32640
EAX 32638
ESPの値をサブルーチンに入った
直後の値に戻すことで、サブルー
チン内で使用したスタック領域を解
放している。
- 50.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012 EBPの値(0028)
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP 0028
ESP 0012
ECX 0xFF
EDX 32640
EAX 32638
サブルーチンに入った直後のEBP
の値がスタックに保存してあるの
で、popして戻す。
- 51.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016 戻り先(01361052)
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP 0028
ESP 0012
ECX 0xFF
EDX 32640
EAX 32638
- 52.
- 53.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020 0xFF
0024 0
0028 EBPの値(スタート時)
EBP 0028
ESP 0024
ECX 0xFF
EDX 32640
EAX 32638
- 54.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020
0024 32638
0028 EBPの値(スタート時)
EBP 0028
ESP 0024
ECX 0xFF
EDX 32640
EAX 32638
- 55.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020
0024 32638
0028 EBPの値(スタート時)
EBP 0028
ESP 0024
ECX 0xFF
EDX 32640
EAX 32638
- 56.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020 32638
0024 32638
0028 EBPの値(スタート時)
EBP 0028
ESP 0024
ECX 0xFF
EDX 32640
EAX 32638
- 57.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020 32638
0024 32638
0028 EBPの値(スタート時)
EBP 0028
ESP 0024
ECX 0xFF
EDX 32640
EAX 32638
- 58.
問題を解説する
01361000 55 PUSHEBP
01361001 8BEC MOV EBP,ESP
01361003 83EC 08 SUB ESP,8
01361006 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136100D C745 F8 01000000 MOV DWORD PTR SS:[EBP-8],1
01361014 EB 09 JMP SHORT test.0136101F
01361016 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
01361019 83C0 01 ADD EAX,1
0136101C 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0136101F 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
01361022 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8]
01361025 7F 0B JG SHORT test.01361032
01361027 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0136102A 0355 F8 ADD EDX,DWORD PTR SS:[EBP-8]
0136102D 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
01361030 ^EB E4 JMP SHORT test.01361016
01361032 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
01361035 . 83E8 02 SUB EAX,2
01361038 . 8BE5 MOV ESP,EBP
0136103A . 5D POP EBP
0136103B . C3 RETN
...
01361040 > . 55 PUSH EBP
01361041 8BEC MOV EBP,ESP
01361043 51 PUSH ECX
01361044 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
0136104B 6A FF PUSH FF
0136104D E8 AEFFFFFF CALL test.01361000
01361052 . 83C4 04 ADD ESP,4
01361055 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01361058 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0136105B . 50 PUSH EAX
0136105C . 68 F4203601 PUSH OFFSET "FLAG{%d}n"
01361061 . FF15 A4203601 CALL DWORD PTR DS:[<&MSVCR100.printf>]
01361067 . 83C4 08 ADD ESP,8
レジスタ
スタック
0000
0004
0008
0012
0016
0020 32638
0024 32638
0028 EBPの値(スタート時)
EBP 0028
ESP 0024
ECX 0xFF
EDX 32640
EAX 32638
引数に”FLAG{%d}n”と32638を渡
してprintfをコールする
- 59.