在某些收费软件中,有些是通过注册表,来判断是不是使用到期,或者次数到了。

OllyDBG从原理上来区分,有两种不同的断点:软件断点和硬件断点。

软件断点就是常说的F12。

而硬件断点它们只用于调试:用于调试,我们称为调试寄存器:Dr0~Dr7

其中Dr0~Dr3四个寄存器用来存放中断地址,Dr4、Dr5保留不使用,Dr6、Dr7用来记录Dr0~Dr3的属性(如读,写还是执行,单位是字节,字还是双字)。

所以只有4个硬件断点;

下面来找个软件来试试手:

如下这个硬件断点只有4个,这个硬件断点可以在系统领域中下。

目前004这个是在exe里面的。

OllyDbg笔记-软件逆向调试技巧

在系统领域下按F2,会使用这个硬件端点,也可以使用

下面进入dll中了。开始进入到系统领域:

OllyDbg笔记-软件逆向调试技巧

此处就是关键了。对比eax是不是为1,如果是是就跳转。下面改成这样的:

OllyDbg笔记-软件逆向调试技巧

这样开头的那个就**了!

 

下面是结尾的这个广告:

OllyDbg笔记-软件逆向调试技巧

这里弹出这个窗口后,暂停下,然后按下K

OllyDbg笔记-软件逆向调试技巧

从中:

OllyDbg笔记-软件逆向调试技巧

可以看到只有一个用户态的

OllyDbg笔记-软件逆向调试技巧

直接将其废掉。

OllyDbg笔记-软件逆向调试技巧

保持后,即可

 

 

这里是暴力**,还有个思路!!!

 

特别针对这些给次数的。!!!!

在每一个跳转的地方,进行记录,看看那个试用阶段和不让进入阶段,那个地方不一样。

然后再强制跳转,通过这样的方式,也是很好的办法。

 

 

 

 

 

相关文章: