分享

干掉易语言时钟【另类方法】

 时来运转小概率 2016-02-13
大家好!我是风动鸣
第一次发教程,请大家多多指教 多多包涵

OD调试带有时钟的易语言程序时

要干掉时钟 我知道的有种方法 (新增一种方法 请看后面)

1,使用工具 附上工具 XueTr.rar (3.29 MB, 下载次数: 40)
恒大工具包地址:http://www./thread-1957-1-1.html



移除所有定时器


2,在 事件call 下条件断点







F9运行起来后 看图:



值得注意的是:如果程序不只一个时钟呢 那么要怎么写条件断点呢








举个相反的例子 在事件call 下条件断点 只让时钟函数断下来
要做到这个效果 我先把两时钟都停下来 按界面的两个停止按钮即可












好了 以上两个方法 都是 恒大 教的 之前我根本就不懂的
3,使用API  KillTimer 【干掉时钟】 (这个才是我真正要介绍的)
它有两个参数 具体看图



要调用 KillTimer 函数
首先要知道它的函数地址
看上图: 地址为 77D18C42
两个参数:
TimerID的值是固定的 0x3E8 【就是十进制的1000
那么时钟的句柄怎么找呢 看下图







函数地址:77D18C42
两个时钟句柄:000F02A2   0011028A
TimerID : 0x3E8
接下来就是使用KillTimer 函数了 还是看图吧



004010D0  /.  55            push ebp
004010D1  |.  8BEC          mov ebp,esp
004010D3  |.  68 E8030000   push 0x3E8
004010D8  |.  68 A2020F00   push 0xF02A2
004010DD  |.  E8 607B9177   call 77D18C42
004010E2  |.  8BE5         mov esp,ebp
004010E4  |.  5D          pop ebp
004010E5  \.  C3          retn
禁用 事件call断点 F9 看效果



可能会有两种情况出现
a,你修改的时钟函数 写入的时钟句柄刚好是本时钟的句柄 那么停止后可能有问题 时钟自己停止自己
b,你修改的时钟函数 写入的时钟句柄 是 另一个时钟的句柄 意思是这个时钟 停止另一个时钟
总结:虽然调用API KillTimer 来干掉时钟 很麻烦 但是是一个不错的思路
大家可以试试 使用 SetTimer 来改变时钟周期

4,作废SetTimer (开启时钟用的)
还是直接上图
















作废SetTimer 来干掉时钟是最省事的 大家学到了没?
最后, 思路不只是针对这个程序 所以的程序都可能适用 恒大 说过 要灵活点 要懂得举一反三!!!

附上恒大的免费公开教程 http://www./thread-13269-1-1.html

不知道以上有没有营养 谢谢观看。


觉得对你有帮助,记得加“热心哦!

免币下载地址:

本帖隐藏的内容

链接:http://pan.baidu.com/s/1i3lQQSd 密码:i8a8


附上程序和源码: 程序和源码.rar (236.71 KB, 下载次数: 0)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多