欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

软件暴力破解的原理和破解经验

程序员文章站 2022-03-12 17:46:40
对于暴力破解通常是无法得到注册码或是注册码的运算过程太复杂,无法通常计算得到(这里指使用反推法来计算注册码)所以就能够使用修改程序的方法来破解这个软件,这样通常就是暴力破... 08-10-08...
对于暴力破解通常是无法得到注册码或是注册码的运算过程太复杂,无法通常计算得到(这里指使用反推法来计算注册码)所以就能够使用修改程序的方法来破解这个软件,这样通常就是暴力破解。


现在将使用暴力破解的软件分一下类型,也好让大家来知道如何对不同的软件进行注册码破解还是暴力破解了。


1.测试版软件


这种软件是属于测试使用的,通常无法注册,这样它只有一个time bomb限制,对于破解它只能使用暴力破解方法了。只要将它的时间炸弹解除就行了。


2.共享软件中不需要注册码输入的形式


这种软件是比较成熟的软件,但是作者通常没有使用注册码保护软件,而是仅做一个time bomb,同上面的一样,所以破解就同上面相同了。


3.共享软件中注册码运算过程过于复杂情况


这样的软件是作者设计时使用了十分复杂的运算过程,你使用反推无法得到它的注册码,所以它也只能使用暴力破解才能使用这个软件。


4.共享软件的提示窗口


通常这种软件是在开始运行的时候有一个提示窗口,最为可气是有的软件提示窗口有一定的时间要求,你必要等10秒才能运行这个软件,所以通常破解它就使用暴力破解了。(这不包括破解出注册码的情况)


5.共享软件使用key file保护的形式


对于这种软件来说,通常的解密人是比较难破解的,但是使用暴力破解就相当的轻松了,你只要找对地方就可以破解它了。


6.共享软件加壳处理


这种破解是属于暴力破解中最难的一种了,因为如果你没有脱壳知识的话,你将无法使用暴力破解来得到这个软件的破解过程。所以对于这种来说,一定好好学习脱壳知识才能对付这个破解。


好了,现在就开始通常过例子来介绍如何进行暴力破解了。


简介:一个制作软件安装程序,可以制作非常小巧的安装文件,并且支持win95/98/nt,用它所制作出来的文件非常小只有2-3k,而且不需要setup.exe文件,只要点击鼠标右键选择install即可,不过你也可以用它制作一个包含setup.exe文件的inf文件包。可生成一片或多片的zip或exe文件,它使用ini file,可以推出多国语言包装。


追踪:由于这个软件我在装入后它通知我这个软件已经过期了,所以就先解决这个过期的问题。我刚开始时使用softice来载入它,但是没有将它分析出来,所以又使用w32dasm这个工具来分析它,使用这个软件来分析这种过期方面的软件是有相当的水平的。所以大家作为一个解密者一定要有这样一个好的工具。


如下:


:004b3882 d805e04a4b00 fadd dword ptr [004b4ae0]


:004b3888 db7dc8 fstp tbyte ptr [ebp-38]


:004b388b 9b wait


:004b388c e8d366f5ff call 00409f64


:004b3891 db6dc8 fld tbyte ptr [ebp-38]


:004b3894 ded9 fcompp


:004b3896 dfe0 fstsw ax


:004b3898 9e sahf


:004b3899 7321 jnb 004b38bc


:004b389b 6a00 push 00000000


:004b389d 668b0de44a4b00 mov cx, word ptr [004b4ae4]


:004b38a4 b202 mov dl, 02


* possible stringdata ref from code obj ->"this version of inf-tool lite "

->"is outdated."


 


:004b38a6 b8f04a4b00 mov eax, 004b4af0


:004b38ab e8383bfaff call 004573e8


:004b38b0 a180c74c00 mov eax, dword ptr [004cc780]


:004b38b5 8b00 mov eax, dword ptr [eax]


:004b38b7 e894aaf9ff call 0044e350


* referenced by a (u)nconditional or (c)onditional jump at address:


 :004b3899(c)


 


:004b38bc c605adfc4c0000 mov byte ptr [004cfcad], 00


:004b38c3 c605acfc4c0000 mov byte ptr [004cfcac], 00


:004b38ca b201 mov dl, 01


:004b38cc a120f44000 mov eax, dword ptr [0040f420]


:004b38d1 e8faf7f4ff call 004030d0


:004b38d6 898644160000 mov dword ptr [esi 00001644], eax


你们是否看到了软件过期的字样了吧,向上看有一个可以跳过这里的jne的命令,估计它就是比较是否过期的地方,但是我们还要确定一下它,将它改之。嘿,果然就是它,你们一试就知道了。这个软件进入后发现也没有输入注册码的地方,所以破解成这样就算是破解了。这个软件的破解也是成功了。


********************************


* 查找:9e 73 21 6a 00 *


* 替换:9e eb 21 6a 00 *


********************************


这个软件就是使用暴力方法破解的,现在来分析一下通常如何进行暴力破解的。


对于暴力破解最好使用w32dasm这种反汇编的软件,为什么呢?这个主要是暴力破解的软件通常都有一个关于使用时间或使用次数的提示窗口,所以你可以记住那个提示窗口后使用w32查找相应的语句就可以得到了出错地方,再查找如何避开这个地方的跳跃之处就可以破解这样的软件了。通常这个就是暴力破解的方法。


大家好好分析上面的例子,我想暴力破解通常都使用这种方法,具体如何破解我想应当使用如下几种方法。


1.调后日期,通常调后一年,这样有时间限制的软件就提示你软件已经过期了,这样大家就可以通常w32分析或使用trw或si来载入分析了。


2.查找注册表中关键键值,删除掉后提示过期或要求注册等要求,你就可以下手了。


3.对于有使用次数要求的软件可以查找相应的注册表或文件值,这样也可以破解这个软件。