码迷,mamicode.com
首页 > 其他好文 > 详细

学习:KiUserExceptionDispatcher之寻找OEP

时间:2019-12-28 16:34:40      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:pack   inf   内存   运行   就会   原因   设置   异常   就是   

程序:UnPackMe_PELock1.06.d.exe

需要知道的:KiUserExceptionDispatcher的领空的当前堆栈地址ESP+0x14就是异常触发地址,这个函数是系统派发异常函数,也就是说所有异常都要经过该函数来派发,那么该函数中的参数也就会指向异常的位置,也就是ESP+0x14

方法:KiUserExceptionDispatcher也可以说是最后一次异常法的升级版,原因是如果异常数量过多的话就可以用这个最后一次异常法来进行定位OEP,手动的话工作量太大

1、运行程序,查看记录窗口的内容如下
技术图片

2、利用最后一次的异常来定位,发现最后一次的异常地址为003D6744,那么我们就可以给KiUserExceptionDispatcher函数设置条件记录断点,条件如下

技术图片

3、然后F9进行运行,发现成功断下,此时靠近OEP,然后对程序代码段进行内存断点,F9进行成功来到OEP

技术图片

技术图片

学习:KiUserExceptionDispatcher之寻找OEP

标签:pack   inf   内存   运行   就会   原因   设置   异常   就是   

原文地址:https://www.cnblogs.com/zpchcbd/p/12111737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!