过期罐头电脑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3732|回复: 0
收起左侧

windows xp系统下用debug查看内存和汇编指令

[复制链接]
hxshanji 2013-6-16 17:56:02 | 显示全部楼层
简单介绍下debug查看内存中的机器码,已经查看汇编指令的方法。
-r 参数用来查看CPU中存放器的值,以及改变存放器的值。
201363233826441.jpg
至于那些神马AX,BX,CX,DX的都不用说了,CS跟IP更不用说了,指向了要执行的下一条指令。
可以用-r cs或者-r ip来改变它们的值。如图[ghost win7纯净版]:
201363233826441.jpg
这样我们就可以让CS:IP指向我们希望的指向内存地址,从而可能执行我们预先在该地址保存好的代码。
-D命令:用来查看内存中的值。比方:
201363233826441.jpg 如图[ghost win7纯净版]:最左边的是内存的地址,用基地址:偏移量的方式给出,中间保存的是内存中的机器码,一行刚好15个字节,而最右边则是对这些数据敌对应的可显示的ASCII字符,对于没有的,则用.替代。所以假如想看一下,右边输出hello之类的 东西,则可以向指令里面写如这些字符的ASCII码。
-E命令:改写内存中的内容。上面已经说到了,下面我们来试试,用E改变CS:IP里面保存的指令。
201363233826441.jpg 如图[ghost win7纯净版]:使用' ‘的格式就可以向里面输入字符了,右边出现了字符hello,所以我们可以觉得中间的数据就是对应字符的ASCII码,我们之所以看到h是68,那是由于这是十六进制的数据,h真正的ASCII码应该是6*16+8=104,所以是吻合的。比方我们像内存里面写入:61(也就是6*16=97)
201363233826441.jpg
而0到9几个数字ASCII码的十六机制刚好是3x,也就是48+x.这点必须的搞清楚。
好,搞了这么长时间的E命令,我们在看看U命令,它用来查看机器码对应的汇编代码。比方: 201363233826441.jpg 可以看到十六进制的61对应的汇编还是61?所以我们可以用-e写入机器码,然后用-u来查看汇编指令。
-A:以汇编的方式向内存写入指令。比方:

还有一个命令就是-t,也就是执行,不多说了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

一键重装系统|雨人系统下载|联系我们|网站地图|过期罐头电脑论坛

GMT+8, 2024-4-26 04:31 , Processed in 0.039096 second(s), 28 queries .

官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!

Powered by Discuz!

专注于win7_win10_win11系统下载装机

© 2010-2023 GQGTPC.Com

快速回复 返回顶部 返回列表