电子小说阅读器黄金版破解手记
作者:crackYY[CNCG]
工具:FileInfo v2.45 trw2000 v1.22 W32Dasm8.93黄金版
这是一个很别制的文本阅读器,我很喜欢它,不过不注册只能使用30次(真小气)。
首先用FI检测它是否加壳,又是没壳(难到现在流行不加壳??)。好,请出TRW大侠,开工!运行电子小说阅读器,马上会出现一个注册窗口,随便添上一个用户名和一个注册码。我添的用户名是:crackYY
注册码:78787878 ,然后Ctrl+N呼出TRW,下断点:bpx hmemcpy ,按F5把控制权交给电子小说阅读器。点击确定按钮,TRW弹出,下命令:bc
* 去除断点,现下命令:pmodule 直接来到程序领空,看到如下代码:
0167:00438A1A CALL `USER32!CallWindowProcA`
0167:00438A1F MOV [EBX+0C],EAX
0167:00438A22 MOV EAX,[EBX]
0167:00438A24 CMP EAX,BYTE +0C
0167:00438A27 JNZ 00438A44
0167:00438A29 MOV EDX,[EBX+08]
0167:00438A2C PUSH EDX
0167:00438A2D MOV ECX,[EBX+04]
0167:00438A30 MOV EDX,EAX
0167:00438A32 MOV EAX,ESI
0167:00438A34 CALL 00434870
0167:00438A39 JMP SHORT 00438A44
0167:00438A3B MOV EDX,EBX
0167:00438A3D MOV EAX,ESI
0167:00438A3F CALL 00435E00
然后按了几十次F12也没出错,气死我啦!那好,我今天就换个方法来破解这个小东东(等死吧!)。拿出我的"屠龙宝刀"——W32Dasm,然后反汇编电子小说阅读器,用串式参考找到:"注册失败,请重新注册册!"。再向上找je
jz等跳转指令,嗯,发现一个:
* Possible StringData Ref from Code Obj ->"350512"
|
:004B605E BA18624B00
mov edx, 004B6218
:004B6063 E84CDFF4FF
call 00403FB4 ———在这里下断点:bpx 004b6063
:004B6068 752E
jne 004B6098 ————就是这个啦!
:004B606A 6A40
push 00000040
* Possible StringData Ref from Code Obj ->"提示"
|
:004B606C B9E0614B00
mov ecx, 004B61E0
* Possible StringData Ref from Code Obj ->"注册失败,请重新注册!"
既然已经找到到啦,那还等什么?退出W32Dasm,然后运行电子小说阅读器,Ctrl+N呼出TRW,下断点:bpx 004b6063 ,用户名:crackYY
注册码:78787878,点击确定按钮。这里TRW会弹出,拦到以下代码:
0167:004B605E MOV EDX,004B6218
0167:004B6063 CALL 00403FB4————光标停在这一行,按F8进入。
0167:004B6068 JNZ 004B6098
0167:004B606A PUSH BYTE +40
0167:004B606C MOV ECX,004B61E0
0167:004B6071 MOV EDX,004B6330
0167:004B6076 MOV EAX,[004E8C6C]
0167:004B607B MOV EAX,[EAX]
0167:004B607D CALL 00453078—————————走到这里出错。
0167:004B6082 MOV EAX,[004E8A20]
0167:004B6087 MOV EAX,[EAX]
0167:004B6089 MOV EAX,[EAX+0460]
0167:004B608F MOV DL,01
0167:004B6091 CALL 0044541C
0167:004B6096 JMP SHORT 004B6114
按F8跟进后,会看到以下代码:
0167:00403FB1 LEA EAX,[EAX+00]
0167:00403FB4 PUSH EBX——————下命令:d edx 会看到一组数字:350512
0167:00403FB5 PUSH ESI
0167:00403FB6 PUSH EDI
0167:00403FB7 MOV ESI,EAX
0167:00403FB9 MOV EDI,EDX
0167:00403FBB CMP EAX,EDX
0167:00403FBD JZ NEAR 00404052
0167:00403FC3 TEST ESI,ESI
0167:00403FC5 JZ 0040402F
0167:00403FC7 TEST EDI,EDI
0167:00403FC9 JZ 00404036
0167:00403FCB MOV EAX,[ESI-04]
0167:00403FCE MOV EDX,[EDI-04]
0167:00403FD1 SUB EAX,EDX
下命令:bc * 清除断点 按F5反回程序,输入用户名:crackYY 注册号:350512 ,点击确定。怎么回事儿?还是注册不成功?难到这个不是注册码?呵呵,这点小计量就想击退我?嗯…想一想,还有哪儿可疑。哦,对了,可以到出错的call里看看。说干就干,Ctrl+N呼出TRW,下断点:bpx
004b607d ,接F5反回,点确定按钮,TRW弹出,光标停在004B607D处。接看按F8跟进,看到如下代码:
0167:00453076 MOV EAX,EAX
0167:00453078 PUSH EBP—————————在这里下命令:d ecx会看到刚才的那组数字和一组字母:liyy
0167:00453079 MOV EBP,ESP
0167:0045307B ADD ESP,BYTE -50
0167:0045307E PUSH EBX
0167:0045307F PUSH ESI
0167:00453080 PUSH EDI
0167:00453081 MOV EDI,ECX
0167:00453083 MOV ESI,EDX
0167:00453085 MOV [EBP-04],EAX
0167:00453088 MOV EBX,[EBP+08]
0167:0045308B CALL `USER32!GetActiveWindow`
0167:00453090 MOV [EBP-0C],EAX
0167:00453093 PUSH BYTE +02
0167:00453095 MOV EAX,[EBP-0C]
这回看到的还是刚才的那组数字,不过多了一组英文字母(liyy),这个会不会是用户名呢?不管那么多啦,记下字母,按F5返回电子小说阅读器,用户名添上:liyy
注册码:350512 ,点击确定。"恭喜您,注册成功!您以成为本程序的正式用户…………"。哈哈,我爽!
好啦,结束战斗!啊,2点多啦,好困呀。
crackYY[CNCG]
E-mail:crackYY@hotmail.com
写的不好,请多指教!
- 标 题:电子小说阅读器黄金版破解手记 (5千字)
- 作 者:crackYY[CNCG]
- 时 间:2001-11-14 2:01:16
- 链 接:http://bbs.pediy.com