汇编笔记2-查看PSP

1.指令基础QAQ

debug -r //查看CPU中各个寄存器的中的内容

debug -r ax //改变寄存器中的内容

debug -d(段地址:偏移地址) //查看内存中的内容

D命令,Debug 将输出3部分内容

①从指定地址的开始的128个内存单元的内容

②左边是每行的起始地址

③右边是每个内存单元中的数据对应的可显示的ASCII字符

从1000:16到 1000:95也是128个字节。

debug -d 段地址:起始偏移地址 结尾偏移地址 //查看内存的其他方式

debug -e //改写内存中的内容

方法一 直接在内存空间后面写修改的内存

方法二 -e 地址 之后直接回车 然后写完第一个之后空格 结束回车

方法三 可以直接写入字符串

debug -u //将原有内容翻译为汇编指令

2.程序PSP的相关知识

一般来说,PSP是256个字节,当程度生成了可执行文件以后,在执行的时候,先将程序调入内存,这个时候DS中存入程序在内存中的段地址,紧接着是程序的一些说明,比如说程序占用多大空间等等,这就是PSP,一般PSP占256个字节,然后才是真正的程序地址,将CS指向这里,IP设为0000,为什么一般CS要比DS大10H,就是因为这个原因。

简单说:DS存放的是程序段地址,由于PSP的存在,真正要执行的地址是DS再加上256个字节,真正的地址是DS16+256化简一下:DS16+0+1616=16(DS+16)真正的地址又可以写成:cs*16+0

3.调试T1.exe程序

由2可知调试程序PSP的地址就是DS的地址

查看075C处的内容可知PSP的内容

总结

知识相辅相成,缺一不可,温故而知新,可以为师矣🙃

本文标题:汇编笔记2-查看PSP

文章作者:IceFeng

发布时间:2019年03月25日 - 21:28:52

最后更新:2019年03月26日 - 14:48:07

原始链接:https://www.icefeng.cc/2019/asm_2/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

------ 本文结束 ------
0%