飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3425|回复: 3

pentacle写的第二个CrackeMe破解说明

[复制链接]

该用户从未签到

发表于 2005-11-11 14:48:54 | 显示全部楼层 |阅读模式
【破文标题】对pentacle[PYG]作的CRACKME
【破文作者】lfq168
【作者邮箱】lfq668@163.com
【作者主页】
破解工具】OD1.1,PEID0.94
【破解平台】WinXP SP2
【软件名称】CRACKME
【软件大小】201K
【原版下载】http://ocn.e5v.com/cgi-bin/bbs/c ... 0230324&page=30
【保护方式】FSG1.33加壳
【软件简介】
------------------------------------------------------------------------
【破解过程】1.用PEID0.94查壳FSG 1.33 -> dulek/xt,脱壳我就不说了,太容易了我花了5秒.直脱
2.脱壳查到软件是用Borland Delphi 6.0 - 7.0,用DEDE3.5反汇编,我晕,没东西的,只能建文档,很容易知道进入口
yCrackeMe2_1

TForm1.FormCreate                        00454134
TForm1.Button1Click                       004542B0
TForm1.Button2Click                       0045449C
就看TForm1.Button1Click 004542B0用OD载入BP 4542B0就可以中断了
3.重点分析:
004542B0  /. 55        push ebp
004542B1  |. 8BEC       mov ebp,esp
004542B3  |. B9 06000000    mov ecx,6
004542B8  |> 6A 00       /push 0
004542BA  |. 6A 00       |push 0
004542BC  |. 49        |dec ecx
004542BD  |.^ 75 F9       \jnz short W_MyCrac.00454>
004542BF  |. 53        push ebx
004542C0  |. 8BD8       mov ebx,eax
004542C2  |. 33C0       xor eax,eax
004542C4  |. 55        push ebp
004542C5  |. 68 8D444500    push W_MyCrac.0045448D
004542CA  |. 64:FF30      push dword ptr fs:[eax]
004542CD  |. 64:8920      mov dword ptr fs:[eax],es>
004542D0  |. 8D55 FC      lea edx,dword ptr ss:[ebp>
004542D3  |. 8B83 F8020000   mov eax,dword ptr ds:[ebx>
004542D9  |. E8 82EEFDFF    call W_MyCrac.00433160  ; 取第一个框的假码
004542DE  |. 8B45 FC      mov eax,dword ptr ss:[ebp>
004542E1  |. 50        push eax         ; 假码进盏
004542E2  |. 8D55 F4      lea edx,dword ptr ss:[ebp>
004542E5  |. 8B83 14030000   mov eax,dword ptr ds:[ebx>
004542EB  |. E8 70EEFDFF    call W_MyCrac.00433160  ; 这里是取CPU的即时速度
004542F0  |. 8B45 F4      mov eax,dword ptr ss:[ebp>
004542F3  |. E8 4840FBFF    call W_MyCrac.00408340
004542F8  |. 35 39300000    xor eax,3039       ; 把CPU即时速度的十进制与3039异或
004542FD  |. 8D55 F8      lea edx,dword ptr ss:[ebp>
00454300  |. E8 FF3EFBFF    call W_MyCrac.00408204  ; 这里是把求到的CPU即时速度的十六进制转成十进制
00454305  |. 8B55 F8      mov edx,dword ptr ss:[ebp>
00454308  |. 58        pop eax
00454309  |. E8 3A03FBFF    call W_MyCrac.00404648  ; 这里是比较第一框的假码和CPU即时速度和3039异或后的值是否相等
0045430E    0F85 E0000000   jnz W_MyCrac.004543F4   ; <--第一框的爆破点
00454314  |. 8D55 F0      lea edx,dword ptr ss:[ebp>
00454317  |. 8B83 FC020000   mov eax,dword ptr ds:[ebx>
0045431D  |. E8 3EEEFDFF    call W_MyCrac.00433160
00454322  |. 8B45 F0      mov eax,dword ptr ss:[ebp>; 取第二框的值
00454325  |. 50        push eax
00454326  |. 8D55 E8      lea edx,dword ptr ss:[ebp>
00454329  |. 8B83 14030000   mov eax,dword ptr ds:[ebx>
0045432F  |. E8 2CEEFDFF    call W_MyCrac.00433160  ; 我晕,也是取CPU即时速度
00454334  |. 8B45 E8      mov eax,dword ptr ss:[ebp>
00454337  |. E8 0440FBFF    call W_MyCrac.00408340
0045433C  |. 35 32090100    xor eax,10932       ; 把取到的即时值与10932相异或
00454341  |. 8D55 EC      lea edx,dword ptr ss:[ebp>
00454344  |. E8 BB3EFBFF    call W_MyCrac.00408204  ; 把异或出来的值转十进制
00454349  |. 8B55 EC      mov edx,dword ptr ss:[ebp>
0045434C  |. 58        pop eax
0045434D  |. E8 F602FBFF    call W_MyCrac.00404648
00454352    0F85 9C000000   jnz W_MyCrac.004543F4   ; <--第二框的爆破点
00454358  |. 8D55 E4      lea edx,dword ptr ss:[ebp>
0045435B  |. 8B83 00030000   mov eax,dword ptr ds:[ebx>
00454361  |. E8 FAEDFDFF    call W_MyCrac.00433160
00454366  |. 8B45 E4      mov eax,dword ptr ss:[ebp>; 取第三个框的假码
00454369  |. 50        push eax
0045436A  |. 8D55 DC      lea edx,dword ptr ss:[ebp>
0045436D  |. 8B83 14030000   mov eax,dword ptr ds:[ebx>
00454373  |. E8 E8EDFDFF    call W_MyCrac.00433160  ; 取CPU即时速度
00454378  |. 8B45 DC      mov eax,dword ptr ss:[ebp>
0045437B  |. E8 C03FFBFF    call W_MyCrac.00408340
00454380  |. 35 52E70000    xor eax,0E752       ; 和0E752异或
00454385  |. 8D55 E0      lea edx,dword ptr ss:[ebp>
00454388  |. E8 773EFBFF    call W_MyCrac.00408204
0045438D  |. 8B55 E0      mov edx,dword ptr ss:[ebp>
00454390  |. 58        pop eax
00454391  |. E8 B202FBFF    call W_MyCrac.00404648
00454396    75 5C       jnz short W_MyCrac.004543>; <---第三个框的爆破点
00454398  |. 8D55 D8      lea edx,dword ptr ss:[ebp>
0045439B  |. 8B83 04030000   mov eax,dword ptr ds:[ebx>
004543A1  |. E8 BAEDFDFF    call W_MyCrac.00433160
004543A6  |. 8B45 D8      mov eax,dword ptr ss:[ebp>; 取第四个框的假码
004543A9  |. 50        push eax
004543AA  |. 8D55 D0      lea edx,dword ptr ss:[ebp>
004543AD  |. 8B83 14030000   mov eax,dword ptr ds:[ebx>
004543B3  |. E8 A8EDFDFF    call W_MyCrac.00433160  ; 取CPU即时速度
004543B8  |. 8B45 D0      mov eax,dword ptr ss:[ebp>
004543BB  |. E8 803FFBFF    call W_MyCrac.00408340
004543C0  |. 35 83CF0000    xor eax,0CF83       ; 把值与cf83异或
004543C5  |. 8D55 D4      lea edx,dword ptr ss:[ebp>
004543C8  |. E8 373EFBFF    call W_MyCrac.00408204
004543CD  |. 8B55 D4      mov edx,dword ptr ss:[ebp>
004543D0  |. 58        pop eax
004543D1  |. E8 7202FBFF    call W_MyCrac.00404648
004543D6    75 1C       jnz short W_MyCrac.004543>; <---第四个框的爆破点
004543D8  |. 33D2       xor edx,edx        ; 只要把4个改成JMP或者把第一个JNZ改JMP 4543e5就OK了
004543DA  |. 8B83 08030000   mov eax,dword ptr ds:[ebx>
004543E0  |. E8 9BECFDFF    call W_MyCrac.00433080
004543E5  |. B2 01       mov dl,1
004543E7  |. 8B83 18030000   mov eax,dword ptr ds:[ebx>
004543ED  |. E8 8EECFDFF    call W_MyCrac.00433080
004543F2  |. EB 34       jmp short W_MyCrac.004544>
004543F4  |> 33D2       xor edx,edx
004543F6  |. 8B83 F8020000   mov eax,dword ptr ds:[ebx>
004543FC  |. E8 8FEDFDFF    call W_MyCrac.00433190
00454401  |. 33D2       xor edx,edx
00454403  |. 8B83 FC020000   mov eax,dword ptr ds:[ebx>
00454409  |. E8 82EDFDFF    call W_MyCrac.00433190
0045440E  |. 33D2       xor edx,edx
00454410  |. 8B83 00030000   mov eax,dword ptr ds:[ebx>
00454416  |. E8 75EDFDFF    call W_MyCrac.00433190
0045441B  |. 33D2       xor edx,edx
0045441D  |. 8B83 04030000   mov eax,dword ptr ds:[ebx>
00454423  |. E8 68EDFDFF    call W_MyCrac.00433190
00454428  |> 33C0       xor eax,eax
0045442A  |. 5A        pop edx
0045442B  |. 59        pop ecx
0045442C  |. 59        pop ecx
0045442D  |. 64:8910      mov dword ptr fs:[eax],ed>
00454430  |. 68 94444500    push W_MyCrac.00454494
00454435  |> 8D45 D0      lea eax,dword ptr ss:[ebp>
00454438  |. E8 FFFDFAFF    call W_MyCrac.0040423C
0045443D  |. 8D45 D4      lea eax,dword ptr ss:[ebp>
00454440  |. E8 F7FDFAFF    call W_MyCrac.0040423C
00454445  |. 8D45 D8      lea eax,dword ptr ss:[ebp>
00454448  |. BA 02000000    mov edx,2
0045444D  |. E8 0EFEFAFF    call W_MyCrac.00404260
00454452  |. 8D45 E0      lea eax,dword ptr ss:[ebp>
00454455  |. E8 E2FDFAFF    call W_MyCrac.0040423C
0045445A  |. 8D45 E4      lea eax,dword ptr ss:[ebp>
0045445D  |. BA 02000000    mov edx,2
00454462  |. E8 F9FDFAFF    call W_MyCrac.00404260
00454467  |. 8D45 EC      lea eax,dword ptr ss:[ebp>
0045446A  |. E8 CDFDFAFF    call W_MyCrac.0040423C
0045446F  |. 8D45 F0      lea eax,dword ptr ss:[ebp>
00454472  |. BA 02000000    mov edx,2
00454477  |. E8 E4FDFAFF    call W_MyCrac.00404260
0045447C  |. 8D45 F8      lea eax,dword ptr ss:[ebp>
0045447F  |. E8 B8FDFAFF    call W_MyCrac.0040423C
00454484  |. 8D45 FC      lea eax,dword ptr ss:[ebp>
00454487  |. E8 B0FDFAFF    call W_MyCrac.0040423C
0045448C  \. C3        retn


------------------------------------------------------------------------
【破解总结】1.其实算法很简单就是取CPU的即时速度和3039异或作第一的注册码.(3039是十六进制哦,别说十进制,不然打PP
2.再与10932异或为第二个框的注册码
3.与0E752异或为第三个框的注册码
4.与0CF83异或为第四个框的注册码

因为pentacle[PYG]算法有BUG,经WCPUID测试证实,至于说写注册机基本不用写了,因为CPU的频率是按毫秒变动后几位的的就是说我的CPU1.7G取值在1717000到1717090间变动的而且最后二位00-90这数据还是按毫秒变动的,作者编写注册码就已经出现了取CPU频率值错误了,应该把这个CPU值取到M这范围不应该取到字节范围.不然就算是作者也注册不了的.除非爆破.
------------------------------------------------------------------------

【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-7-26 08:15
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2005-11-16 20:33:01 | 显示全部楼层
    好的~支持
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2017-9-28 11:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2005-11-21 20:45:35 | 显示全部楼层
    ESP定律轻松搞定~~
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2017-9-28 11:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2005-11-23 12:08:03 | 显示全部楼层
    真正的入口点0005477C
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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