网上找了很久, 没找到合适的破解文件, 就自已动手了。
文件是在官方下载的, 下载日期为2010.03.18日, 版本为 3.1.0.72
破解补丁我就不发出来了,原因就不说了 XD~
首先, 在文件httpd.conf上面输入注册信息:
RegistrationName= www.gzxnzj.cn
RegistrationCode= 2EAD-35GH-66NN-ZYBA
//为什么要在文件里手动输入? 其实是因为这个软件的“注册”按钮点不了,所以就手动在文件里输了
接着就是破解了, 第一步:破解主文件(Helicon Manager.exe)。
OD 载入,找到以下代码:(方法一)
1003E785     55                      push ebp
1003E786     8BD3                 mov edx,ebx
1003E788     8D4C24 70        lea ecx,dword ptr ss:[esp+70]
1003E78C     E8 EFE9FFFF   call ISAPI_Re.1003D180   ; 这是函数是用来检验注册码的,结果放在al里
1003E791     83C4 10             add esp,10
1003E794     84C0                 test al,al ; al 为1时,注册成功,0时注册失败
1003E796     75 30                jnz short ISAPI_Re.1003E7C8 ; 为1就跳,我直接将jnz修改为jmp
这样做的好处是, 不管它是真注册码还是假注册,通通变为应该成功!
所以很简单的一步,就是将 jnz 修改为 jmp 就暴力破解成功了, 哈哈~
但是,通过分析得知,这个检验注册码的函数有两个地方调用,另一个好像是对于假码使用的,
所以我直接修改另一个地方:(方法二)
1003D88A   ^\75 F4                jnz short ISAPI_Re.1003D880
1003D88C     EB 3D               jmp short ISAPI_Re.1003D8CB
1003D88E     B0 01                xor al,al                                          ; 这个清0了
1003D890     E9 C0010000    jmp ISAPI_Re.1003DA55
1003D895     0FB6C9             movzx ecx,cl
1003D898     8B3C8D 38000B10      mov edi,dword ptr ds:[ecx*4+100B0038]
1003D89F     B8 01000000     mov eax,1
1003D8A4     8D50 04             lea edx,dword ptr ds:[eax+4]
1003D8A7     85F8                  test eax,edi
看到上面那个清0了没?也就假码它才会清0吧,呵呵~
我将 xor al,al 修改成 mov al,1
我不知道这个会不会有啥影响,所以一般用第一个方法修改就可以了,方法二可以不用。
这样稳定会更高一些吧,哈哈~
(上面修改完保存的时候,实际上是这个DLL 文件ISAPI_RewriteSnapin.dll )
修改完了主程序,第二步,破解 ISAPI, 也就是 ISAPI_Rewrite.dll
跟上面差不多,OD载入,找到以下代码:(方法一)
1003E77F   |.  8D9E B0000000      lea ebx,dword ptr ds:[esi+B0]
1003E785   |.  55                            push ebp
1003E786   |.  8BD3                       mov edx,ebx
1003E788   |.  8D4C24 70              lea ecx,dword ptr ss:[esp+70]
1003E78C   |.  E8 EFE9FFFF        call ISAPI_Re.1003D180 ;  这是注册码检验函数,跟上面一样
1003E791   |.  83C4 10                  add esp,10
1003E794   |.  84C0                       test al,al; 跟上面一样,1注册成功,0注册失败
1003E796   |.  75 30                       jnz short ISAPI_Re.1003E7C8;  1就跳,0就不跳
修改方法,跟上面一样, 将 jnz 修改为 jmp,就是无论是1还是0, 进行无条件跳转,破解成功!
(方法二):理由跟上面一样
1003D88A   |.^\75 F4              \jnz short ISAPI_Re.1003D880
1003D88C   |.  EB 3D              jmp short ISAPI_Re.1003D8CB
1003D88E   |>  B0 01              xor al,al                                          ;  这个清0了
1003D890   |.  E9 C0010000   jmp ISAPI_Re.1003DA55
1003D895   |>  0FB6C9                     movzx ecx,cl
1003D898   |.  8B3C8D 38000B10    mov edi,dword ptr ds:[ecx*4+100B0038]
1003D89F   |.  B8 01000000             mov eax,1
看到上面的清0没? 其实跟主程序基本上是一样的,修改方法
xor al,al 修改为 mov al,1
破解成功!
还是那句话,由于懒得好好分析它的原理和测试,所以,建议使用方法一就足够了。 哈哈~
剩下的, 就是应用了,自己试试吧。 我在本机测试通过 XD~
别忘了, 修改后记得保存哦! 而且要记得保存原文件,以防万一

分享到: