存档

文章标签 ‘断点’

两次内存断点法寻找OEP

2011年9月11日 没有评论

逆向过程中通过会遇到脱壳的过程,而脱壳的方式有有多重,如果手工脱壳,需要找到OEP。
所谓“两次内存断点法寻找OEP”,按照《加密与解密*第三版》上的解释来说,就是这样的。
一般的外壳会依次对.text、.rdata、.data、.rsrc区块进行解压(解密)处理,所以,可以先在.rdata、.data等区块下内存访问断点,中断后,此时代码已解压,接着再对代码段(.text)下内存访问断点,即可到达OEP。
我个人的理解是所有节区都解压完毕之后,然后程序的执行流会转移到OEP,这个时候自然回去访[......]

继续阅读

分类: 逆向调试 标签: , , , ,

WinDBG调试断点命令详解

2010年12月23日 4 条评论

WinDBG 提供了多种设断点的命令:bp, bu, bm, ba。
bp命令是在某个地址下断点,可以bp 0x7783FEB,也可以bp MyApp!SomeFunction。对于后者,WinDBG会自动找到MyApp!SomeFunction 对应的地址并设置断点。 但是使用bp的问题在于:1)当代码修改之后,函数地址改变,该断点仍然保持在相同位置,不一定继续有效; 2)WinDBG 不会把bp断点保存工作空间中。所以,我比较喜欢用bu命令。
bu命令是针对某个符号下断点。 比如bu MyA[......]

继续阅读