首页 实用电脑技术1200例_587

实用电脑技术1200例_587

举报
开通vip

实用电脑技术1200例_587 破解技术实例587_又来敲CCG的大门了,SorbetV1.1算法破解。电神魔鬼兄 来看啊!() JMV Sorbet 1.1 就这个软件本身来说,编写的比较有创意,可以直接将图形文件的图标改 为该文件的缩略图。另外,其配置/注册文件写成sorbet.cpl而放在控制面板的 里面,很有些与众不同。 下载: URL ftp://ftp.bj.software.chinese.com/software/soft_photosee/JMV%20Sorb et%20Installer.exe...

实用电脑技术1200例_587
破解技术实例587_又来敲CCG的大门了,SorbetV1.1算法破解。电神魔鬼兄 来看啊!() JMV Sorbet 1.1 就这个软件本身来说,编写的比较有创意,可以直接将图形文件的图标改 为该文件的缩略图。另外,其配置/注册文件写成sorbet.cpl而放在控制面板的 里面,很有些与众不同。 下载: URL ftp://ftp.bj.software.chinese.com/software/soft_photosee/JMV%20Sorb et%20Installer.exe 工具: TRW2k 1.22 W32DSM 8.93 随意输入密码:78787878787878-->load trw2k-->bpx hmemcpy-->F5-->确定-->拦住-->F12多次-->来到Sorbet领空。 F10来到这个Call: :66002745 FF5028 call [eax+28] 进入,很快就找到这里(下面比较注册码的前几位,非常简单): :6601045F 8A08 mov cl, byte ptr [eax] //eax中存放着注册码的位置 ,取第一个字节'7' :66010461 8A15C1A40166 mov dl, byte ptr [6601A4C1] //66014C1中存放的内容为: "R7UK9AY34QHE" ,这句取出 'R'(Ox52),所以我们把al中的内容改为52 :66010467 3ACA cmp cl, dl :66010469 751A jne 66010485 //继续 :6601046B 8A5001 mov dl, byte ptr [eax+01] //注册码的第二个字节'8' :6601046E 8A0DC4A40166 mov cl, byte ptr [6601A4C4] //应当为'K',所以我们把cl中的内容改为'K'(0x4B) :66010474 3AD1 cmp dl, cl :66010476 750D jne 66010485 //继续 :66010478 50 push eax ...... :660104E0 8B542404 mov edx, dword ptr [esp+04] //注册码地址给 edx ..... 来到这里,这段多次在程序中出现,目的是为了过滤掉2D,20,5c,2f之类的 无用符号: :6601050E 8954241C mov dword ptr [esp+1C], edx :66010512 8A02 mov al, byte ptr [edx] :66010514 3C2D cmp al, 2D :66010516 7410 je 66010528 :66010518 3C20 cmp al, 20 :6601051A 740C je 66010528 :6601051C 3C5C cmp al, 5C :6601051E 7408 je 66010528 :66010520 3C2F cmp al, 2F :66010522 7404 je 66010528 :66010524 3C5F cmp al, 5F :66010526 7503 jne 6601052B * Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:66010516(C), :6601051A(C), :6601051E(C), :66010522(C) | :66010528 42 inc edx :66010529 EBE3 jmp 6601050E //如果等于那些无效字符,跳回去重新 比较。 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:66010526(C) | :6601052B 8A02 mov al, byte ptr [edx] //取出第3个字符(非无效字符 ) :6601052D 8A0DBDA40166 mov cl, byte ptr [6601A4BD] //66014BC后的内容是:56JWR7UK9AY34QHE :66010533 42 inc edx :66010534 3AC1 cmp al, cl //所以注册码中第3个字符为'6' :66010536 8954241C mov dword ptr [esp+1C], edx :6601053A 753C jne 66010578 又经过一段判别无效字符的程序,来到这里: :66010559 8A02 mov al, byte ptr [edx] //取出第4个字符(非无效字符 ) :6601055B 42 inc edx :6601055C 33C9 xor ecx, ecx //ecx == 0 :6601055E 8954241C mov dword ptr [esp+1C], edx :66010562 894C2410 mov dword ptr [esp+10], ecx * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:66010572(C) | :66010566 3A81BCA40166 cmp al, byte ptr [ecx+6601A4BC] //所以注册码中第4个字符为'5' :6601056C 7414 je 66010582 //跳到下面 ...... 从这里开始注册码的计算变得复杂起来了,我也是分析了一下算法才得到 注册码的: :66010582 83F911 cmp ecx, 00000011 :66010585 894C2410 mov dword ptr [esp+10], ecx :66010589 7DED jge 66010578 //不跳 :6601058B 83F905 cmp ecx, 00000005 :6601058E 77E8 ja 66010578 //不跳 :66010590 83F902 cmp ecx, 00000002 * Possible Reference to String Resource ID=00002: "will end in a few minutes" | :66010598 7602 jbe 6601059C //跳 :6601059A 8BF9 mov edi, ecx * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:66010598(C) | :6601059C 897C2414 mov dword ptr [esp+14], edi //注意:[esp+14]==2,这在后面也会用到 .... 又经过一段判别无效字符的程序,来到这里 :660105BD 8A0A mov cl, byte ptr [edx] //取出第六个字符 :660105BF 42 inc edx :660105C0 8954241C mov dword ptr [esp+1C], edx :660105C4 33C0 xor eax, eax //eax -> 0 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:660105D2(C) | :660105C6 3A88BCA40166 cmp cl, byte ptr [eax+6601A4BC] //--------------> :660105CC 7410 je 660105DE //这个小循环的作用是在 “56JWR7UK9AY34QHE”这个字符串中 :660105CE 40 inc eax //中查找和你输入的第5个字符相等的字符在这个 字符串中的位置, :660105CF 83F811 cmp eax, 00000011 //结果记录在eax中。相当于Delphi/BCB中的StrPos() :660105D2 7CF2 jl 660105C6 //<--------------- 如果找到,就跳来这里: :660105DE 83F811 cmp eax, 00000011 :660105E1 7D95 jge 66010578 :660105E3 83F810 cmp eax, 00000010 :660105E6 7790 ja 66010578 :660105DE 83F811 cmp eax, 00000011 //------〉 :660105E1 7D95 jge 66010578 //如果同最后一个字符相同或是没找到 ,注册失败 :660105E3 83F810 cmp eax, 00000010 :660105E6 7790 ja 66010578 //<----- 又经过一段判别无效字符的程序,再找出第6,7个字符在 “56JWR7UK9AY34QHE”这个串中的位置。分别记录在ebp,ebx之中, 当然,如果ebp<11||ebx<11,注册失败,同上面一样,下面也是如此。 。。。。 :66010688 33F6 xor esi, esi //esi-->0 :6601068A 85FF test edi, edi //然后这里检查edi的值了,记得吗,是2 :6601068C 765C jbe 660106EA 。。。。 又经过一段判别无效字符的程序,再找出第8个字符在 “56JWR7UK9AY34QHE”这个串中的位置。记录在eax中,如果 eax<11,执行下面一段程序。 ..... :660106DF 8B442414 mov eax, dword ptr [esp+14] //记得吗,上面也说过,[esp+14] = 2, :660106E3 46 inc esi //这句话在一个循环体内,加两次后esi==eax==2 :660106E4 3BF0 cmp esi, eax :660106E6 7306 jnb 660106EE //不跳。但从下一行开始循环,知道在此 行跳出为止 :660106E8 EBA4 jmp 6601068E //跳,如此循环,直到自上面一行跳出 。 。。。 又经过一段判别无效字符的程序,再找出第10个字符在 “56JWR7UK9AY34QHE”这个串中的位置,记录在eax中,如果eax<11,执 行下面一段程序。 :6601072C B910000000 mov ecx, 00000010 //--> :66010731 2BCB sub ecx, ebx //检查EBX+EAX是否等于16,不等则注册 失败。 :66010733 3BC1 cmp eax, ecx //其中EBX为第7个字符在“56JWR7UK9AY34QHE”这个串中的位置 :66010735 0F853DFEFFFF jne 66010578 //<--- 到此为止,虽然注册码的检查还没有完,但其所有的检查方式都已经出现 ,罗嗦了这么多,也不想再说了,如果有哪位朋友还有什么问题或者什么不同 的意见,欢迎交流。 公布一下找到的注册号: Sorbet V1.1 sn: RK65KKKKKKKK 国庆快乐!
本文档为【实用电脑技术1200例_587】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_554469
暂无简介~
格式:pdf
大小:114KB
软件:PDF阅读器
页数:0
分类:文学
上传时间:2012-06-18
浏览量:7