盲人是怎么使用电脑的,盲人做电脑系统

北极光盲用计算机系统软件暴力破解

作者:Jimmycwz

目标:北极光盲用计算机系统软件(3个月试用版)

下载地址:破解时间:2003-2-2

破解工具:W32dasm黄金版,Hiew,Trw2000

作者主页:前言:由于老爸的眼睛有病变(视网膜色素变性),基本上看不到东西(只能感到光影),一个人呆在家无聊,想学学电脑,于是就上网下载了北极光盲用计算机系统软件给他用。软件做得还不错,基本上能让看不到屏幕的老爸可以听听网页、写写文章。只可惜两个多月个月过去了,正当老爸兴起之际,软件弹出“系统试用期已到。如果您需要继续使用,请购买本系统的正版软件。谢谢。”本该支持国产软件事业的,但自己还是位没收入的穷学生,没能力支付那昂贵的软件费用,只好把它破解好让老爸继续使用。

正题:由于软件安装在win2000系统,但Trw2000不支持。软件是 Ms Visual C++ 6.0 , 没加壳 ,本想只使用W32dasm来静态分析,可找来找去,找不着相关的错误讯息字串。想到其测试日期的程序可能在其他dll文件中,但单单在那个软件的目录底下就有二十多个dll文件。没办法,只好在win98下再安装软件一次,用Trw2000来跟踪了。

用bpx GetSystemTime设中断,启动“盲人编辑器”(不要用“屏幕朗读”来调试,因它要运行很多东西,按f10都要按上5分钟……)中断后,按F10走到如下位置:

0187:004034FA JNG 00403517

0187:004034FC PUSH EDI

0187:004034FD PUSH DWORD 004102A0

0187:00403502 PUSH DWORD 00410258

0187:00403507 PUSH EDI

0187:00403508 CALL `USER32!MessageBoxA`

0187:0040350E MOV EAX,[EBP-14] <------这里就弹出过期提示窗口

0187:00403511 PUSH EAX

0187:00403512 MOV ECX,[EAX]

0187:00403514 CALL NEAR [ECX+08]

0187:00403517 OR DWORD [EBP-04],BYTE -01

往上看:

0187:004034A8 PUSH EDI

0187:004034A9 CALL `USER32!MessageBoxA`

0187:004034AF JMP SHORT 00403517

0187:004034B1 CMP ESI,BYTE +50 <----如果用过80天,提示还剩几天试用

0187:004034B4 JL 004034F7 <----将这里JL改为JMP,再看看34f7那里做什么

0187:004034B6 CMP ESI,BYTE +5A <----如果用过90天,提示试用期到,系统出错

0187:004034B9 JG 004034FC <----由于上面已JMP,这里就不用理它啦

0187:004034BB PUSH BYTE +40

0187:004034BD LEA EAX,[EBP-54]

0187:004034C0 PUSH EDI

0187:004034C1 PUSH EAX

0187:004034C2 CALL 00404A00

0187:004034C7 ADD ESP,BYTE +0C

0187:004034CA PUSH DWORD 004102C8

0187:004034CF PUSH BYTE +5A

0187:004034D1 POP EAX

0187:004034D2 SUB EAX,ESI

0187:004034D4 PUSH EAX

0187:004034D5 PUSH DWORD 004102B4

0187:004034DA LEA EAX,[EBP-54]

0187:004034DD PUSH DWORD 004102AC

0187:004034E2 PUSH EAX

0187:004034E3 CALL 00404F0C

0187:004034E8 ADD ESP,BYTE +14

0187:004034EB LEA EAX,[EBP-54]

0187:004034EE PUSH EDI

0187:004034EF PUSH DWORD 004102A0

0187:004034F4 PUSH EAX

0187:004034F5 JMP SHORT 004034A8

0187:004034F7 CMP ESI,BYTE +5A <----又比较一次

0187:004034FA JNG 00403517 <----JNG当然要改JMP啦,否则还是会过期

0187:004034FC PUSH EDI

看看领空,在COMSERVER!,在C盘查找一下COMSERVER,发现有两个EXE文件,两个DLL文件,究竟是哪个呢?用W32dasm黄金版逐个看一下,只有Aurora\Dlls\ComServer.exe有相关信息存在。其实用W32dasm看一下上面的程序段,自然一目了然。接着自然就是要改啰,用Hiew,该不用多说了吧。

稍微给刚接触pj的人解释一下

0187:004034B1 CMP ESI,BYTE +50 <----如果用过80天,提示还剩几天试用

为什么是80天?

因为50是16进制,换成10进制是5*16+0=80

esi 就是你实际使用的天数