逆向呢,是一门天马行空的艺术。
就拿这个限制次数来说
先分析
1 记录到某个文件。
这个文件可能在安装目录,也可能不在安装目录。
2 记录到注册表。
这个没啥说的。
3 记录到网络服务器。
这个很好验证,把网断了试试。如果还是正常累加就不是这个方案
4 记录到当前程序本身。
这个操作比较另类,一般人不会用,最多就是开发病毒,木马,外挂的兄弟们会用。
我就不具体讲是什么操作了。
但是实际作用有限,毕竟如果我重新解压一份,这个完全就没有效果了。
=====================分割线=======
通过重新解压和断网,我们现在排除了第三种和第四种方案。
那么接下来,如何确定是第一种还是第二种方案呢。
如果有高手有其他方法可以确定,请联系我。
我今天就用OD来看看。
这里补充一点,OD会列出程序都使用了哪些系统库和哪些接口,我是看到有使用注册表操作接口才进来的。
到底是哪一种。在插件中的ApiBreak中注册表断点,选中注册表数值获取接口(因为运行必然先读嘛)。
shift+F9运行一次。停在了这里。
F8一路往下,来到这里。
这里的32就是十六进制的50了。
看这个EDI
这里修改的逻辑就有很多了 比如把50改很大,或者直接跳到正常打开方式,
或者直接屏蔽掉注册表读取,从源头就不检测。
去注册表里找一下,
这就是那个次数了。先复原改为0
再打开软件看看。我也只是想把次数复原为零而已,没想到直接变注册版了。
例子程序和OD我都附到下面了。