You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Binary Bomb Lab第五阶段:卡在XOR指令处,求解输入值

Binary Bomb Lab 第五阶段:第6、7个输入值求解

先看你给出的关键汇编片段:

0x00005555555568cc <+11>:    xor    0x8(%rsp),%esi
0x00005555555568d0 <+15>:    cmp    $0xffffffff,%esi
0x00005555555568d3 <+18>:    jne    0x555555556900 <fun5+63>

已知条件:

  • %esi 存的是你输入的第6个整数
  • 0x8(%rsp) 存的是你输入的第7个整数

要跳过jne跳转,必须让cmp的结果为相等——也就是第6个输入 XOR 第7个输入 的结果等于0xffffffff。

推导过程

XOR运算的核心性质:如果a XOR b = c,那么b = a XOR c(反过来也成立)。这里c是0xffffffff,所以:

  • 随便选一个值作为第6个输入x,第7个输入就是x XOR 0xffffffff
  • 32位有符号整数里,0xffffffff等价于-1,所以x XOR -1其实就是对x的每一位按位取反。比如x=0时取反是-1,x=3时取反是-4。

可行输入组合示例

  • 第6个:0,第7个:-1
  • 第6个:7,第7个:-8
  • 第6个:123,第7个:-124

只要满足上述XOR关系的整数对,都能通过这个检查。

内容的提问来源于stack exchange,提问作者Frances Cortuna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 07:38:25