飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2304|回复: 2

西风申请加入[PYG](二)

[复制链接]

该用户从未签到

发表于 2005-3-25 08:34:55 | 显示全部楼层 |阅读模式
西风申请加入!

破解作者】 西风[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

打完收功,哈哈,搞定,另外补充说明一下,这个软件的注册码和用户无关,意思是,明白了吧,用户名可以随意的万能码哦。
它的注册算法比较繁琐,过段时间再提供它的详细算法分析了。
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-3-30 17:42
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2005-5-2 22:50:29 | 显示全部楼层
    兄弟还差一篇破文呀!加油!
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2024-10-16 20:38
  • 签到天数: 1491 天

    [LV.10]以坛为家III

    发表于 2005-5-3 13:44:33 | 显示全部楼层
    好文,支持。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表