结合OD的RUN跟踪找到汇编程序中的消息处理函数

一直想找到OD的记录运行过的代码的功能,今天终于弄出来了,使用RUN跟踪,然后在OD的查看-》RUN跟踪里就可以看到所有运行过的代码了。
首先讨论一下寻找消息处理函数的方法-》寻找USER32.DefWindowProcA函数法,这个寻找消息处理函数的方法基于一个事实:程序只对自己感兴趣的消息进行处理,而对自己不感兴趣的消息则交给windows默认的方法处理,这个方法就是USER32.DefWindowProcA,因此找到了程序中对这个函数的调用就意味着找到了消息响应函数。但是这种方法的局限性很大,比如对于MFC程序,由于MFC程序的消息处理机制基本是一个新的结构,所以,第一,找不到USER32.DefWindowProcA,第二,找到了也没用。对于其他编译器生成的程序还没有试验,不知道这个方法有没有效果,有待验证。
OD提供的RUN跟踪功能正合我的心意,这个功能基本上将程序走过的每一步都记录下来,实现的办法是在想要记录的程序断的前后两头下断点,然后右键-》添加函数过程的分支 右键-》添加函数过程的入口,然后F9运行程序,程序暂停以后点击查看-》RUN跟踪就能看到记录下来的代码了。RUN跟踪的功能暂时还没有完全摸清,还要再实验一阵子,这是一把利器,一定要掌握好啊!

转载于:https://www.cnblogs.com/feiyucq/archive/2009/07/26/1531356.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值