首页
社区
课程
招聘
XX人力资源管理软件 算法分析
发表于: 2007-2-2 16:52 5190

XX人力资源管理软件 算法分析

2007-2-2 16:52
5190
【文章标题】: XX人力资源管理软件 算法分析
【文章作者】: 笑熬浆糊
【作者邮箱】: zhude111@163.com
【软件名称】: XX人力资源管理软件
【软件大小】: 3.7M
【下载地址】: http://www.newhua.com/soft/47770.htm
【加壳方式】: 无
【保护方式】: 注册码
【使用工具】: OD
【软件介绍】: 很不错的人力资源管理软件
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】

昨天晚上搞了了两个 CrackMe 后 信心倍增,今天去华军挑了个软柿子~~嘿嘿~~
建议和我一样的新手不要心浮气燥,一定要从最容易的 CrackMe 入手,这样子才能增加信心.
  

  帐入帐号 zhue111 试练码 787878
  点注册~~提示,注册码错误,  哈哈~~字符查找直接来到这里
  
  
  
  005EC2BF   .  E8 087AE1FF   call    00403CCC
  005EC2C4   .  6A 00         push    0
  005EC2C6   .  68 F0C35E00   push    005EC3F0                         ;  系统注册成功,欢迎你使用本软件!  //从这里向上找可以看到关键跳
  005EC2CB   .  E8 5003FFFF   call    <jmp.&PunUnitLib.ShowMess>
  005EC2D0   .  A1 10C66300   mov     eax, dword ptr [63C610]
  005EC2D5   .  C700 02000000 mov     dword ptr [eax], 2
  005EC2DB   .  A1 C4C36300   mov     eax, dword ptr [63C3C4]
  005EC2E0   .  8B00          mov     eax, dword ptr [eax]
  005EC2E2   .  E8 F145E8FF   call    004708D8
  005EC2E7   .  33C0          xor     eax, eax
  005EC2E9   .  5A            pop     edx
  005EC2EA   .  59            pop     ecx
  005EC2EB   .  59            pop     ecx
  005EC2EC   .  64:8910       mov     dword ptr fs:[eax], edx
  005EC2EF   .  EB 20         jmp     short 005EC311
  005EC2F1   .^ E9 B67EE1FF   jmp     004041AC
  005EC2F6   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005EC2F9   .  E8 2A0DE8FF   call    0046D028
  005EC2FE   .  E8 D582E1FF   call    004045D8
  005EC303   .  EB 0C         jmp     short 005EC311
  005EC305   >  6A 03         push    3
  005EC307   .  68 14C45E00   push    005EC414                         ;  系统注册失败,请检查注册是否有误! //我们直接字符查找来到了这里
  005EC30C   .  E8 0F03FFFF   call    <jmp.&PunUnitLib.ShowMess>
  005EC311   >  33C0          xor     eax, eax
  005EC313   .  5A            pop     edx
  
  
  //   下面就是比较了,明码比较
  
  005EC1F6   .  8B45 E0       mov     eax, dword ptr [ebp-20]       //试练码
  005EC1F9   .  8B55 F8       mov     edx, dword ptr [ebp-8]        //真码
  005EC1FC   .  E8 378DE1FF   call    00404F38  
  005EC201   .  0F85 FE000000 jnz     005EC305                      //关键跳
  
  
  再往上就可以找到注册算法
     来到了这里~~~
  
  005EC0F8   .  55            push    ebp
  005EC0F9   .  8BEC          mov     ebp, esp
  005EC0FB   .  B9 06000000   mov     ecx, 6
  005EC100   >  6A 00         push    0
  005EC102   .  6A 00         push    0
  005EC104   .  49            dec     ecx
  005EC105   .^ 75 F9         jnz     short 005EC100
  005EC107   .  51            push    ecx
  005EC108   .  53            push    ebx
  005EC109   .  56            push    esi
  005EC10A   .  57            push    edi
  005EC10B   .  8945 FC       mov     dword ptr [ebp-4], eax
  005EC10E   .  33C0          xor     eax, eax
  005EC110   .  55            push    ebp
  005EC111   .  68 76C35E00   push    005EC376
  005EC116   .  64:FF30       push    dword ptr fs:[eax]
  005EC119   .  64:8920       mov     dword ptr fs:[eax], esp
  005EC11C   .  8D55 F0       lea     edx, dword ptr [ebp-10]
  005EC11F   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005EC122   .  8B80 04030000 mov     eax, dword ptr [eax+304]
  005EC128   .  E8 AF2BE6FF   call    0044ECDC
  005EC12D   .  8B45 F0       mov     eax, dword ptr [ebp-10]
  005EC130   .  8D55 F4       lea     edx, dword ptr [ebp-C]
  005EC133   .  E8 04D6E1FF   call    0040973C
  005EC138   .  837D F4 00    cmp     dword ptr [ebp-C], 0
  005EC13C   .  75 22         jnz     short 005EC160
  005EC13E   .  6A 00         push    0
  005EC140   .  68 84C35E00   push    005EC384                         ;  请填写用户名称!
  005EC145   .  E8 D604FFFF   call    <jmp.&PunUnitLib.ShowMess>
  005EC14A   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005EC14D   .  8B80 04030000 mov     eax, dword ptr [eax+304]
  005EC153   .  8B10          mov     edx, dword ptr [eax]
  005EC155   .  FF92 C0000000 call    dword ptr [edx+C0]
  005EC15B   .  E9 B1010000   jmp     005EC311
  005EC160   >  8D55 E8       lea     edx, dword ptr [ebp-18]
  005EC163   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005EC166   .  8B80 FC020000 mov     eax, dword ptr [eax+2FC]
  005EC16C   .  E8 6B2BE6FF   call    0044ECDC
  005EC171   .  8B45 E8       mov     eax, dword ptr [ebp-18]
  005EC174   .  8D55 EC       lea     edx, dword ptr [ebp-14]
  005EC177   .  E8 C0D5E1FF   call    0040973C
  005EC17C   .  837D EC 00    cmp     dword ptr [ebp-14], 0
  005EC180   .  75 22         jnz     short 005EC1A4
  005EC182   .  6A 00         push    0
  005EC184   .  68 98C35E00   push    005EC398                         ;  授权号不能为空,请填写授权号!
  005EC189   .  E8 9204FFFF   call    <jmp.&PunUnitLib.ShowMess>
  005EC18E   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005EC191   .  8B80 FC020000 mov     eax, dword ptr [eax+2FC]
  005EC197   .  8B10          mov     edx, dword ptr [eax]
  005EC199   .  FF92 C0000000 call    dword ptr [edx+C0]
  005EC19F   .  E9 6D010000   jmp     005EC311
  005EC1A4   >  A1 14C66300   mov     eax, dword ptr [63C614]
  005EC1A9   .  8B00          mov     eax, dword ptr [eax]
  005EC1AB   .  E8 3C8EE1FF   call    00404FEC
  005EC1B0   .  50            push    eax
  005EC1B1   .  8D55 E4       lea     edx, dword ptr [ebp-1C]
  005EC1B4   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005EC1B7   .  8B80 F4020000 mov     eax, dword ptr [eax+2F4]
  005EC1BD   .  E8 1A2BE6FF   call    0044ECDC                         ;  取硬盘号 我的是 WD-WCANY****
  005EC1C2   .  8B45 E4       mov     eax, dword ptr [ebp-1C]
  005EC1C5   .  E8 228EE1FF   call    00404FEC
  005EC1CA   .  50            push    eax
  005EC1CB   .  E8 8004FFFF   call    <jmp.&PunUnitLib.GetRegPass>     ;  跟进~~这里就是注册码算法
  005EC1D0   .  8BD0          mov     edx, eax
  005EC1D2   .  8D45 F8       lea     eax, dword ptr [ebp-8]
  005EC1D5   .  E8 528BE1FF   call    00404D2C
  005EC1DA   .  8D55 DC       lea     edx, dword ptr [ebp-24]
  005EC1DD   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  005EC1E0   .  8B80 FC020000 mov     eax, dword ptr [eax+2FC]
  005EC1E6   .  E8 F12AE6FF   call    0044ECDC
  005EC1EB   .  8B45 DC       mov     eax, dword ptr [ebp-24]
  005EC1EE   .  8D55 E0       lea     edx, dword ptr [ebp-20]
  005EC1F1   .  E8 46D5E1FF   call    0040973C
  005EC1F6   .  8B45 E0       mov     eax, dword ptr [ebp-20]
  005EC1F9   .  8B55 F8       mov     edx, dword ptr [ebp-8]
  005EC1FC   .  E8 378DE1FF   call    00404F38
  005EC201   .  0F85 FE000000 jnz     005EC305
  005EC207   .  33C0          xor     eax, eax
  
  
  //跟进后我们来到了这里~~~
  003E9024 >  55              push    ebp                              ; 注册算法
  003E9025    8BEC            mov     ebp, esp
  003E9027    B9 06000000     mov     ecx, 6
  003E902C    6A 00           push    0
  003E902E    6A 00           push    0
  003E9030    49              dec     ecx
  003E9031  ^ 75 F9           jnz     short 003E902C
  003E9033    53              push    ebx
  003E9034    56              push    esi
  003E9035    33C0            xor     eax, eax
  003E9037    55              push    ebp
  003E9038    68 F2913E00     push    003E91F2
  003E903D    64:FF30         push    dword ptr fs:[eax]
  003E9040    64:8920         mov     dword ptr fs:[eax], esp
  003E9043    8D45 EC         lea     eax, dword ptr [ebp-14]
  003E9046    E8 65B5F8FF     call    003745B0
  003E904B    8D45 F0         lea     eax, dword ptr [ebp-10]
  003E904E    8B55 08         mov     edx, dword ptr [ebp+8]           ; 硬盘号给 EDX
  003E9051    E8 4AB7F8FF     call    003747A0
  003E9056    8B45 F0         mov     eax, dword ptr [ebp-10]
  003E9059    E8 0AB8F8FF     call    00374868
  003E905E    8BF0            mov     esi, eax
  003E9060    85F6            test    esi, esi
  003E9062    7E 26           jle     short 003E908A
  003E9064    BB 01000000     mov     ebx, 1
  003E9069    8D4D E8         lea     ecx, dword ptr [ebp-18]          ; //依次取出硬盘号的 ASCII 连接成一个字符串
  003E906C    8B45 F0         mov     eax, dword ptr [ebp-10]
  003E906F    0FB64418 FF     movzx   eax, byte ptr [eax+ebx-1]        ; 依次取出硬盘序号的一个字节的 ASCII码
  003E9074    33D2            xor     edx, edx
  003E9076    E8 F905F9FF     call    00379674
  003E907B    8B55 E8         mov     edx, dword ptr [ebp-18]
  003E907E    8D45 FC         lea     eax, dword ptr [ebp-4]
  003E9081    E8 EAB7F8FF     call    00374870
  003E9086    43              inc     ebx
  003E9087    4E              dec     esi
  003E9088  ^ 75 DF           jnz     short 003E9069
  003E908A    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 硬盘序号的 ASCII 码连接在一起的结果  假设为 123456
  003E908D    E8 D6B7F8FF     call    00374868
  003E9092    8BF0            mov     esi, eax
  003E9094    85F6            test    esi, esi
  003E9096    7E 2C           jle     short 003E90C4
  003E9098    BB 01000000     mov     ebx, 1
  003E909D    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 硬盘ASCII串
  003E90A0    E8 C3B7F8FF     call    00374868
  003E90A5    2BC3            sub     eax, ebx
  003E90A7    8B55 FC         mov     edx, dword ptr [ebp-4]
  003E90AA    8A1402          mov     dl, byte ptr [edx+eax]
  003E90AD    8D45 E4         lea     eax, dword ptr [ebp-1C]
  003E90B0    E8 DBB6F8FF     call    00374790
  003E90B5    8B55 E4         mov     edx, dword ptr [ebp-1C]
  003E90B8    8D45 F8         lea     eax, dword ptr [ebp-8]
  003E90BB    E8 B0B7F8FF     call    00374870
  003E90C0    43              inc     ebx
  003E90C1    4E              dec     esi
  003E90C2  ^ 75 D9           jnz     short 003E909D                   ; 以上过程把 硬盘ASCII 倒过来 设B 变成 654321
  003E90C4    8D45 FC         lea     eax, dword ptr [ebp-4]
  003E90C7    50              push    eax
  003E90C8    B9 04000000     mov     ecx, 4
  003E90CD    BA 01000000     mov     edx, 1
  003E90D2    8B45 F8         mov     eax, dword ptr [ebp-8]
  003E90D5    E8 E6B9F8FF     call    00374AC0
  003E90DA    8D45 F8         lea     eax, dword ptr [ebp-8]
  003E90DD    50              push    eax
  003E90DE    B9 04000000     mov     ecx, 4
  003E90E3    BA 05000000     mov     edx, 5
  003E90E8    8B45 F8         mov     eax, dword ptr [ebp-8]
  003E90EB    E8 D0B9F8FF     call    00374AC0
  003E90F0    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 取出B的头4位
  003E90F3    E8 70B7F8FF     call    00374868
  003E90F8    83F8 04         cmp     eax, 4
  003E90FB    7D 2F           jge     short 003E912C
  003E90FD    8B45 FC         mov     eax, dword ptr [ebp-4]
  003E9100    E8 63B7F8FF     call    00374868
  003E9105    8BD8            mov     ebx, eax
  003E9107    83FB 03         cmp     ebx, 3
  003E910A    7F 20           jg      short 003E912C
  003E910C    8D4D E0         lea     ecx, dword ptr [ebp-20]
  003E910F    8BC3            mov     eax, ebx
  003E9111    C1E0 02         shl     eax, 2
  003E9114    33D2            xor     edx, edx
  003E9116    E8 5905F9FF     call    00379674
  003E911B    8B55 E0         mov     edx, dword ptr [ebp-20]
  003E911E    8D45 FC         lea     eax, dword ptr [ebp-4]
  003E9121    E8 4AB7F8FF     call    00374870
  003E9126    43              inc     ebx
  003E9127    83FB 04         cmp     ebx, 4
  003E912A  ^ 75 E0           jnz     short 003E910C
  003E912C    8B45 F8         mov     eax, dword ptr [ebp-8]           ; 取B的下一个4位
  003E912F    E8 34B7F8FF     call    00374868
  003E9134    83F8 04         cmp     eax, 4
  003E9137    7D 2F           jge     short 003E9168
  003E9139    8B45 F8         mov     eax, dword ptr [ebp-8]
  003E913C    E8 27B7F8FF     call    00374868
  003E9141    8BD8            mov     ebx, eax
  003E9143    83FB 03         cmp     ebx, 3
  003E9146    7F 20           jg      short 003E9168
  003E9148    8D4D DC         lea     ecx, dword ptr [ebp-24]
  003E914B    8BC3            mov     eax, ebx
  003E914D    C1E0 02         shl     eax, 2
  003E9150    33D2            xor     edx, edx
  003E9152    E8 1D05F9FF     call    00379674
  003E9157    8B55 DC         mov     edx, dword ptr [ebp-24]
  003E915A    8D45 F8         lea     eax, dword ptr [ebp-8]
  003E915D    E8 0EB7F8FF     call    00374870
  003E9162    43              inc     ebx
  003E9163    83FB 04         cmp     ebx, 4
  003E9166  ^ 75 E0           jnz     short 003E9148
  003E9168    8D45 D8         lea     eax, dword ptr [ebp-28]
  003E916B    8B55 0C         mov     edx, dword ptr [ebp+C]           ; 前面我们说到的固定串 CI8D-Q868
  003E916E    E8 2DB6F8FF     call    003747A0
  003E9173    8B45 D8         mov     eax, dword ptr [ebp-28]
  003E9176    8D55 F4         lea     edx, dword ptr [ebp-C]
  003E9179    E8 DE03F9FF     call    0037955C
  003E917E    8D45 D4         lea     eax, dword ptr [ebp-2C]
  003E9181    50              push    eax
  003E9182    B9 04000000     mov     ecx, 4
  003E9187    BA 01000000     mov     edx, 1
  003E918C    8B45 F4         mov     eax, dword ptr [ebp-C]
  003E918F    E8 2CB9F8FF     call    00374AC0
  003E9194    FF75 D4         push    dword ptr [ebp-2C]               ; 拿出 CI8D
  003E9197    68 0C923E00     push    003E920C
  003E919C    FF75 FC         push    dword ptr [ebp-4]
  003E919F    8D45 D0         lea     eax, dword ptr [ebp-30]
  003E91A2    50              push    eax
  003E91A3    B9 05000000     mov     ecx, 5
  003E91A8    BA 05000000     mov     edx, 5
  003E91AD    8B45 F4         mov     eax, dword ptr [ebp-C]
  003E91B0    E8 0BB9F8FF     call    00374AC0                         ; 组装
  003E91B5    FF75 D0         push    dword ptr [ebp-30]               ; 拿出后面的 -Q868
  003E91B8    68 0C923E00     push    003E920C
  003E91BD    FF75 F8         push    dword ptr [ebp-8]
  003E91C0    8D45 EC         lea     eax, dword ptr [ebp-14]
  003E91C3    BA 06000000     mov     edx, 6
  003E91C8    E8 5BB7F8FF     call    00374928
  003E91CD    8B45 EC         mov     eax, dword ptr [ebp-14]          ; 最后的结果
  003E91D0    E8 8BB8F8FF     call    00374A60
  003E91D5    8BD8            mov     ebx, eax
  003E91D7    33C0            xor     eax, eax
  003E91D9    5A              pop     edx
  003E91DA    59              pop     ecx
  003E91DB    59              pop     ecx
  003E91DC    64:8910         mov     dword ptr fs:[eax], edx
  003E91DF    68 F9913E00     push    003E91F9
  003E91E4    8D45 D0         lea     eax, dword ptr [ebp-30]
  003E91E7    BA 0C000000     mov     edx, 0C
  003E91EC    E8 E3B3F8FF     call    003745D4
  003E91F1    C3              retn
  
  
  
  
  
  
  
  
  
  
--------------------------------------------------------------------------------
【经验总结】
  注册算法
   [注册算法用用户名无关]   
   注册码分为 4字,4个字符一节 用 - 连接 其中 第 1.3 节固定 节1 CI8D    节3 Q868
    注册码应该是 CI8D-????-Q868-????
  1.取硬盘的序列号设为 A 我的是STAT硬盘,取出来是 WD-WCANY2398234
  2.依次取A的每一位的ASCII并接连在一起  我的是         57442D5743414E5932333938323334
  3.把连接后的这个字符串翻转, 设置为B    我这里应该是  4333238393332395E4143475D24475  (倒过来了)
  4.取出 B 的0-4位作为 注册码的第二节(4333)  取出 B 的4-8位为注册码的第4节(2383)
  最后组装一下 就是  CI8D-4333-Q868-2383
  

--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2007年02月02日 16:52:12

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (8)
雪    币: 220
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
刚开始学crack就拿国人的软件开刀,不是个好的开端啊

btw:尽管如此,这也不失为一篇好的文章
2007-2-2 17:03
0
雪    币: 575
活跃值: (1157)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
  
下次一定注意~~~
2007-2-2 18:30
0
雪    币: 311
活跃值: (139)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持一下,顶一个.
2007-2-2 20:48
0
雪    币: 253
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
5
只能学习~
2007-2-2 22:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
继续分析!佳易的有暗桩!
1)200张单据限制
2)不能自定义报表
3)数据恢复需要密码,000111
2007-2-2 22:19
0
雪    币: 214
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
很好很强大
2007-2-3 10:16
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
没有这么简单,最近几天我也在试,还要继续努力。
2007-2-3 15:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
学习了! 谢谢楼主!
2007-2-5 17:32
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册