实验五

qglqgl qglqgl     2023-01-24     346

关键词:

 

一:代码如下

技术分享图片

经过编译连接后得到可执行文件a1.exe

技术分享图片

若要得到相应的结果需要对程序进行运行

首先对其进行反汇编(首先代码所占的总字节数为cx=42h而除了分贝配栈段和地址段20h后所得到的代码长度应该为21h)查看各个命令所对应的代码段地址,以方便用-g命令对其运行

技术分享图片

 

 

使用-d命令查看数据段

技术分享图片

根据上面两个图即可得到data段数据已及各个寄存器的值

 

 技术分享图片

二:代码如下

技术分享图片

 经过编译连接后便可得到可执行文件a2.exe

经过查看后可以得到代码的数cx=42h而除去赋值的命令所得到的code段的代码条数应该为42h-8h=3ah

技术分享图片

经过反汇编后

技术分享图片

 可以看出反汇编的范围扩大了;虽然数据段和栈段中所定义的数据减少了但是所得到的结果仍然与实验一的结果一样

猜想数据段和栈中的数据以默认16个字节为一组的方式进填充了

将data段中的赋值语句dw  0123h,0456h;删除后重新进行编译连接所得到得结果如下图

 技术分享图片

命令减少了10h;于是乎便可得到最后一题的结果

 

 经过g命令和的命令即可查看内存中的值已及寄存器的值

技术分享图片

 技术分享图片

 

 

 三:代码如下图所示

技术分享图片

经过编译和连接后我们可以得到可执行文件a3.exe

技术分享图片

 

首先进行反汇编:可以看出代码数为44h根据实验2中的结论得代码段中的命令所占的字节数为24h

于是可以得到

技术分享图片

使用g命令进行运行随后使用d命令查看内存

技术分享图片

于是结果如下图

技术分享图片

 

 四:(1)

修改代码经过编译连接后反汇编

技术分享图片

文件a1运行失败

 (2)

技术分享图片

文件a2运行失败

(3)

技术分享图片

文件a3运行成功

原因:当没有知名的程序入口时end指令便会从当前的cs:ip值开始进入程序而实验1和2中前面都有一段赋值语句

所以实际的代码段的ip地址已经不是end所进入的数值(当前的ip为0)。我们知道实验1和2中代码开始段应为23以一

为例反汇编得

技术分享图片

五:编写代码如下

 技术分享图片

经过编译连接等步骤得到可执行文件

技术分享图片

总共有5b个字节于是反汇编要29如下图

技术分享图片

 

并运行程序

技术分享图片

 

 

查看运行结果 

技术分享图片

 

 

 

 

 

 

六:实验代码如图所示(不知为何当s:后面的push为[ax]时程序一直有错误(前面和后面的指令也都为相应的ax))

技术分享图片

bebug后得到了

技术分享图片

所以可以知道是几代码段的长度为(64+15-16-32)1f于是进行反汇编

技术分享图片

执行g命令和d命令查看代码

技术分享图片

 

 

 

 

 

 

 

 

 

 

 

 

 实验小结

1.16位汇编中的-u命令需要输入从起始位置到终止位置的地址,否则默认反汇编显示32个字节的地址如下图少了int21h技术分享图片

 2.16位汇编不能使用ax间址寻址,只有BX、BP、SI、DI才可以。32位程序才可以用任意32位寄存器间址寻址。

 疑惑:实验3中的精确反汇编位数为何不是23而是21

实验报告五

201823132019-2020-1《数据结构与面向对象程序设计》实验五报告课程:《程序设计与数据结构》班级:1823姓名:刘尧学号:20182313实验教师:王志强实验日期:2019年9月30日必修/选修:必修1.实验内容 查看详情

20145301&20145321&20145335实验五

20145301&20145321&20145335实验五这次实验我的组员为:20145301赵嘉鑫、20145321曾子誉、20145335郝昊实验内容详见:实验五 查看详情

2017-2018-120155216实验五:通讯协议设计

2017-2018-120155216实验物:通讯协议设计实验五通讯协议设计-1实验要求:在Ubuntu中完成http://www.cnblogs.com/rocedu/p/5087623.html中的作业提交运行结果截图实验结果:实验五通讯协议设计-2实验要求:在Ubuntu中实现对实验二中的“wc服务器... 查看详情

实验五

安装windowsXP虚拟机配置Metasploit设置目标地址成功连接到目标主机  查看详情

实验五

查看详情

实验五

     查看详情

2017-2018-120162307实验五

2017-2018-120162307实验五北京电子科技学院(BESTI)实验报告课程:程序设计与数据结构班级:1623姓名:张韵琪学号:20162307指导教师:娄嘉鹏老师、王志强老师实验日期:2017年12月11号实验密级:非密级实验时间:三天必修/选修:... 查看详情

实验五数据结构综合应用

20162317袁逸灏实验五数据结构综合应用实验内容实验五-1-编译、运行、测试gitclone小组项目编译项目,提交编译成功截图(全屏,要有学号信息)提交运行过程中的截图(全屏,要有学号信息)实验五-2-代码修改在小组项目中,... 查看详情

实验报告五

...学Chinesepeople’ publicsecurityuniversity 网络对抗技术实验报告 实验五                   web攻击靶机解题过程   学生姓名栗克宇 年级15 区队 三指导教师        ... 查看详情

20162316刘诚昊实验五-数据结构综合应用

20162316刘诚昊2017-2018-2《Java程序设计》第五次实验数据结构综合应用实验链接:实验五AndroidStudio遇到的错误-1实验五图的实现与应用-2实验五图的实现与应用-3实验五关于AndroidStudio无法在虚拟机中运行游戏的问题与解决途径-1:错... 查看详情

20162326齐力锋实验五

查看详情

区块链技术与应用实验报告(实验五)(代码片段)

文章目录区块链技术与应用实验报告(实验五)关于作者作者介绍一、实验目的二、实验原理简介三、实验环境四、实验步骤1.解压缩即可完成安装。2.生成快捷方式3.修改bitcoin-qt属性4.进入BitcoinCore的Testnet版客户端5.删除wallet.dat... 查看详情

2017-2018-220165209实验五《网络编程与安全》实验报告(代码片段)

2017-2018-220165209实验五《网络编程与安全》实验报告实验报告封面北京电子科技学院(BESTI)实验报告课程:Java程序设计班级:1652姓名:陈思兵学号:20165209成绩:指导教师:娄嘉鹏实验日期:2018年5月28日实验密级:预习程度:... 查看详情

2018-2019-220175306实验五《网络编程与安全》实验报告(代码片段)

目录2018-2019-220175306实验五《网络编程与安全》实验报告实验步骤(一)网络编程与安全-1实验要求:实验代码:运行截图:(二)网络编程与安全-2实验要求:知识点:运行结果:我负责服务器端(三)网络编程与安全-3实验要... 查看详情

计算机系统实验五cache实验(代码片段)

计算机系统(2)实验五Cache实验一、实验目标:二、实验环境:三、实验内容与步骤四、实验结果及分析五、实验总结与体会一、实验目标:了解Cache对系统性能的影响二、实验环境:个人电脑(IntelCPU... 查看详情

2019.6.6实验五

    查看详情

20165323实验五网络编程与安全

一、实验报告封面课程:Java程序设计班级:1653班姓名:杨金川学号:20165323指导教师:娄嘉鹏实验日期:2018年5月28日实验时间:15:25-17:15实验序号:实验五实验名称:网络编程与安全二、实验要求1.没有Linux基础的同学建议先学... 查看详情

实验五实验报告

实验五实验项目分析系统架构系统架构图编译、运行、测试系统首先我在我的电脑里建立了有名称要求的文件夹,然后打开AndroidStudioclone了我们的小组项目。此处因为已经clone过了,所以无法再把这个项目clone进去进行编译,运... 查看详情