拆弹实验-phase_7(隐藏关)
隐藏阶段,phase_4 之后附加特定字符串后出现
怎么找出隐藏关的就不赘述了。直接进入正题:
先查secret_phase:
1869: 56 push %esi #我们输入的数186a: 8d 83 24 05 00 00 lea 0x524(%ebx),%eax #查看0x524(%ebx)中内容为0x241870: 50 push %eax1871: e8 6d ff ff ff call 17e3 <fun7>
这段代码告诉我们调用fun7函数时传入了两个参数,一个是0x24,一个是我们输入的数。继续往下看:
1871: e8 6d ff ff ff call 17e3 <fun7>1876: 83 c4 10 add $0x10,%esp1879: 85 c0 test %eax,%eax #判断eax是否为0或正负数187b: 75 25 jne 18a2 <secret_phase+0x6d> #ZF=0,即eax不为0,爆炸
这段代码说明调用fun7之后,eax的值必须为0。
现在查看fun7的代码:
17ea: 8b 55 08 mov 0x8(%ebp),%edx #0x2417ed: 8b 4d 0c mov 0xc(%ebp),%ecx #我们输入的数17f0: 85 d2 test %edx,%edx 17f2: 74 3a je 182e <fun7+0x4b> #如果edx为0,爆炸17f4: 8b 1a mov (%edx),%ebx17f6: 39 cb cmp %ecx,%ebx 17f8: 7f 0c jg 1806 <fun7+0x23> #如果ebx(即edx)大于ecx,跳至180617fa: b8 00 00 00 00 mov $0x0,%eax #0传给eax,这正是我们需要的17ff: 75 18 jne 1819 <fun7+0x36> #如果ebx小于ecx,跳至18191801: 8b 5d fc mov -0x4(%ebp),%ebx1804: c9 leave 1805: c3 ret
通过上面的代码,我们可以知道,当ecx和edx相等时,eax会被置0,这正是我们希望的。至于大于和小于时有什么操作,对这个炸弹而言不重要了,只要输入的数是36(由0x24换算而来),就能返回0。现在来验证猜测:
很幸运,通关了!
拆弹实验-phase_7(隐藏关)相关推荐
- 啪嗒砰2 全隐藏关 隐藏BOSS
1 开启蜘蛛亚种"恐怖的串刺x怪兽xxx"关卡的地图在"岩山xx魔性之霜"起雾的时候有一个和别的不一样颜色的蝙蝠身上. 2 开启巨像兵亚种"自然力的巨 ...
- 笑谈ArcToolbox (4) ArcToolbox的隐藏关
笑谈ArcToolbox (4) ArcToolbox的隐藏关 by 李远祥 很多人在使用arcgis工具的时候,基本是"双击--调用"这种模式.这本来就是符合一般人的使用习惯.如 ...
- 实验七 隐藏节点和暴露节点仿真实验
无线网络技术教程第四版实验七 隐藏节点和暴露节点仿真实验 目录 无线网络技术教程第四版实验七 隐藏节点和暴露节点仿真实验 1 实验目的和要求 2 实验原理和背景 2.1 隐藏节点问题 2.2 暴露节点 ...
- 计算机系统基础实验:二进制拆弹实验
一.实验目的: 学习并熟练使用 gdb 调试器和 objdump 理解汇编语言代码的行为或作用 提高阅读和理解汇编代码的能力 二.实验要求 实验共包括七个阶段,每个阶段考察机器级语言程序的不同方面,难 ...
- 头歌平台数据结构与算法 单链表实验 第1关:倒置链表
任务描述 相关知识 实验目的 实验任务 实验说明 编程要求 测试说明 任务描述 本关任务:请在右侧编辑器的注释行填入适当内容来完成算法,以实现指定的功能,并通过运行来验证. 相关知识 实验目的 理解线 ...
- 二进制拆弹实验详解linux,拆解二进制炸弹
拆解二进制炸弹 一.实验目的 1.理解C语言程序的机器级表示. 2.初步掌握GDB调试器的用法. 3.阅读C编译器生成的x86-64机器代码,理解不同控制结构生成的基本指令模式,过程的实现. 二. 实 ...
- 二进制拆弹实验详解_Population Count算法-求二进制数中1的个数
所谓Population Count算法,即是指计算一个二进制数中1的个数的算法.具体来说,就是任意给定一个无符号整数N,求N的二进制表示中1的个数,比如N = 5(0101)时,返回2:N = 15 ...
- 华中科技大学数电实验--第6关:16进制可逆计数器设计
写在前面:做了这个实验部分关卡之后,只想说"设计关卡的人水平真次-(此处省略若干文明用语)",所以决定和大家分享一下自己觉得苦难的关卡的思路,(本人也是水平有限,以下仅)供困惑时参 ...
- 计组头哥实验 第2关 原码一位乘法器设计
- 华科计算机组成原理 头歌Educoder Logisim 计算机数据表示实验(HUST) 1~9关满分通关
目录 第1关:汉字国标码转区位码实验 第2关:汉字机内码获取实验 第3关:偶校验编码设计 第4关:偶校验解码电路设计 第5关:16位海明编码电路设计 第6关:16位海明解码电路设计 第7关:海明编码 ...
最新文章
- PropertiesFactoryBean PropertyPlaceholderConfigurer 区别
- 隐私数据在隐私AI框架中的安全流动
- js判断是由含有a节点_如何在 JS 中判断数组是否包含指定的元素(多种方法)
- 词频统计 求最大k个数
- PHP开发调试环境配置(基于wampserver+Eclipse for PHP Developers )
- 找找Amazon的A9算法更新和变化的蛛丝马迹!
- 骑手困在系统里,网友困在回应里,而王兴正在刷饭否
- 记一次特别的往事 while 循环
- CCNP中单区域OSPF详解(第一部分)
- 培训学习笔记 - 人们不买钻头,他们买孔洞
- python61到08使用说明书_python 08 文件操作
- 全面认识Eclipse中JVM内存设置(转)
- JAVA项目中找不到tomcat_Tomcat启动过程中找不到JAVA_HOME解决方法
- zabbix监控tomcat服务
- ORACLE 中IN和EXISTS比较
- 在html中添加class,在HTML标识符的Class中加入Styles
- 台式计算机如何自动开关机,联想电脑怎么设置定时开机|联想台式机自动开机设置方法...
- 统一诊断服务(UDS)- 安全等级是怎么回事儿
- 计算机一级wps必背知识点,计算机一级WPSoffice考前复习题
- BUUCTF-pwn(15)
热门文章
- 电影《战狼》评论词云分析
- 那一年我是如何从功能测试跨入自动化测试的,绝对让你不虚此行!
- 农夫山泉病毒性营销方案策划
- 分发自动化_使用bitrise自动化应用分发
- 飞书深诺在港上市招股书再失效:毛利率较高,遭完美世界提前减持
- ReDet A Rotation-equivariant Detector for Aerial Object Detection 论文学习
- Android-video rotation详解
- Limelight完成了对雅虎Edgecast的收购,合并后的公司更名为Edgio,成为全球边缘解决方案的领导者
- Java Springboot 使用 OpenOffice 实现Excel转PDF
- Adaptive AUTOSAR 简介 (2021版)