shaunhugh 2018-10-11 02:34
浏览 694

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有一点不解

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料