飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 9962|回复: 12

[讨论] 系统美化专家2007 V6.6.1 简单破解分析(高手路过时指点下)

[复制链接]

该用户从未签到

发表于 2007-11-26 16:23:00 | 显示全部楼层 |阅读模式
今天本来想把系统美化一下,就到百度里搜,发现了这款软件,一开始觉得是个软柿子,分析到后来却发现暗桩很多。想在网上找一个破解版的或者注册机吧!好像目前还没有发现有,所以自己分析了一下,能力有限,仅仅能实现假注册!现贴出来与大家分享下,也希望有高人能做出一个注册机或者搞一个破解版出来。下面是我分析时的一些代码!详细过程我就不说了,壳很简单,用ESP就直接脱掉了,主要是软件的暗桩比较多。
       WASM分析:
005EF46C  未注册
005D9F30  恭喜!软件注册成功!

005D9E44  /$  55            PUSH EBP
* Possible String Reference to: 'system.ini'
   DEDE分析,找到关键CALL
005D9DC6   .  E8 C9020000   CALL xp2003_u.005DA094//关键CALL
005D9DCB   .  84C0          TEST AL,AL
005D9DCD   .  74 09         JE SHORT xp2003_u.005D9DD8   //在这里修改标志位或改为JNZ
005D9DCF   .  8BC3          MOV EAX,EBX
005D9DD1   .  E8 6E000000   CALL xp2003_u.005D9E44    //F8到这里 注册成功

算法部分:
005DA094      55            PUSH EBP
005DA095      8BEC          MOV EBP,ESP
005DA097      83C4 E8       ADD ESP,-18
005DA09A      53            PUSH EBX
005DA09B      56            PUSH ESI
005DA09C      33D2          XOR EDX,EDX
005DA09E      8955 E8       MOV DWORD PTR SS:[EBP-18],EDX
005DA0A1      8955 EC       MOV DWORD PTR SS:[EBP-14],EDX
005DA0A4      8955 F4       MOV DWORD PTR SS:[EBP-C],EDX
005DA0A7      8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
005DA0AA      33C0          XOR EAX,EAX
005DA0AC      55            PUSH EBP
005DA0AD      68 93A15D00   PUSH xp2003_u.005DA193
005DA0B2      64:FF30       PUSH DWORD PTR FS:[EAX]
005DA0B5      64:8920       MOV DWORD PTR FS:[EAX],ESP
005DA0B8      33DB          XOR EBX,EBX                              ;  EBX=012D8100
005DA0BA      8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]             ;  EDX=00000000
005DA0BD      8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  EAX=00000000
005DA0C0      8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]           ;  DS:[012D8404]=012DBCCC   EAX=012D8100
005DA0C6      E8 55CCE6FF   CALL xp2003_u.00446D20
005DA0CB      8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]             ;  输入用户名
005DA0CE      E8 35ABE2FF   CALL xp2003_u.00404C08                   ;  调用CALL
005DA0D3      8BF0          MOV ESI,EAX                              ;  ESI=004B43BC (xp2003_u.004B43BC)
005DA0D5      85F6          TEST ESI,ESI                             ; 在逻辑与操作后,对标志位重新置位ESI  =0000000B
005DA0D7      7E 38         JLE SHORT xp2003_u.005DA111
005DA0D9      C745 F0 01000>MOV DWORD PTR SS:[EBP-10],1
005DA0E0      8D45 EC       /LEA EAX,DWORD PTR SS:[EBP-14]
005DA0E3      50            |PUSH EAX                                ;  EAX=0012E7A4
005DA0E4      B9 01000000   |MOV ECX,1                               ;  
005DA0E9      8B55 F0       |MOV EDX,DWORD PTR SS:[EBP-10]           ;  EDX=00140608
005DA0EC      8B45 F4       |MOV EAX,DWORD PTR SS:[EBP-C]            ;  EAX不变
005DA0EF      E8 6CADE2FF   |CALL xp2003_u.00404E60
005DA0F4      8B45 EC       |MOV EAX,DWORD PTR SS:[EBP-14]
005DA0F7      E8 04ADE2FF   |CALL xp2003_u.00404E00
005DA0FC      8A00          |MOV AL,BYTE PTR DS:[EAX]                ;  逐位取用户名
005DA0FE      25 FF000000   |AND EAX,0FF                             ;  EAX与0FF进行AND,EAX=012D1674
005DA103      03D8          |ADD EBX,EAX                             ;  EAX=00000074,EBX=00000000
005DA105      81F3 05FA0B00 |XOR EBX,0BFA05                          ;  EBX与0BFA05异或,EBX=00000074
005DA10B      FF45 F0       |INC DWORD PTR SS:[EBP-10]               ;  (Initial CPU selection)
005DA10E      4E            |DEC ESI                                 ;  ESI=0000000A
005DA10F    ^ 75 CF         JNZ SHORT xp2003_u.005DA0E0              ;  循环
005DA111  |>  A1 C4056300   MOV EAX,DWORD PTR DS:[6305C4]
005DA116  |.  8BD0          MOV EDX,EAX
005DA118  |.  C1E0 04       SHL EAX,4
005DA11B  |.  03C2          ADD EAX,EDX
005DA11D  |.  03D8          ADD EBX,EAX
005DA11F  |.  81C3 D4A31300 ADD EBX,13A3D4
005DA125  |.  81F3 8DED5900 XOR EBX,59ED8D
005DA12B  |.  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
005DA12E  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005DA131  |.  8B80 08030000 MOV EAX,DWORD PTR DS:[EAX+308]
005DA137  |.  E8 E4CBE6FF   CALL xp2003_u.00446D20
005DA13C  |.  8B45 E8       MOV EAX,DWORD PTR SS:[EBP-18]            ;  输入注册码
005DA13F  |.  E8 44F5E2FF   CALL xp2003_u.00409688
005DA144  |.  8BF3          MOV ESI,EBX
005DA146  |.  81F6 2473C400 XOR ESI,0C47324
005DA14C  |.  3BC6          CMP EAX,ESI
005DA14E      74 19         JE SHORT xp2003_u.005DA169
005DA150  |.  C645 FB 01    MOV BYTE PTR SS:[EBP-5],1
005DA154  |.  B8 BC056300   MOV EAX,xp2003_u.006305BC
005DA159  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
005DA15C  |.  E8 43A8E2FF   CALL xp2003_u.004049A4
005DA161  |.  8935 C0056300 MOV DWORD PTR DS:[6305C0],ESI
005DA167  |.  EB 04         JMP SHORT xp2003_u.005DA16D
005DA169  |>  C645 FB 00    MOV BYTE PTR SS:[EBP-5],0
005DA16D  |>  33C0          XOR EAX,EAX
005DA16F  |.  5A            POP EDX
005DA170  |.  59            POP ECX
005DA171  |.  59            POP ECX
005DA172  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
005DA175  |.  68 9AA15D00   PUSH xp2003_u.005DA19A
005DA17A  |>  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
005DA17D  |.  E8 CEA7E2FF   CALL xp2003_u.00404950
005DA182  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
005DA185  |.  E8 C6A7E2FF   CALL xp2003_u.00404950
005DA18A  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
005DA18D  |.  E8 BEA7E2FF   CALL xp2003_u.00404950
005DA192  \.  C3            RETN
005DA193   .^ E9 3CA1E2FF   JMP xp2003_u.004042D4
005DA198   .^ EB E0         JMP SHORT xp2003_u.005DA17A
005DA19A   .  8A45 FB       MOV AL,BYTE PTR SS:[EBP-5]
005DA19D   .  5E            POP ESI
005DA19E   .  5B            POP EBX
005DA19F   .  8BE5          MOV ESP,EBP
005DA1A1   .  5D            POP EBP
005DA1A2   .  C3            RETN
005DA1A3      90            NOP
005DA1A4   .  C705 C4056300>MOV DWORD PTR DS:[6305C4],xp2003_u.00657>;  N
005DA1AE   .  C3            RETN


  小结,没有什么心得。半成品发上来可能有点有碍观瞻了!望大家见谅才是!^_^

[ 本帖最后由 tangxiaodao 于 2007-11-26 16:41 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2007-11-26 18:54:11 | 显示全部楼层
005DA094  /$  55                 push ebp                                        ;  算法
005DA095  |.  8BEC               mov ebp,esp
005DA097  |.  83C4 E8            add esp,-18
005DA09A  |.  53                 push ebx
005DA09B  |.  56                 push esi
005DA09C  |.  33D2               xor edx,edx
005DA09E  |.  8955 E8            mov [local.6],edx
005DA0A1  |.  8955 EC            mov [local.5],edx
005DA0A4  |.  8955 F4            mov [local.3],edx                               ;  [local.3]存用户名
005DA0A7  |.  8945 FC            mov [local.1],eax
005DA0AA  |.  33C0               xor eax,eax
005DA0AC  |.  55                 push ebp
005DA0AD  |.  68 93A15D00        push dumped_.005DA193
005DA0B2  |.  64:FF30            push dword ptr fs:[eax]
005DA0B5  |.  64:8920            mov dword ptr fs:[eax],esp
005DA0B8  |.  33DB               xor ebx,ebx
005DA0BA  |.  8D55 F4            lea edx,[local.3]
005DA0BD  |.  8B45 FC            mov eax,[local.1]
005DA0C0  |.  8B80 04030000      mov eax,dword ptr ds:[eax+304]
005DA0C6  |.  E8 55CCE6FF        call dumped_.00446D20                           ;  取用户名,放入lo3
005DA0CB  |.  8B45 F4            mov eax,[local.3]
005DA0CE  |.  E8 35ABE2FF        call dumped_.00404C08                           ;  计算字节数
005DA0D3  |.  8BF0               mov esi,eax
005DA0D5  |.  85F6               test esi,esi
005DA0D7  |.  7E 38              jle short dumped_.005DA111
005DA0D9  |.  C745 F0 01000000   mov [local.4],1
005DA0E0  |>  8D45 EC            /lea eax,[local.5]
005DA0E3  |.  50                 |push eax
005DA0E4  |.  B9 01000000        |mov ecx,1
005DA0E9  |.  8B55 F0            |mov edx,[local.4]
005DA0EC  |.  8B45 F4            |mov eax,[local.3]                              ;  [local.3]为用户名
005DA0EF  |.  E8 6CADE2FF        |call dumped_.00404E60
005DA0F4  |.  8B45 EC            |mov eax,[local.5]
005DA0F7  |.  E8 04ADE2FF        |call dumped_.00404E00
005DA0FC  |.  8A00               |mov al,byte ptr ds:[eax]                       ;  取单个字符
005DA0FE  |.  25 FF000000        |and eax,0FF
005DA103  |.  03D8               |add ebx,eax                                    ;  ebx记账的,设循环后结果为N1
005DA105  |.  81F3 05FA0B00      |xor ebx,0BFA05
005DA10B  |.  FF45 F0            |inc [local.4]
005DA10E  |.  4E                 |dec esi
005DA10F  |.^ 75 CF              \jnz short dumped_.005DA0E0                     ;  根据用户名字节数循环
005DA111  |>  A1 C4056300        mov eax,dword ptr ds:[6305C4]                   ;  [6305c4]放eax,设为N2
005DA116  |.  8BD0               mov edx,eax
005DA118  |.  C1E0 04            shl eax,4
005DA11B  |.  03C2               add eax,edx                                     ;  N2 += SHL(N2,4)
005DA11D  |.  03D8               add ebx,eax                                     ;  N1 += N2
005DA11F  |.  81C3 D4A31300      add ebx,13A3D4                                  ;  N1 += 0x13A3D4
005DA125  |.  81F3 8DED5900      xor ebx,59ED8D                                  ;  N1 = N1 XOR 0x59ED8D
005DA12B  |.  8D55 E8            lea edx,[local.6]                               ;  [lo6] = 0
005DA12E  |.  8B45 FC            mov eax,[local.1]
005DA131  |.  8B80 08030000      mov eax,dword ptr ds:[eax+308]
005DA137  |.  E8 E4CBE6FF        call dumped_.00446D20                           ;  取假码,放入lo6
005DA13C  |.  8B45 E8            mov eax,[local.6]
005DA13F  |.  E8 44F5E2FF        call dumped_.00409688                           ;  EAX=499602D2,很明显根据假码算出来的
005DA144  |.  8BF3               mov esi,ebx                                     ;  N1 放入esi,设为N3 = N1
005DA146  |.  81F6 2473C400      xor esi,0C47324                                 ;  N3 = N3 XOR 0xC47324
005DA14C  |.  3BC6               cmp eax,esi                                     ;  EAX 与 N3比较
005DA14E  |.  75 19              jnz short dumped_.005DA169                      ;  1
005DA150  |.  C645 FB 01         mov byte ptr ss:[ebp-5],1                       ;  设标志位1
005DA154  |.  B8 BC056300        mov eax,dumped_.006305BC
005DA159  |.  8B55 F4            mov edx,[local.3]                               ;  用户名
005DA15C  |.  E8 43A8E2FF        call dumped_.004049A4                           ;  要存档了?
005DA161  |.  8935 C0056300      mov dword ptr ds:[6305C0],esi                   ;  上面这个call得出的esi送入[6305c0]
005DA167  |.  EB 04              jmp short dumped_.005DA16D
005DA169  |>  C645 FB 00         mov byte ptr ss:[ebp-5],0                       ;  设标志位2,对比1
005DA16D  |>  33C0               xor eax,eax
005DA16F  |.  5A                 pop edx
005DA170  |.  59                 pop ecx
005DA171  |.  59                 pop ecx
005DA172  |.  64:8910            mov dword ptr fs:[eax],edx
005DA175  |.  68 9AA15D00        push dumped_.005DA19A
005DA17A  |>  8D45 E8            lea eax,[local.6]
005DA17D  |.  E8 CEA7E2FF        call dumped_.00404950                           ;  清除送入的eax地址的内容
005DA182  |.  8D45 EC            lea eax,[local.5]
005DA185  |.  E8 C6A7E2FF        call dumped_.00404950
005DA18A  |.  8D45 F4            lea eax,[local.3]
005DA18D  |.  E8 BEA7E2FF        call dumped_.00404950
005DA192  \.  C3                 retn
005DA193   .^ E9 3CA1E2FF        jmp dumped_.004042D4
005DA198   .^ EB E0              jmp short dumped_.005DA17A
005DA19A   .  8A45 FB            mov al,byte ptr ss:[ebp-5]                      ;  对应前面的标志位1和2,送入al
005DA19D   .  5E                 pop esi
005DA19E   .  5B                 pop ebx
005DA19F   .  8BE5               mov esp,ebp
005DA1A1   .  5D                 pop ebp
005DA1A2   .  C3                 retn

算法已经很清楚了,再仔细跟进一两个CALL基本上就完美了。

评分

参与人数 1飘云币 +8 收起 理由
tianxj + 8 多谢您的参与!

查看全部评分

PYG19周年生日快乐!

该用户从未签到

发表于 2007-11-27 09:18:35 | 显示全部楼层
可能还没那么简单,做了个keygen,虽然提示注册成功,但实际是假注册,搞不懂~~~

keygen.rar

3.36 KB, 下载次数: 25, 下载积分: 飘云币 -2 枚

PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-11-27 12:39:34 | 显示全部楼层

咋回事?

俺也实现假注册了,为啥没人给俺加分捏!郁闷ing...
------------------------------------------------
有点怀疑这个版本是个DEMO版的,或许注册以后还会收到什么补丁程序等东西或者注册文件!我跟了好几遍都未果!本来也想写个注册,但假注册发出去觉得对大家不住!呵呵 !
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-11-27 12:42:41 | 显示全部楼层

学习

高人就是高人  学习下。。
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-11-27 12:49:31 | 显示全部楼层

回复 3# 的帖子

还应该考虑一下用户名的长度问题    如果用户名小于某个数那么注册窗体会消失,如果大于等于某个数  点注册没什么用  感觉这个注册方式和PYG CrackMe2007的算法有些相似!
PYG19周年生日快乐!

该用户从未签到

发表于 2007-12-1 13:31:58 | 显示全部楼层
哎 我什么都还看不懂也
PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2024-12-30 17:29
  • 签到天数: 633 天

    [LV.9]以坛为家II

    发表于 2007-12-1 15:40:24 | 显示全部楼层
    看不懂呀,还要学。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-1 18:48:40 | 显示全部楼层
    好多了看不明白啊/:014
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-4-29 01:28
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2008-1-30 00:28:15 | 显示全部楼层
    貌似看天书,不懂,呵呵,不太明白
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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