随笔分类 -  汇编

摘要:内中断编程框架解释1,安装:安装就是把中断需要执行的代码copy到一个空白不使用的区域,一般使用rep movsb指令执行2,设置中断向量表:中断向量表是中断向量的列表,就是中断处理程序的入口地址,此时需要将要调用的中断入口地址更改为之前copy的区域3,调用内中断:使用int N,调用内中断ass... 阅读全文
posted @ 2017-03-09 16:21 vspiders 阅读(179) 评论(0) 推荐(0)
摘要:逆向时设置断点,由于call指令会把父函数的下一eip压住栈中,然后进入子函数,因此断点设置到子函数中时通过查看栈的返回地址从而返回父函数。同时,父函数中不能随意设置eip,要从函数的开始设置,或者在该函数开始设置断点。只有所有寄存器达到一定的状态时才能够调出理想的结果。 阅读全文
posted @ 2017-02-21 11:31 vspiders 阅读(114) 评论(0) 推荐(0)
摘要:SS, SP, BP 三个寄存器SS:存放栈的段地址;SP:堆栈寄存器SP(stack pointer)存放栈的偏移地址;BP: 基数指针寄存器BP(base pointer)是一个寄存器,它的用途有点特殊,是和堆栈指针SP联合使用的,作为SP校准使用的,只有在寻找堆栈里的数据和使用个别的寻址方式... 阅读全文
posted @ 2017-02-18 17:51 vspiders 阅读(1856) 评论(0) 推荐(0)
摘要:gdb查看指定地址的内存地址的值:examine 简写 x-----使用gdb> help x 来查看使用方式 x/ (n,f,u为可选参数) n: 需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义 f:显示格式 ... 阅读全文
posted @ 2017-02-15 14:22 vspiders 阅读(150) 评论(0) 推荐(0)
摘要:mov指令的作用: mov指令可能是汇编里用的最多的指令了,完成c语言里的赋值。mov指令种类:1.普通的mov指令2.做符号扩展的movs3.做零扩展的movz1.普通mov的种类有:movb #完成1个字节的复制movw #完成2个字节的复制movl #完成4个字节的复制movq #完成8... 阅读全文
posted @ 2017-01-25 09:42 vspiders 阅读(2810) 评论(0) 推荐(0)
摘要:lea不止可以完成mov的功能,他还可以加载存储器的有效地址,即D<-&S借鉴深度理解计算机系统里:指令Leal实际上是movl指令的变形。他的指令形式是从存储器读数据到寄存器,但实际上他根本就没有引用存储器。他的第一个操作数看上去是一个寄存器引用,但该指令并不是从指定的位置读入数据,而是将有效地地... 阅读全文
posted @ 2017-01-24 19:05 vspiders 阅读(247) 评论(0) 推荐(0)