CSAPP bomb lab3
Phase_3
0000000000400f43 <phase_3>:
// arg1=input (input是一个字符串)
400f43: 48 83 ec 18 sub $0x18,%rsp
400f47: 48 8d 4c 24 0c lea 0xc(%rsp),%rcx
400f4c: 48 8d 54 24 08 lea 0x8(%rsp),%rdx
400f51: be cf 25 40 00 mov $0x4025cf,%esi
400f56: b8 00 00 00 00 mov $0x0,%eax
400f5b: e8 90 fc ff ff callq 400bf0 <__isoc99_sscanf@plt>
400f60: 83 f8 01 cmp $0x1,%eax
400f63: 7f 05 jg 400f6a <phase_3+0x27>
400f65: e8 d0 04 00 00 callq 40143a <explode_bomb>
400f6a: 83 7c 24 08 07 cmpl $0x7,

本文详细探讨了CSAPP Binary Bomb Lab的Phase_3,重点讲解了如何理解参数传递、sscanf函数的使用以及通过rdx和rcx构建的跳转表。在Phase_3中,输入的两个整数必须满足特定条件,否则会触发爆炸。通过分析gdb调试信息,揭示了以rdx为索引的跳转表机制,并给出了如何找到正确解密代码的示例。
最低0.47元/天 解锁文章
2363

被折叠的 条评论
为什么被折叠?



