自从用了WP作为博客程序,就开始跟URL Rewrite功能经常打交道,之前用的ISAPI_Rewrite 1.0版本,基本功能都能实现了,但编写httpd.ini实在麻烦,WP Super Cache也因为提示不支持RewriteCond而无法使用,恰逢这几天服务器出了点问题,访问速度非常慢,为了追求最快的访问效果,决定还是更新ISAPI_Rewrite组件。
百度+Google,找到此文,提供了破解方法,其中的注册名可以自己修改,注册码我没改过,建议保留原文数据。文中提到的OD=Ollydbg,另外,破解第一步提到的是打开Helicon Manager.exe,我测试后不知为何始终提示无法终止该程序,后来干脆直接打开文中说到的ISAPI_RewriteSnapin.dll进行编辑,第二步提到修改ISAPI_Rewrite.dll,这里我找不到原文作者说的数据,就没有修改,不过到目前为止,发现仅破解ISAPI_RewriteSnapin.dll已可以达到最终目的,其他朋友可以再试试看。
以下为原文:
————————————————————————————————
ISAPI_Rewrite 3.1 破解笔记
http://406625590.blog.163.com/blog/static/33530597201021834446310/
网上找了很久, 没找到合适的破解文件, 就自已动手了。
文件是在官方下载的, 下载日期为2010.03.18日, 也就是今天, 版本为 3.1.0.72
破解补丁我就不发出来了,原因就不说了 XD~
首先, 在文件httpd.conf上面输入注册信息:
RegistrationName= 406625590.blog.163.com
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~
别忘了, 修改后记得保存哦! 而且要记得保存原文件,以防万一 ……
好心人能给破解不?
能否给份补丁。谢谢。
请发邮箱。
抱歉,请参照文章中的方法自行修改