- 博客(6)
- 收藏
- 关注
转载 硬件断点
<br /><br />调试寄存器 DR0-DR3:<br /> 这四个寄存器是用来设置 断点地址的。断点的比对在物理地址转换前(异常产生时,还没有将线性地址转换成物理地址)。由于只有0-3四个保存地址的寄存器,所以,硬件断点,在物理上最多只能有4个。<br />调试寄存器DR4-DR5 :<br />这两个调试寄存器有CR4的DE标记控制。如果DE置位,那么对这两个寄存器的访问会导致#UD异常。如果DE置0,那么他们就被化名为DR6-DR7(你一定会问原来的DR6-DR7怎么办?这个…… 我也不知道。
2010-12-22 08:21:00 1966
原创 PE文件添加新区块
PE文件添加新区块1.NT头typedef struct _IMAGE_NT_HEADERS { DWORD Signature; IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER32 OptionalHeader;} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;2.可选头typedef struct _IMAGE_OPTIONAL_HEADER {
2010-12-18 20:18:00 2108
原创 从PEB遍历进程所有模块
<br />int main(int argc, char* argv[]){ BYTE *pbytePEB = NULL; _asm { mov eax, dword ptr fs:[0x30] mov pbytePEB, eax } printf("PEB Addr: %x/n", pbytePEB); BYTE *pLdrData = pbytePEB + 0x0C; pLdrData = (BYTE *)*(DWORD *)pLdrDa
2010-12-11 18:56:00 4417
转载 MASM 6.11系统中 用伪指令实现的分支结构
<br />转载自: http://hi.baidu.com/younthu/blog/item/75b8946d0e28bdff4216944a.html<br /> <br />用伪指令实现的分支结构<br />为了改善汇编语言源程序的结构,减少显式转移语句所带来混乱,在宏汇编MASM 6.11系统中,增加了表达分支结构的伪指令。该伪指令的书写格式与高级语言的书写方式相类似,汇编程序在汇编时会自动增加转移指令和相应的标号。理解并掌握该知识,对将来学习《编译原理》课程也有一定的帮助。<br />分支伪指令
2010-12-05 19:44:00 1549
原创 跳转指令
<br /> <br /> <br /> <br /><br /><1><br />无符号跳转指令(A 和 B) 跳转条件<br />JA 大于则跳转(leftOp > rightOp) <br />JNBE 不小于或相等则跳转(同JA指令) ZF=0且CF=0<br /><br />JAE 大于或等于则跳转(leftOp >= rightOp) <br />JNB 不小于则跳转(同JEA指令) CF=0<br /><br />JB 小于则跳转(leftOp < rightOp)
2010-12-03 21:26:00 2344
转载 OD条件与消息断点的设置方法 (转)
<br /><br />编写整理:Coderui<br /> <br /> <br />一、条件断点:<br />使用方法(如):<br />在当前行按[Shift+F2]键->条件断点(这个不太好用,因为程序BUG偶尔失效)。<br />在当前行按[Shift+F4]键->条件记录断点(只要设置上条件语句和按什么条件生效就可以了)。<br />条件语句(如):<br />EAX == 00401000 ; 当EAX的值为00401000时。<br />[EAX]
2010-12-02 21:08:00 816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人