二进制炸弹实验phase2

8048c99: 55 push %ebp
8048c9a: 89 e5 mov %esp,%ebp
8048c9c: 56 push %esi
8048c9d: 53 push %ebx
8048c9e: 83 ec 30 sub $0x30,%esp
8048ca1: 8d 45 e0 lea -0x20(%ebp),%eax
8048ca4: 89 44 24 04 mov %eax,0x4(%esp)
8048ca8: 8b 45 08 mov 0x8(%ebp),%eax
8048cab: 89 04 24 mov %eax,(%esp)
8048cae: e8 24 04 00 00 call 80490d7
8048cb3: 83 7d e0 01 cmpl $0x1,-0x20(%ebp)
8048cb7: 74 05 je 8048cbe
8048cb9: e8 d7 03 00 00 call 8049095
8048cbe: bb 02 00 00 00 mov $0x2,%ebx
8048cc3: 8d 75 e0 lea -0x20(%ebp),%esi
8048cc6: 8b 44 9e f8 mov -0x8(%esi,%ebx,4),%eax
8048cca: 01 c0 add %eax,%eax
8048ccc: 39 44 9e fc cmp %eax,-0x4(%esi,%ebx,4)
8048cd0: 74 05 je 8048cd7
8048cd2: e8 be 03 00 00 call 8049095
8048cd7: 83 c3 01 add $0x1,%ebx
8048cda: 83 fb 07 cmp $0x7,%ebx
8048cdd: 75 e7 jne 8048cc6
8048cdf: 83 c4 30 add $0x30,%esp
8048ce2: 5b pop %ebx
8048ce3: 5e pop %esi
8048ce4: 5d pop %ebp
8048ce5: c3 ret

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
CSAPP LAB————二进制炸弹(bomblab)
LAB3 预先准备 首先查看整个bomb.c的代码,发现整个炸弹组是由6个小炸弹(函数)组成的。整个main函数比较简单,函数间变量几乎没有影响。因此,只需要依次解除6个小炸弹即可。 所以,接下来便开始依次调试各函数。 调试函数1: 汇编源码与说明: Dump of assembler code for functionphase_1: 0x08048f61 : pus
CSAPP第二次实验 bomb二进制炸弹的破解
一个关于破解的初级实验。考的就是汇编代码的熟练程度和分析能力。不过有几个函数长的让人吐血。本着不轻易爆炸的原则,只好慢慢调咯。 1. 反汇编bomb     用objdump直接反汇编出汇编代码。 objdump -d ./bomb > bomb.s     可以看到以phase开始的八个函数,其中有1-6 6个必过关卡,还有一个defused是检测是否触发了进入secret的函数,而
csapp lab2 bomb 二进制炸弹《深入理解计算机系统》
bomb炸弹实验 首先对bomb这个文件进行反汇编,得到一个1000+的汇编程序,看的头大。 phase_1: 0000000000400ef0 : 400ef0: 48 83 ec 08 sub $0x8,%rsp 400ef4: be 18 1b 40 00 mov $0x401b18,%esi 400ef9: e
二进制炸弹实验
在这个实验中,我们需要使用反汇编工具得到汇编代码,并且通过分析和使用gdb调试工具来拆除6个炸弹. 首先通过objdump -d bomb 反汇编bomb得到bomb的汇编代码 首先看phase_1的代码 phase_1考察的是过程调用的参数传递和栈 phase_1开辟了8个字节大小的栈帧,是用来在callq时将下一条指令的地址,即400eee压栈. 输入字符串的
二进制炸弹实验报告
接触《深入理解计算机系统》这
CSAPP深入理解计算机系统实验2-二进制炸弹(Windows版本)
CSAPP大名鼎鼎了,网上许多人都完成了其独具特色的实验,特别是二进制炸弹、缓冲区炸弹等。     二进制炸弹实验,主要锻炼学习者使用反汇编工具对二进制可执行程序调试、分析的能力。学习者首先需要使用调试器调试bomb可执行文件,对其进行反汇编分析,找出炸弹逻辑,并输入正确的密码,以便顺利拆除炸弹。     由于许多学习者对Linux不熟悉、对英文不熟悉,所以存在较大的畏惧心理。据此,我依据CS
二进制拆炸弹bomb实验第一弹
卡耐基梅隆大学著名的实验之一:二进制炸弹bomb第一弹
二进制炸弹实验binarybomb 拆弹
写在前面这个实验是系统级编程的课程实验,非常有意思,给定一个可执行文件bomb.exe,这个程序打开之后需要用户输入一些东西,只有输入指定的字符串或者数字才能到达下一个步骤,一共有7个步骤,如果输入错误,屏幕会显示boom!!并退出程序,意味着你引爆了这个炸弹。你需要反汇编这个可执行文件来找到拆弹的线索。老师给我们提供了两种方法:使用GDB+objdump来反汇编;使用IDA 来反汇编做本实验采用的
【CSAPP】二进制炸弹 实验分析
LAB2 二进制炸弹实验是CSAPP配套实验中最有名的一个,实验一共分为6关,每关难度依次递增。独立完成还是需要很大一块时间的。 做完这个实验能够让我们理解汇编语言的原理,GDB调试器的使用,以及进一步了解一个HELLO WORLD程序背后到底发生了什么。 【必要的知识储备】 objdump -t   bomb  >  name.txt  列出可执行文件bomb包含的所有函数名字和全局变
二进制炸弹(第二次实验)
实验目的本实验通过要求你使用课程所学知识拆除一个“binary bombs”来增强对程序的机器级表示、汇编语言、调试器和逆向工程等方面原理与技能的掌握。 一个“binary bombs”(二进制炸弹,下文将简称为炸弹)是一个Linux可执行程序,包含了6个阶段(或层次、关卡)。炸弹运行的每个阶段要求你输入一个特定字符串,你的输入符合程序预期的输入,该阶段的炸弹就被拆除引信即解除了,否则炸弹“爆炸”
逆向工程实验---二进制炸弹(CSAPP Project)
本实验设计为一个黑客拆解二进制炸弹的游戏。我们仅给黑客(同学)提供一个二进制可执行文件bomb和主函数所在的源程序bomb.c,不提供每个关卡的源代码。程序运行中有6个关卡(6个phase),每个关卡需要用户输入正确的字符串或数字才能通关,否则会引爆炸弹(打印出一条错误信息,并导致评分下降)!要求同学运用GDB调试工具和objdump反汇编工具,通过分析汇编代码,找到在每个phase程序段中,引导程
二进制炸弹(binary bomb)——计算机体系与组成结构作业
这是来自于CS:APP的一个著名实验“拆解二进制炸弹”,也是我们的计算机组成与体系结构课程的家庭作业 这个实验也让我学会了怎么进行反汇编和使用GDB调试程序 解决问题的过程如下:Phase_1
深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_2)
本文接深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_1)继续写,记录对bomb程序炸弹实验phase_2函数部分的探索过程。
CS:APP二进制炸弹phase6
CS:APP二进制炸弹phase6
计算机系统原理实验之BombLab二进制炸弹1、2关
实验目的:通过二进制炸弹实验,熟悉汇编语言,反汇编工具objdump以及gdb调试工具。实验过程:实验包里有三个文件,分别是二进制可执行文件bomb,C语言源程序文件bomb.c以及一个README-bomblab.txt文件。分别打开看了一下,C语言源程序文件bomb.c文件不是完整的那种C代码文件,她只是给出了一些入口的指引,用input输入数据,但怎么处理这些输入的参数它并没有显示。然后这三...
CSAPP课程实验 bomb实验 拆炸弹实验 (2)
关卡1-3 phase1-3 正式进入关卡1,phase_1 首先是关卡1的汇编代码为: 可以看到前3句是非常熟悉的栈开辟代码,下面一起来看一下基本的栈调用过程的汇编代码:在gcc下是AT&T格式的,源操作数,目的操作数 Push  %ebp                     保存 ebp原有的值,防止被新调用的函数覆盖修改,在退出函数时通过pop ebp 恢。ebp每次
CS:APP二进制炸弹phase5
CS:APP二进制炸弹phase5
CSAPP课程实验 bomb实验 拆炸弹实验(1)
由于内容较长,所以打算分成几个部分来写。 实验准备知识: 实验三是CSAPP课程中的bomb炸弹实验。一个非常有意思的实验。实验主要提供了2个文件,一个bomb二进制可执行文件,一个bomb.c C源文件。实验主要设置6个关卡phase,要求你每一关输入一个特定的字符串,来拆掉炸弹。主要是考察对汇编语言的熟悉理解程度,反汇编和逆向工程以及gdb调试。感觉datalab主要是对应教材的第二章
深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_1)
刚刚开始学习深入理解计算机系统(CSAPP)(原书第二版),初次接触到汇编语言,课程实验的第一个任务是二进制炸弹实验(bomb),书上的介绍是这样的:二进制炸弹是一个作为目标代码文件提供给学生的程序,运行时,它提示用户输入6个不同的字符串。如果其中的任何一个不正确,炸弹就会“爆炸”,打印出一条错误信息,并且在一个分级(grading)服务器上记录事件日志。学生们必须通过对程序反汇编和逆向工程来测定
CSAPP bomblab
Bomblab——二进制炸弹实验 学校:湖南大学 班级:智能 姓名:诸神   【实验目的】 理解汇编语言,学会使用gdb调试。 【实验原理】 二进制炸弹是作为一个目标代码文件提供给学生们的程序,运行时,它提示用户输入6个不同的字符串。如果其中任何一个不正确,炸弹就会“爆炸”:打印出一条错误信息。学生通过反汇编和逆向工程来确定是哪六个字符串,从而解除它们。 【实验过程】 一、反汇
CSAPP Lab2: bomblab拆炸弹实验(汇编代码的理解)
参考文章: 实验准备知识http://blog.csdn.net/shiyuqing1207/article/details/45849413 http://blog.csdn.net/shiyuqing1207/article/details/45849541 http://blog.csdn.net/shiyuqing1207/article/details/45872429 隐藏
CSAPP lab binary bomb 二进制炸弹
binary bomb (二进制炸弹),这是CSAPP的一个lab。大概的意思是:给出一个二进制的可执行文件,及其对应的C语言主程序(只有主程序,其中调用的函数没有源代码)。运行这个可执行文件的时候,会有若干个“关卡”,每一个“关卡”会要求学生输入一些东西,经过处理后,如果与预计的相符,就解除了“炸弹”,进入下一关。如果输入不对,“炸弹”爆炸。学生要做的,就是利用GDB, objdump等工具,找出
CS:APP二进制炸弹phase2
CS:APP二进制炸弹phase2
CSAPP实验2:Bomb Lab
这是《深入理解计算机系统(第3版)》的配套实验2:BombLab。实验相关的代码和说明可以从官网下载。
计算机系统_炸弹(boom)实验/逆向工程实验(phase_1)
一、实验要求       本实验设计为一个黑客拆解二进制炸弹的游戏。我们仅给黑客(同学)提供一个二进制可执行文件bomb_64和主函数所在的源程序bomb.c,不提供每个关卡的源代码。程序运行中有6个关卡(6个phase),每个关卡需要用户输入正确的字符串或数字才能通关,否则会引爆炸弹(打印出一条错误信息,并导致评分下降)!     要求同学运用GDB调试工具和objdump反汇编工具,通过分析汇...
lab实验介绍
lab二进制炸弹,课堂上的二进制炸弹lab二进制炸弹,课堂上的二进制炸弹lab二进制炸弹,课堂上的二进制炸弹lab二进制炸弹
计算机系统基础——bomblab实验环境配置
一、实验目的 1) 理解arm汇编语言,学会使用调试器。 2) 熟悉安卓开发板的使用和环境配置; 3)熟悉并掌握在linux系统下的shell命令使用。 二、实验环境 linux系统,终端,arm-gdb工具,安卓开发板 三、实验原理 二进制炸弹是作为一个目标代码文件提供给我们的程序,程序运行中有6个关卡(6个phase),运行时,它提示用户输入6个不同的字符串。如果其中任何一
CSAPP实验2:Bomb Lab笔记
实验简介 准备 汇编复习 反汇编 GDB Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 实验简介 ​ Bomb LAB 目的是熟悉汇编。 ​ 一共有7关,六个常规关卡和一个隐藏关卡,每次我们需要输入正确的拆弹密码才能进入下一关,而具体的拆弹密码藏在汇编代码中。实验中的bomb实际上是一个程序的二进制文件,该程序由一系列p...
二进制炸弹
CASPP的实验LAB3,二进制炸弹实验。详细分析了6个炸弹与隐藏函数。并讲解了解答过程。
CS:APP二进制炸弹开篇
破解CS:APP的二进制炸弹实验的过程。
CSAPP Lab2: Defusing a Binary Bomb实验材料
《深入理解计算机系统》实验二--拆除二进制炸弹 实验材料
逻辑炸弹程序
请不要轻易测试!!否则后果自负。当然,试以前先做一张特殊的DOS盘, 把IO.SYS中的80 3F 05 XX XX改为90 90 90 90 90。 # include # include # define N 0x200 main() { int i; unsigned char s[N]; biosdisk(2,0x80,0,0,1,1,s);
CSAPP Lab2 bomblab二进制炸弹
CSAPP Lab2 bomblab二进制炸弹 拆炸弹实验源代码 深入理解计算机系统课程实验二资料。程序设计与计算机系统课程。
深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_4)
本文接 深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_3)继续写,phase_4部分在昨天已经完成了,日志在今天才开始写。个人认为这个部分是整个bomb程序炸弹最难破解的部分,在破解的过程中发现这是一个递归函数,体现在汇编语言中就显得特征不是那么明显,所以采用了一种将汇编转化成与之等价的C语言语句,这样有助于更好的看清程序的运作过程。下面是我的探索过程。
csapp:bomblab原文件
caspp一书中经典的二进制炸弹实验,反汇编后的文件
反汇编-拆炸弹bomb实验
拆炸弹解题报告 时间原因先写这些,占坑,持久更新。 作者信息: 2016级计算机基Frankdura phase1 输入开始字符 【答案】Let’s begin now! phase2 id后5位阶乘,首位为1 【答案】(id:123456111111)111111 phase3 switch-case操作 【答案】(多种)4 o 228 先比较后面的228 然后再比较中间...
二进制炸弹拆弹记录
学校布置了二进制炸弹的作业,一边查攻略一边自己拆,零零总总花了两三天拆完了。拆的时候感觉看一看前人的经验,进度真的快很多,所以虽然自己也只是个小白,还是想把心得放上来供大家参考。写在前面感谢 https://www.cnblogs.com/liqiuhao/p/7624880.html和https://blog.csdn.net/the_v_/article/details/46842337/这两...
使用angr和Radare解决CMU的二进制炸弹
前言最近在学习angr的使用,主要是如何利用angr来进行符号执行分析。发现了国外一篇比较实用的文章介绍如何使用angr和Radare(二进制分析框架)来分析CMU的二进制炸弹问题。故在此翻译一下这篇文章的工作。angrangr是一个使用python语言编写的二进制分析框架,它主要是进行静态和动态的符号分析,现已成为CTF比赛的一大利器。angr最主要的一个工具就是符号执行,具体的符号执行可以参考M
深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_5)
本文接 深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_4)写,已经坚持写了四个部分,最近把第五关破解了,发现这次的关卡是和数组相关的,接下来简单讲讲破解的过程。
CSAPP实验四----缓冲区溢出实验bufbomb
在网上关于这个的实验有几个版本,这个版本只有三关,都比较基础,为了不让大家混淆,对本实验做一下说明: 文件说明     1. bufbomb : 主程序,有四个选项,最常用的是 -t ,后面加自己的姓名等,运行时会根据加入的参数生成cookie,第二关和第三关都会用到。     2.  sendstring :  翻译程序,实验要求将字符转化成ascii码输入,两位输入,即想输入0也要输