x86汇编 二进制炸弹不解

做的不是常见的二进制炸弹
0000000000401196 :
401196: 48 83 ec 08 sub $0x8,%rsp
40119a: 80 3f 3d cmpb $0x3d,(%rdi)

40119d: 75 20 jne 4011bf
40119f: 80 7f 02 6d cmpb $0x6d,0x2(%rdi)
4011a3: 75 1a jne 4011bf
4011a5: 80 7f 01 44 cmpb $0x44,0x1(%rdi)
4011a9: 74 22 je 4011cd
4011ab: 0f be 4f 11 movsbl 0x11(%rdi),%ecx
4011af: 0f be 57 09 movsbl 0x9(%rdi),%edx
4011b3: 83 c2 17 add $0x17,%edx
4011b6: b8 01 00 00 00 mov $0x1,%eax
4011bb: 39 d1 cmp %edx,%ecx
4011bd: 74 13 je 4011d2
4011bf: e8 2f 09 00 00 callq 401af3
4011c4: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax
4011cb: eb 05 jmp 4011d2
4011cd: b8 00 00 00 00 mov $0x0,%eax
4011d2: 48 83 c4 08 add $0x8,%rsp
4011d6: c3 retq

phase-1 没有满分 满分为3分
idea: cmpb $0x3d,(%rdi) rdi[0]= '='
cmpb $0x6d,0x2(%rdi) rdi[2]='m'
cmpb $0x44,0x1(%rdi) rdi[1]='D'

answer: =Dm , 没有满分
不太理解接下来的步骤

00000000004011d7 :
4011d7: 48 83 ec 08 sub $0x8,%rsp
4011db: 48 83 ff 03 cmp $0x3,%rdi ETX(end of text)
4011df: 75 23 jne 401204
4011e1: 48 81 c2 a2 00 00 00 add $0xa2,%rdx
4011e8: 48 f7 d2 not %rdx
4011eb: 48 81 f1 d9 fe ff ff xor $0xfffffffffffffed9,%rcx
4011f2: 48 01 d1 add %rdx,%rcx
4011f5: 48 83 f9 8c cmp $0xffffffffffffff8c,%rcx
4011f9: 0f 94 c0 sete %al
4011fc: 0f b6 c0 movzbl %al,%eax
4011ff: 48 39 f1 cmp %rsi,%rcx
401202: 74 0c je 401210
401204: e8 ea 08 00 00 callq 401af3
401209: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax
401210: 48 83 c4 08 add $0x8,%rsp
401214: c3 retq
phase-2有一点不解

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐