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

Binary Bomb Phase_3 破解求助:求正确输入及分析思路

Binary Bomb Phase 3 破解分析

核心条件

输入为两个整数 x(第一个数)和 y(第二个数),最终需满足:

  • %eax = 316(即十六进制0x13c)
  • %edx = 1

输入验证逻辑

  1. sscanf 必须成功读取至少2个整数,否则触发炸弹。
  2. 第二个输入 y 必须 ≤7,否则触发炸弹。

跳转表映射(基于地址0x402500)

每个y值对应跳转分支,关系如下:

y值跳转目标地址
00x400fe3
10x400fd5
20x400ff1
30x400f97
40x400fdc
50x400fa1
60x401004
70x400fea

分支分析(目标:满足eax=316、edx=1)

逐一排查分支后,只有y=1的分支能同时满足两个条件:

分支y=1(跳转0x400fd5)

该分支的执行流程:

400fd5:   mov    $0x20,%edx        ; edx初始化为32(十进制)
400fda:   jmp    400fab            ; 跳转到公共运算段

从0x400fab开始的公共运算段会重复执行5次以下操作:

  • add $0x1,%eax:每次给eax加1
  • sar %edx:每次将edx算术右移1位(等价于除以2取整)

运算结果推导:

  • eax初始值为输入的x,经过5次加1后最终值为 x + 5。要求等于316,因此x = 316 -5 = 311。
  • edx初始值为32,经过5次右移后:32 >>5 =1,正好满足%edx=1的要求。

验证流程

输入311 1后:

  1. 成功通过输入验证,触发y=1对应的分支。
  2. eax从311累加5次后变为316,edx从32右移5次后变为1。
  3. 最终的cmp检查全部通过,炸弹不触发,进入下一阶段。

内容的提问来源于stack exchange,提问作者sami kim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 19:04:50