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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥35 平滑拟合曲线该如何生成
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 自己瞎改改,结果现在又运行不了了
    • ¥15 链式存储应该如何解决
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站