1) 关于fake-serial的弹窗,可以用od来设置断点,捕获messageBoxW来获取fake-serial弹窗位置,该位置上翻到行首,就应该是这个弹窗的段落代码,大量的地址检测序列号结果都会跳转到最后都是汇总到该段落。可以直接在段首设置retn来返回实现消灭弹窗(好像将该段落整段都NOP掉依然可以),但是后续还是有一个注册的对话框会弹出,不过可以正常关闭,不影响idm使用。

2) 如果不是非法序列号而是采用试用的方式,那么弹出提示试用过期或者剩余天数的对话框依然在这个位置,同样可以采用行首retn的方式来返回达到消灭弹窗,但是试用的方式有一个好处,就是这个弹窗后面不会再弹出注册的对话框,也就是说把这个弹窗消灭之后,那么IDM看起来就显得很正常。不过尚未测试30天之后是否需要重新试用。这个方案为自己目前实验出来的较好方案之一!

3) 还有一种暴力方案,就是用od干掉fake-serial的弹窗,然后用Reshacker干掉后续提示注册的对话框(直接删除dialogbox资源),这样idm就不会出现弹窗,并且也不会出现提示注册的对话框,不过会出现一个新的情况,就是下载结束后idm会自动退出。而且这个时候可以利用rs将idman.exe的资源注册对话框中的信息修改为注册信息(掩耳盗铃!)这个方案为自己目前实验出来的较好方案之二!

4) 目前OD的逆向卡壳在一个部位,猜测就是fake serial的弹窗之后应该有个返回地址,返回到该地之后会继续执行提示注册的弹窗,如果找到这个位置,那么就可以实现完美效果。

5) 上述的前提依然是:禁止hosts被修改,且防火墙限制IDM的ip地址。

6) 一个很纠结的地方,就是IDM已经被限制联网检测序列号,但是依然可以知道当前的序列号是假号,这个应该在注册表内部放了个标记,这个标记一直没找到!