准备

1、32位虚拟机
2、安装gdb

通关操作


首先,将bomb反汇编。
命令如下:

objdump -d bomb > 1.txt

找到phase_1函数:

可以看到,调用了strings_not_equal函数,找到strings_not_equal函数:

第10和13行调用了string_length函数,推测前面几行的寄存器内存放有目标字符串的地址。所以,我们可以在调用string_length函数处设置断点,然后查看前面几个字符串存放地址的内容。

我输入的字符串是test bomb,用disas命令反汇编。

i r 命令查看寄存器内容,推测ebx内是一个字符串地址。查看一下。

test bomb是我先前输入的字符串,也可这么查看:

继续运行,查看寄存器内容:

推测edi或esi中有目标字符串:

或者这么做:

(gdb) x/s 0x403144
0x403144:       "Verbosity leads to unclear, inarticulate things."

现在找到了目标字符串,通关操作如下:

当然,也可以用其他方法,一般找到的字符串有些特别,执行strings bomb 然后从一堆字符串里找也行。

可以看到,这一堆句子里Verbosity leads to unclear, inarticulate things. 有些特别,揣测其就是我要找的句子,事实证明就是它。

拆弹实验-phase_1相关推荐

  1. 计算机系统基础实验:二进制拆弹实验

    一.实验目的: 学习并熟练使用 gdb 调试器和 objdump 理解汇编语言代码的行为或作用 提高阅读和理解汇编代码的能力 二.实验要求 实验共包括七个阶段,每个阶段考察机器级语言程序的不同方面,难 ...

  2. 二进制拆弹实验详解_Population Count算法-求二进制数中1的个数

    所谓Population Count算法,即是指计算一个二进制数中1的个数的算法.具体来说,就是任意给定一个无符号整数N,求N的二进制表示中1的个数,比如N = 5(0101)时,返回2:N = 15 ...

  3. 二进制拆弹实验详解linux,拆解二进制炸弹

    拆解二进制炸弹 一.实验目的 1.理解C语言程序的机器级表示. 2.初步掌握GDB调试器的用法. 3.阅读C编译器生成的x86-64机器代码,理解不同控制结构生成的基本指令模式,过程的实现. 二. 实 ...

  4. 二进制拆弹(炸弹炸掉了我的头发 T.T)

    文章目录 所需要使用的调试工具 开始进入拆弹过程 phase_1 phase_2 pahse_3 phase_4 phase_5 phase_6 secret_phase 所需要使用的调试工具 1. ...

  5. 计算机系统ARM64拆除炸弹

    一.内容简介 1.1 拆弹实验 拆弹实验是csapp课程的一个经典实验,实验共有六关(phase_1 ... phase_6),还有一个隐藏关卡(secret_phase).该实验与x86架构下的拆弹 ...

  6. 深入理解操作系统实验——bomb lab(phase_1)

    实验内容及操作步骤: 一.实验基本内容: 二进制炸弹是作为一个目标代码文件,运行时会提示用户输入6个不同的字符串,如果其中任何一个不正确,炸弹就会爆炸,打印出一条错误信息.我们需要通过反汇编和逆向工程 ...

  7. 记ICS的lab2--bomb实验

    (我真的是瞎tm投机取巧解开的bomb,我并不能保证帮上你什么忙,兄弟!) 实验总结: 首先这个实验真的是花了很多很多的时间了,逻辑硬伤,解得很慢.如果不是等到全部解完已经过去一周之后才写报告,我想我 ...

  8. CSAPP Lab2 实验记录 ---- Bomb Lab(Phase 1 - Phase 6详细解答 + Secret Phase彩蛋解析)

    文章目录 Lab 总结博客链接 实验前提引子 实验需要指令及准备 Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 Phase Secret(彩蛋Phas ...

  9. 国外计算机课程lab,计算机系统实验之bomblab

    今天刚刚验收CSAPP实验3,趁着余温,记录一下这个实验,顺便回顾下CSAPP课程的相关知识. 实验目的 1.使用gdb工具反汇编出汇编代码,结合c语言文件找到每个关卡的入口函数.然后分析汇编代码,分 ...

  10. 计算机系统二进制炸弹实验报告,二进制拿炸弹实验报告完整版.doc

    课程名称:计算机系统原理实验 实验课时:32课时 实验项目名称:BombLab二进制炸弹 实验材料:可执行文件bomb.源代码bomb.c.说明README 实验环境:Linux操作系统(安装虚拟机和 ...

最新文章

  1. php javascript wav波形绘制,PHP分析.wav文件并绘制png格式的波形图
  2. saltstack执行state.sls耗时长的坑
  3. .NET智能客户端(SmartClient)
  4. C++ 传指针还是引用?
  5. 视图 - 创建及修改视图
  6. cmake 找不到 macros_愿我们在彼此看不到的岁月里熠熠生辉
  7. eclipse3.4 SVN插件安装
  8. gis影像格式img转为ecw_医学影像图片格式
  9. html 图片防盗链,【反防盗链】介绍一个对付图片防盗链的方法
  10. SPFA ----模板 O(kE) (k一般不超过2)
  11. Spring Boot 2.2 正式发布,大幅性能提升 Java 13 支持 | CSDN 博文精选
  12. 鸿蒙系统更新法定年龄,超25000位开发者参赛,华为首届鸿蒙开发者创新大赛创意满满...
  13. 基于SSM的疫情数据统计分析系统
  14. aurelia_Aurelia历险记:创建自定义PDF查看器
  15. Python系列之:Dash从入门到精通系列一
  16. python批量打印word文件
  17. 华硕天选3笔记本电脑WiFi功能消失
  18. 无人驾驶全局路径规划之路径平滑(贝塞尔曲线)
  19. WARNING: disk usage in log directory [/home/.../.ros/log] is over 1GB. 问题解决办法
  20. el-tree修改前面箭头图标

热门文章

  1. 如何科学地评价妹子身材?三围符合黄金比例是审美标准?你错了!
  2. Mac使用技巧:M1芯片的电脑恢复模式如何开启
  3. Hex Fiend很强大
  4. NYOJ54-小明的存钱计划
  5. Linux 用户权限(Centos 7)
  6. android水波进度条,Android--水波纹进度条
  7. 正则表达式-验证座机号码
  8. 白领失眠危害大 如何拯救上班族?
  9. 使用 Docker 搭建 mysql 数据库
  10. Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数