飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2120|回复: 1

申请加入PYG第一篇破文

[复制链接]

该用户从未签到

发表于 2006-4-4 11:24:09 | 显示全部楼层 |阅读模式
【破文标题】申请加入PYG第一篇破文
【破文作者】Fantasy
【作者邮箱】[email protected]
破解工具】peid0.94, OD1.1
【破解平台】winxp sp2
【软件名称】多功能上网记时器V1.5
【软件大小】1337KB
【原版下载】http://fxr.vicp.net/rjy/zzrj/swjs/swjs1.5/swjs1.5.htm
【软件简介】多功能上网计时器1.5版本功能:
    1.提供月倒计时累积功能显示功能。
    2.上网时的时间显示功能。
    3.现在标准时间显示功能。
    4.月正计时累积时间显示功能。
    5.每次上网时的时间显示
    6.提供设置时间自动停止提示功能.
    7.提供设置每月起始计时日期开始时间功能
    8.使用多操作系统不同光标类型转换功能.
    9.月使用时间自已随意设置功能
   10.在线自动升级提示功能
   11.也可用于其它不是上网,但需要计时的地方。
【破解声明】仅供学习和交流,没有其他目的。本人菜鸟一个,失误之处敬请诸位大侠赐教!
------------------------------------------------------------------------
【破解过程】
运行软件 点注册软件注册吗分为5个部分,形式如xxxx-xxxx-xxxx-xxxx-xxxx
首先peid 查壳显示Microsoft Visual C++ 5.0 [调试] ,无壳
OD载入,运行程序,输入信息:
用户名:Fantasy
注册码:1234-2234-3234-4234-5234
字符插件查找错误提示 :请输入正确的注册号码!
双击来到
00408AF2  |.  50            push    eax                              ; |Arg2
00408AF3  |.  68 546E5D00   push    005D6E54                         ; |注册成功!此软件现在可以正式使用
00408AF8  |.  8B4D FC       mov     ecx, [ebp-4]                     ; |
00408AFB  |.  E8 F2D30700   call    00485EF2                         ; \SWJS.00485EF2
00408B00  |.  EB 2A         jmp     short 00408B2C
00408B02  |>  6A 00         push    0                                ; /Arg3 = 00000000
00408B04  |.  68 4C6E5D00   push    005D6E4C                         ; |注册
00408B09  |.  68 306E5D00   push    005D6E30                         ; |请输入正确的注册号码!
00408B0E  |.  8B4D FC       mov     ecx, [ebp-4]                     ; |
00408B11  |.  E8 DCD30700   call    00485EF2                         ; \SWJS.00485EF2
00408B16  |.  68 F1030000   push    3F1                              ; /Arg1 = 000003F1
00408B1B  |.  8B4D FC       mov     ecx, [ebp-4]                     ; |
00408B1E  |.  E8 FE070800   call    00489321                         ; \SWJS.00489321
---------------------------------------------------------------------------------------------
向上找到关键跳转有5个地方,暴破就改jnz->jz。现在来分析一下算法
------------------------------------------------------------------------
004088E0  /> \55            push    ebp                              ;在这里下断,F9运行
004088E1  |.  8BEC          mov     ebp, esp
004088E3  |.  83EC 44       sub     esp, 44
004088E6  |.  53            push    ebx
004088E7  |.  56            push    esi
004088E8  |.  57            push    edi
004088E9  |.  51            push    ecx
004088EA  |.  8D7D BC       lea     edi, [ebp-44]
004088ED  |.  B9 11000000   mov     ecx, 11
004088F2  |.  B8 CCCCCCCC   mov     eax, CCCCCCCC
004088F7  |.  F3:AB         rep     stos dword ptr es:[edi]
004088F9  |.  59            pop     ecx
004088FA  |.  894D FC       mov     [ebp-4], ecx
004088FD  |.  8B45 FC       mov     eax, [ebp-4]
00408900  |.  8B80 00010000 mov     eax, [eax+100]
00408906  |.  83E8 36       sub     eax, 36                          ;  注册码第1部分(记为s1,下面以此类推) s1-36
00408909  |.  99            cdq
0040890A  |.  B9 05000000   mov     ecx, 5                           
0040890F  |.  F7F9          idiv    ecx                              ;  (s1-36)/5
00408911  |.  8B55 FC       mov     edx, [ebp-4]
00408914  |.  3B82 14010000 cmp     eax, [edx+114]                   ;  与 7D6 比较
0040891A      0F85 E2010000 jnz     00408B02                         ;  不相等就死  (第1个跳转)
00408920  |.  8B45 FC       mov     eax, [ebp-4]
00408923  |.  8B80 FC000000 mov     eax, [eax+FC]
00408929  |.  83E8 2D       sub     eax, 2D                          ;  注册码第2部分  s2-2d
0040892C  |.  99            cdq
0040892D  |.  83E2 03       and     edx, 3                           ;  edx与3
00408930  |.  03C2          add     eax, edx                         ;  eax<-eax+edx
00408932  |.  C1F8 02       sar     eax, 2                           ;  eax 右移2位
00408935  |.  8B4D FC       mov     ecx, [ebp-4]
00408938  |.  3B81 10010000 cmp     eax, [ecx+110]                   ;  与 3 比较
0040893E      0F85 BE010000 jnz     00408B02                         ;  不相等就死  (第2个跳转)
00408944  |.  8B55 FC       mov     edx, [ebp-4]
00408947  |.  8B82 F8000000 mov     eax, [edx+F8]
0040894D  |.  83E8 24       sub     eax, 24                          ;  注册码第3部分  s3-24
00408950  |.  99            cdq
00408951  |.  B9 03000000   mov     ecx, 3
00408956  |.  F7F9          idiv    ecx                              ;  (s3-24)/3
00408958  |.  8B55 FC       mov     edx, [ebp-4]                     
0040895B  |.  3B82 0C010000 cmp     eax, [edx+10C]                   ;  (s3-24)/3  与 1F 比较
00408961      0F85 9B010000 jnz     00408B02                         ;  不相等就死  (第3个跳转)
00408967  |.  8B45 FC       mov     eax, [ebp-4]
0040896A  |.  8B80 F4000000 mov     eax, [eax+F4]
00408970  |.  83E8 1B       sub     eax, 1B                          ;  注册码第4部分  s4-1b
00408973  |.  99            cdq
00408974  |.  2BC2          sub     eax, edx
00408976  |.  D1F8          sar     eax, 1                           ;  右移1位
00408978  |.  8B4D FC       mov     ecx, [ebp-4]
0040897B  |.  3B81 08010000 cmp     eax, [ecx+108]                   ;  结果与 F 比较
00408981      0F85 7B010000 jnz     00408B02                         ;  不相等就死  (第4个跳转)
00408987  |.  8B55 FC       mov     edx, [ebp-4]
0040898A  |.  8B82 F0000000 mov     eax, [edx+F0]
00408990  |.  83E8 12       sub     eax, 12                          ;  注册码第5部分  s5-12
00408993  |.  8B4D FC       mov     ecx, [ebp-4]
00408996  |.  3B81 04010000 cmp     eax, [ecx+104]                   ;  (s5-12) 与 19 比较
0040899C  |.  0F85 60010000 jnz     00408B02                         ;  不相等就死  (第5个跳转)
------------------------------------------------------------------------
【算法总结】
总体上来说,是比较简单的。我这样的菜鸟就可以搞定的。^o^

假设注册吗为s1-s2-s3-s4-s5  
(s1-36)/5=7D6
s1十进制=10084

(s2-2d)右移2位=3
s2十进制=57

(s3-24)/3=1f
s3十进制=129

(s4-1b)右移1位=f
s4十进制=57

s5-12=19
s5十进制=43

序列号为:10084-57-129-57-43 此序列号与用户名无关。
PYG19周年生日快乐!

该用户从未签到

发表于 2006-4-4 19:35:29 | 显示全部楼层
感谢分享 软件下来我也研究下 祝早日加入PYG~
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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