摘要:
内存断点原理:OD会对所设置地址设置为不可访问或者不可写属性,这样当程序试图访问或者写入时就会产生异常,OD在截获这种异常后比较地址是否是设置的断点地址,这种方式会对程序的运行速度有很大的影响,所以只允许设置一个内存断点,但是在找到内存断点后可以使用一般的断点(这个是可以设置无数个的)进行调试。 内 阅读全文
posted @ 2019-12-17 22:33
zpchcbd
阅读(1205)
评论(0)
推荐(1)
摘要:
断点介绍: shark恒老师说有四种说法,但是其实都是相同的 第一个读法:普通断点 第二个读法:F2断点 第三个读法:INT3断点( int3其实就是汇编指令 ) 第四个读法:CC断点 (CC其实就是断点时候的十六进制的数据) 断点的实现: 1、载入OD找到以下地址进行断点,然后进行运行,发现运行到 阅读全文
posted @ 2019-12-17 21:16
zpchcbd
阅读(741)
评论(0)
推荐(0)
摘要:
直接载入OD,观察发现弹窗可能为MessageBox,那么进行对windows api函数的搜索 跟进反汇编窗口跟随函数,来到这里,直接进行断点操作 运行程序,跑到断点处,如下图 接着发现堆栈窗口有调用CALL,这个call自然是MessageBox的函数,那么直接反汇编窗口对这个call进行跟随, 阅读全文
posted @ 2019-12-17 19:43
zpchcbd
阅读(377)
评论(0)
推荐(0)
摘要:
思路: 1、清空寄存器中的值(大家默认都是在ecx中操作) 2、给ecx初始化为6 3、自减 4、判断是否为0,如果为0则P标志位为1,则不跳转,往下走,否则进行循环 第一种实现的方法: 第二种实现的方法: 第三种方法:loop指令,并且不受标志位影响 loop指令相当于 但是不懂的是为什么寄存器中 阅读全文
posted @ 2019-12-17 16:31
zpchcbd
阅读(3235)
评论(0)
推荐(0)
摘要:
JZ/JE指令:根据Z标志位进行跳转 JZ和JE相同(shark恒老师说的,我就记录下,但是他也说过不是完全相同) 1、直接定位到一个存在je跳转的地址,然后发现是存在跳转的,如图 上图的Z标志位为1,所以会进行跳转,但是如果修改Z标志位为0则不会,如图 同时JE和JZ也相同 JNZ/JNE指令:根 阅读全文
posted @ 2019-12-17 09:21
zpchcbd
阅读(3393)
评论(0)
推荐(0)

浙公网安备 33010602011771号