逆向学习笔记03——reg验证

逆向学习笔记03——reg验证

1.查SE壳

(1)看前几行代码ascii码

    结果:

(2)分析代码

  

    结果:

2.思路

         已知限制使用次数的方法是注册表(REG)验证,即把使用次数写入注册表,每次程序打开时,就把使用次数加一,若满则弹窗。

         因此结合上节学习的文件验证得思路。先查MSDN得 打开注册表的函数。

         

         不知道是单字节还是双字节,全部下断点。

         

         然后根据堆栈窗口找到写入的注册表文件进行修改即可

         

3.程序报错:se壳的保护措施,CC检测机制的跳过。

         把原CC断点暂时禁用掉,然后在其附近下断点即可绕过

         

 

4.实例

         在长时间检测上诉2函数后没有找到相关的注册表,在此找到MSDN 我们发现了新函数

         

         设断点断下来后,找到注册表路径

         

         但发现路径有缺省,观察堆栈后,发现0012F68C 这个地址的值估计就是缺省的路径了。

这歌值代表的路径

         小知识:

                  

                  此句柄与注册表一一对应的。很有可能0012F68C的值就宏定义为这些地址中一个

         我们可以通过MSDN查看 也可以用VC 查句柄的头文件描述,这里用方法二。

         

         于是我们找到了使用此时的注册表文件,发现是加密过了的,这里我们就不破解了,直接删掉即破解成功。

posted @ 2016-04-10 18:25  Stone学技术  阅读(101)  评论(0)    收藏  举报