- UID
- 280
注册时间2005-3-11
阅读权限8
最后登录1970-1-1
初入江湖
该用户从未签到
|
西风申请加入!
【破解作者】 西风[PCG]
【作者邮箱】 [email protected]
【使用工具】 PEiD0.93,OD1.10正式版,DeDe
【破解平台】 Win2000
【软件名称】豪*超级解*别V8+SP1+SP2版,由于V9现在还是测试版,所以,这是我找到的最新的版本了。
【软件简介】
《豪杰超级解霸V8》是豪杰公司在2004年精心制作的解*系列的最新版本!
1、多年专注的DVD纠错防读死技术。
2、全格式,全兼容--影碟机VCD,无文件VCD光盘格式支持。
3、新增支持格式MOV、SWF、VQF、DAC、MP3PRO。
4、数字家庭的播放选择-DV,DC,摄像头都可以支持播放及截图。【软件大小】 16M
【加壳方式】 无
--------------------------------------------------------------------------------
【破解内容】
当然,老规矩了,收集情报先,可执行文件多哦,主程序嘛,不用说了,大家都知道的,STHSDVD.exe,那么我们调试哪一个呢,再看看先,哦,哦,哈哈,有一个AuthReg.exe,有点像注册的哦,运行一下,果然是,就从它入手了,PEID出来,没有加壳,咦,看来是对自己的软件很有信心了,壳都不加,这类似的软件多半都是有独到之处的,小心一点,用OD调入,运行一下,中招了,跳不回OD了,果然是有高招的,原来它先用GetForegroundWindows函数得到当前桌面上激活的窗口句柄,这时这个句柄就是我们的Olldbg窗口的句柄,它针对我们的olldbg做些什么事情?原来它是想用前景窗口做它的父窗口,而它又是一个模态的对话框,当对话框建立之后,这个父窗口将会被暂时冻结,直到对话框结束才解冻,如果父窗口是调试器的话,对不起,在它结束之前调试器将会被系统冻结而失去作用!这里它的父窗口就是我们的Olldbg了,学习一下,这也是防破的一种技巧哦。那怎么办,怎么办?哈哈,OD就是OD,宝刀就是宝刀,先运行AuthReg,再用我们的Attach方式,好了,这下加载成功了,填假码,1111-2222-3333-4444,好了,下断GetWindowsTextA,好了,断下后,来到这里:
00402E2A |. 8B35 00514000 MOV ESI,DWORD PTR DS:[<&USER32.GetWindow>; USER32.GetWindowTextA
00402E30 |. 8D4424 04 LEA EAX,DWORD PTR SS:[ESP+4]
00402E34 |. 6A 08 PUSH 8 ; /Count = 8
00402E36 |. 50 PUSH EAX ; |Buffer
00402E37 |. 51 PUSH ECX ; |hWnd => 005C0C7E (class='Edit',parent=006F096A)
00402E38 |. FFD6 CALL ESI ; \GetWindowTextA
。。。。。。。。。。。。
。。。。。。。。。。。。
00402E99 |. B8 A0684000 MOV EAX,AuthReg.004068A0 这后面处处出现假码,看来快进入雷区了,小心哦
00402E9E |> 8A08 /MOV CL,BYTE PTR DS:[EAX]
00402EA0 |. 80F9 20 |CMP CL,20
00402EA3 |. 74 05 |JE SHORT AuthReg.00402EAA
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。
00402ECA |. EB 0F JMP SHORT AuthReg.00402EDB
00402ECC |> 8D5424 00 LEA EDX,DWORD PTR SS:[ESP]
00402ED0 |. 52 PUSH EDX ; /Arg2
00402ED1 |. 68 A0684000 PUSH AuthReg.004068A0 ; |Arg1 = 004068A0 这儿又出现假码了,后边还有一个CALL,还有TEST EAX,EAX,这个CALL实在可疑啊,一定要进去看看
00402ED6 |. E8 55110000 CALL AuthReg.00404030 ; \AuthReg.00404030
00402EDB |> 33C9 XOR ECX,ECX
。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。
00402F13 |. 51 PUSH ECX ; |hOwner
00402F14 |. 6A 69 PUSH 69 ; |pTemplate = 69
00402F16 |. 52 PUSH EDX ; |hInst => 00C00000
00402F17 |. FF15 08514000 CALL DWORD PTR DS:[<&USER32.DialogBoxPar>; \DialogBoxParamA
00402F1D |. A1 60934000 MOV EAX,DWORD PTR DS:[409360] 来到这以后,哈哈,错误提示出来了,失败了,那么判断的地方就在上头罗,看看,在哪。。
进入00401ED1那个CALL看看
0040403B |. 53 PUSH EBX
0040403C |. 55 PUSH EBP
0040403D |. 56 PUSH ESI
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。
00404114 |.^7C DA \JL SHORT AuthReg.004040F0
00404116 |. 33D2 XOR EDX,EDX
00404118 |> 8D4C14 10 /LEA ECX,DWORD PTR SS:[ESP+EDX+10] 注意这一段,出现1111了,呵呵,看来是在对假码的第一段进行比较了。
0040411C |. 0FBE040B |MOVSX EAX,BYTE PTR DS:[EBX+ECX]
00404120 |. 83F8 41 |CMP EAX,41
00404123 |. 7C 08 |JL SHORT AuthReg.0040412D
。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。
以下一段又出现假码形式了,小心
00404199 |. 7F 03 |JG SHORT AuthReg.0040419E
0040419B |. 83C0 20 |ADD EAX,20
0040419E |> 0FBE540C 14 |MOVSX EDX,BYTE PTR SS:[ESP+ECX+14]
004041A3 |. 3BC2 |CMP EAX,EDX
004041A5 0F85 03010000 JNZ AuthReg.004042AE 啊,假码在这跳了,跳到哪了,看看,跳到结束,看来是发现我们假码出错了,不行,改掉,不能让它结束,改成JZ,继续向下
004041AB |. 41 |INC ECX
004041AC |. 83F9 04 |CMP ECX,4
004041AF |.^7C D4 \JL SHORT AuthReg.00404185
。。。。。。。。。。。。。。
。。。。。。。。。。。。。。
哈哈,还是一样,出现假码形式
00404206 |. 83C0 20 |ADD EAX,20
00404209 |> 0FBE540C 18 |MOVSX EDX,BYTE PTR SS:[ESP+ECX+18]
0040420E |. 3BC2 |CMP EAX,EDX
00404210 0F85 98000000 JNZ AuthReg.004042AE 啊,假码在这跳了,跳到哪了,看看,跳到结束,看来是发现我们假码出错了,不行,改掉,不能让它结束,改成JZ,继续向下
00404216 |. 41 |INC ECX
00404217 |. 83F9 04 |CMP ECX,4
0040421A |.^7C DB \JL SHORT AuthReg.004041F7
。。。。。。。。。。。。。。。
哈哈,还是一样,出现假码形式,看来快胜利了。
0040428A |. 83C0 20 |ADD EAX,20
0040428D |> 0FBE540C 1C |MOVSX EDX,BYTE PTR SS:[ESP+ECX+1C]
00404292 |. 3BC2 |CMP EAX,EDX
00404294 75 18 JNZ SHORT AuthReg.004042AE 啊,假码在这跳了,跳到哪了,看看,跳到结束,看来是发现我们假码出错了,不行,改掉,不能让它结束,改成JZ,继续向下
00404296 41 INC ECX
00404297 83F9 04 CMP ECX,4
0040429A |.^7C DF \JL SHORT AuthReg.0040427B
0040429C |. 5F POP EDI
0040429D |. 5E POP ESI
0040429E |. 5D POP EBP 这儿就是结束了
0040429F |. B8 01000000 MOV EAX,1
004042A4 |. 5B POP EBX
004042A5 |. 81C4 80000000 ADD ESP,80 注册码出来了,是这种形式XXXXXXXXXXXXXXXX,把它换四个一组,分开就行了,
004042AB |. C2 0800 RETN 8
打完收功,哈哈,搞定,另外补充说明一下,这个软件的注册码和用户无关,意思是,明白了吧,用户名可以随意的万能码哦。
它的注册算法比较繁琐,过段时间再提供它的详细算法分析了。 |
|