首页
社区
课程
招聘
[求助]星座算命大师的破解
发表于: 2009-4-13 10:51 6253

[求助]星座算命大师的破解

2009-4-13 10:51
6253
qq群里有人给了个软件让破解,http://www.skycn.com/soft/49172.html这是下载地址。

安装后用PEid查壳发现是UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo;

用esp定律脱壳,相信大家都会了,没什么好说的。

用od载入脱壳后的程序,F9运行,在软件上点击注册,随便输入注册码,弹出错误对话框,
如图:


在od中点暂停,按下ALT+K,如图:


如图所示,点击显示调用,停在:
0088CBD2    E8 45A7FCFF     CALL <JMP.&user32.MessageBoxA>
这一行,向下找:
0088CC33    E8 7CA7FCFF     CALL <JMP.&user32.SetActiveWindow>
0088CC38    8B45 E4         MOV EAX,DWORD PTR SS:[EBP-1C]
0088CC3B    E8 D86CFFFF     CALL telstr.00883918
0088CC40    C3              RETN                              ;在这里下F2断点,F9让程序运行,点
错误提示的对话框,停在这里。取消F2断点,F8单步。
0088CC41  ^ E9 C676FCFF     JMP telstr.0085430C
0088CC46  ^ EB 9F           JMP SHORT telstr.0088CBE7
0088CC48    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
0088CC4B    5F              POP EDI
0088CC4C    5E              POP ESI
0088CC4D    5B              POP EBX
0088CC4E    8BE5            MOV ESP,EBP
0088CC50    5D              POP EBP
0088CC51    C2 0400         RETN 4        ;在这里才返回。
0088CC54    55              PUSH EBP

单步后:
008CF9CE    8B95 08FEFFFF   MOV EDX,DWORD PTR SS:[EBP-1F8]
008CF9D4    58              POP EAX
008CF9D5    E8 7258F8FF     CALL telstr.0085524C                     ; 关键call
008CF9DA    74 3E           JE SHORT telstr.008CFA1A                    ;这个跳转我们必须让它实现
008CF9DC    6A 40           PUSH 40
008CF9DE    B9 08FE8C00     MOV ECX,telstr.008CFE08
008CF9E3    BA 38FE8C00     MOV EDX,telstr.008CFE38
008CF9E8    A1 F02E8D00     MOV EAX,DWORD PTR DS:[8D2EF0]
008CF9ED    8B00            MOV EAX,DWORD PTR DS:[EAX]
008CF9EF    E8 F8D0FBFF     CALL telstr.0088CAEC                     ; 弹出错误提示
008CF9F4    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]             ; 单步后来到这里
008CF9F7    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]
008CF9FD    33D2            XOR EDX,EDX
008CF9FF    E8 D0C3FEFF     CALL telstr.008BBDD4
008CFA04    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFA07    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]

在008CF9D5 上下断点,程序运行起来,随便输入密码重新注册,断在008CF9D5 处。我把JE改成JNE这样跳转实现了

向下跟到了这里
008CFA8B    50              PUSH EAX
008CFA8C    E8 F7FBFFFF     CALL <JMP.&GetEnc.GetString>
008CFA91    8B95 F0FDFFFF   MOV EDX,DWORD PTR SS:[EBP-210]
008CFA97    58              POP EAX
008CFA98    E8 AF57F8FF     CALL telstr.0085524C                     ; 关键call
008CFA9D    0F85 43020000   JNZ telstr.008CFCE6                      ; 这个跳转一定不能实现
008CFAA3    8D95 E4FDFFFF   LEA EDX,DWORD PTR SS:[EBP-21C]
008CFAA9    A1 F02E8D00     MOV EAX,DWORD PTR DS:[8D2EF0]
008CFAAE    8B00            MOV EAX,DWORD PTR DS:[EAX]
008CFAB0    E8 67D5FBFF     CALL telstr.0088D01C

将008CFA9D这里的JNZ改为JZ这样运行后就提示:


可是软件并没有真的注册,请大家也来分析下,高手给出破文。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 11108
活跃值: (3040)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
2
鼠标点击可以看到图片
2009-4-14 11:47
0
雪    币: 11108
活跃值: (3040)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
3
高手路过的话,给个意见
2009-5-3 14:18
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我晕,看不到图片……
2009-5-3 18:17
0
雪    币: 152
活跃值: (106)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
你这个东西,我下午已经分析了。

你是通过改jnz或者其它的。验证那段代码我已经找到了。实际上它会把明文的验证序列号和经过变换的key进行一次比对。

如果一样的话,就注册成功了。但是效果没达到.

在算法的最初变换有个字符级的。就是len级变换。

你需要关注两个问题
1。在那算法里,找到len级变换,实现,让其变为0x24.----做完这点后。你基本可以确定程序是否带有网络验验证。

2。如果有网络验证,就破掉网络验证。

兄弟,多看算法。-----不要光凭改jnz去xxx...那样你是得不到什么进步的。

具体的东西,我就不提了。留给你自己享受。保护强度很弱的。
2009-5-3 18:40
0
雪    币: 11108
活跃值: (3040)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
6
终于看到有人回复,我很高兴。
5楼Thomasyzh老大,强烈希望你再出一篇精华。
5楼Thomasyzh老大,强烈希望你再出一篇精华。
5楼Thomasyzh老大,强烈希望你再出一篇精华。

我的水平太有限了,看到算法都有点晕,而且"len级变换"不知道是不是你的首创,以下是我的分析:
008CF8AF    53              PUSH EBX
008CF8B0    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
008CF8B3    33C0            XOR EAX,EAX
008CF8B5    55              PUSH EBP
008CF8B6    68 F8FD8C00     PUSH telstr.008CFDF8
008CF8BB    64:FF30         PUSH DWORD PTR FS:[EAX]
008CF8BE    64:8920         MOV DWORD PTR FS:[EAX],ESP
008CF8C1    8D95 20FEFFFF   LEA EDX,DWORD PTR SS:[EBP-1E0]
008CF8C7    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CF8CA    8B80 18030000   MOV EAX,DWORD PTR DS:[EAX+318]
008CF8D0    E8 EBC4FEFF     CALL telstr.008BBDC0                     ; 取机器码
008CF8D5    8B85 20FEFFFF   MOV EAX,DWORD PTR SS:[EBP-1E0]
008CF8DB    8D95 24FEFFFF   LEA EDX,DWORD PTR SS:[EBP-1DC]
008CF8E1    E8 EE90F8FF     CALL telstr.008589D4                     ; 处理机器码
008CF8E6    83BD 24FEFFFF 0>CMP DWORD PTR SS:[EBP-1DC],0             ; 判断机器码是否为空
008CF8ED    75 1D           JNZ SHORT telstr.008CF90C                ; 实现了
008CF8EF    6A 40           PUSH 40
008CF8F1    B9 08FE8C00     MOV ECX,telstr.008CFE08
008CF8F6    BA 10FE8C00     MOV EDX,telstr.008CFE10
008CF8FB    A1 F02E8D00     MOV EAX,DWORD PTR DS:[8D2EF0]
008CF900    8B00            MOV EAX,DWORD PTR DS:[EAX]
008CF902    E8 E5D1FBFF     CALL telstr.0088CAEC
008CF907    E9 DA030000     JMP telstr.008CFCE6
008CF90C    8D95 18FEFFFF   LEA EDX,DWORD PTR SS:[EBP-1E8]
008CF912    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CF915    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]
008CF91B    E8 A0C4FEFF     CALL telstr.008BBDC0                     ; 取注册码
008CF920    8B85 18FEFFFF   MOV EAX,DWORD PTR SS:[EBP-1E8]
008CF926    8D95 1CFEFFFF   LEA EDX,DWORD PTR SS:[EBP-1E4]
008CF92C    E8 A390F8FF     CALL telstr.008589D4                     ; 处理注册码
008CF931    83BD 1CFEFFFF 0>CMP DWORD PTR SS:[EBP-1E4],0             ; 判断密码是否为空
008CF938    75 1D           JNZ SHORT telstr.008CF957
008CF93A    6A 40           PUSH 40
008CF93C    B9 08FE8C00     MOV ECX,telstr.008CFE08
008CF941    BA 24FE8C00     MOV EDX,telstr.008CFE24
008CF946    A1 F02E8D00     MOV EAX,DWORD PTR DS:[8D2EF0]
008CF94B    8B00            MOV EAX,DWORD PTR DS:[EAX]
008CF94D    E8 9AD1FBFF     CALL telstr.0088CAEC                     ; 提示注册码不能为空
008CF952    E9 8F030000     JMP telstr.008CFCE6
008CF957    8D95 0CFEFFFF   LEA EDX,DWORD PTR SS:[EBP-1F4]
008CF95D    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CF960    8B80 18030000   MOV EAX,DWORD PTR DS:[EAX+318]
008CF966    E8 55C4FEFF     CALL telstr.008BBDC0                     ; 取机器码
008CF96B    8B85 0CFEFFFF   MOV EAX,DWORD PTR SS:[EBP-1F4]
008CF971    8D95 10FEFFFF   LEA EDX,DWORD PTR SS:[EBP-1F0]
008CF977    E8 5890F8FF     CALL telstr.008589D4
008CF97C    8B95 10FEFFFF   MOV EDX,DWORD PTR SS:[EBP-1F0]
008CF982    8D85 14FEFFFF   LEA EAX,DWORD PTR SS:[EBP-1EC]
008CF988    E8 9358F8FF     CALL telstr.00855220                     ; 转换为unicode
008CF98D    8B85 14FEFFFF   MOV EAX,DWORD PTR SS:[EBP-1EC]
008CF993    50              PUSH EAX
008CF994    6A 00           PUSH 0
008CF996    8D95 00FEFFFF   LEA EDX,DWORD PTR SS:[EBP-200]
008CF99C    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CF99F    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]
008CF9A5    E8 16C4FEFF     CALL telstr.008BBDC0
008CF9AA    8B85 00FEFFFF   MOV EAX,DWORD PTR SS:[EBP-200]
008CF9B0    8D95 04FEFFFF   LEA EDX,DWORD PTR SS:[EBP-1FC]
008CF9B6    E8 1990F8FF     CALL telstr.008589D4
008CF9BB    8B85 04FEFFFF   MOV EAX,DWORD PTR SS:[EBP-1FC]
008CF9C1    50              PUSH EAX
008CF9C2    8D85 08FEFFFF   LEA EAX,DWORD PTR SS:[EBP-1F8]
008CF9C8    50              PUSH EAX
008CF9C9    E8 BAFCFFFF     CALL <JMP.&GetEnc.GetString>
008CF9CE    8B95 08FEFFFF   MOV EDX,DWORD PTR SS:[EBP-1F8]
008CF9D4    58              POP EAX
008CF9D5    E8 7258F8FF     CALL telstr.0085524C                     ; 关键的call
008CF9DA    74 3E           JE SHORT telstr.008CFA1A
008CF9DC    6A 40           PUSH 40
008CF9DE    B9 08FE8C00     MOV ECX,telstr.008CFE08
008CF9E3    BA 38FE8C00     MOV EDX,telstr.008CFE38
008CF9E8    A1 F02E8D00     MOV EAX,DWORD PTR DS:[8D2EF0]
008CF9ED    8B00            MOV EAX,DWORD PTR DS:[EAX]
008CF9EF    E8 F8D0FBFF     CALL telstr.0088CAEC                     ; 弹出错误提示
008CF9F4    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CF9F7    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]
008CF9FD    33D2            XOR EDX,EDX
008CF9FF    E8 D0C3FEFF     CALL telstr.008BBDD4
008CFA04    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFA07    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]
008CFA0D    8B10            MOV EDX,DWORD PTR DS:[EAX]
008CFA0F    FF92 C4000000   CALL DWORD PTR DS:[EDX+C4]
008CFA15    E9 CC020000     JMP telstr.008CFCE6
008CFA1A    8D95 F4FDFFFF   LEA EDX,DWORD PTR SS:[EBP-20C]
008CFA20    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFA23    8B80 18030000   MOV EAX,DWORD PTR DS:[EAX+318]
008CFA29    E8 92C3FEFF     CALL telstr.008BBDC0
008CFA2E    8B85 F4FDFFFF   MOV EAX,DWORD PTR SS:[EBP-20C]
008CFA34    8D95 F8FDFFFF   LEA EDX,DWORD PTR SS:[EBP-208]
008CFA3A    E8 958FF8FF     CALL telstr.008589D4
008CFA3F    8B95 F8FDFFFF   MOV EDX,DWORD PTR SS:[EBP-208]
008CFA45    8D85 FCFDFFFF   LEA EAX,DWORD PTR SS:[EBP-204]
008CFA4B    E8 D057F8FF     CALL telstr.00855220
008CFA50    8B85 FCFDFFFF   MOV EAX,DWORD PTR SS:[EBP-204]
008CFA56    50              PUSH EAX
008CFA57    6A 00           PUSH 0
008CFA59    8D95 E8FDFFFF   LEA EDX,DWORD PTR SS:[EBP-218]
008CFA5F    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFA62    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]
008CFA68    E8 53C3FEFF     CALL telstr.008BBDC0
008CFA6D    8B85 E8FDFFFF   MOV EAX,DWORD PTR SS:[EBP-218]
008CFA73    8D95 ECFDFFFF   LEA EDX,DWORD PTR SS:[EBP-214]
008CFA79    E8 568FF8FF     CALL telstr.008589D4
008CFA7E    8B85 ECFDFFFF   MOV EAX,DWORD PTR SS:[EBP-214]
008CFA84    50              PUSH EAX
008CFA85    8D85 F0FDFFFF   LEA EAX,DWORD PTR SS:[EBP-210]
008CFA8B    50              PUSH EAX
008CFA8C    E8 F7FBFFFF     CALL <JMP.&GetEnc.GetString>
008CFA91    8B95 F0FDFFFF   MOV EDX,DWORD PTR SS:[EBP-210]
008CFA97    58              POP EAX
008CFA98    E8 AF57F8FF     CALL telstr.0085524C
008CFA9D    0F85 43020000   JNZ telstr.008CFCE6
008CFAA3    8D95 E4FDFFFF   LEA EDX,DWORD PTR SS:[EBP-21C]
008CFAA9    A1 F02E8D00     MOV EAX,DWORD PTR DS:[8D2EF0]
008CFAAE    8B00            MOV EAX,DWORD PTR DS:[EAX]
008CFAB0    E8 67D5FBFF     CALL telstr.0088D01C
008CFAB5    8B85 E4FDFFFF   MOV EAX,DWORD PTR SS:[EBP-21C]
008CFABB    8D55 F4         LEA EDX,DWORD PTR SS:[EBP-C]
008CFABE    E8 9195F8FF     CALL telstr.00859054
008CFAC3    8D95 E0FDFFFF   LEA EDX,DWORD PTR SS:[EBP-220]
008CFAC9    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]
008CFACC    E8 038FF8FF     CALL telstr.008589D4
008CFAD1    8D85 E0FDFFFF   LEA EAX,DWORD PTR SS:[EBP-220]
008CFAD7    BA 50FE8C00     MOV EDX,telstr.008CFE50                  ; ASCII "\CondDate.dll"
008CFADC    E8 9F51F8FF     CALL telstr.00854C80
008CFAE1    8B8D E0FDFFFF   MOV ECX,DWORD PTR SS:[EBP-220]
008CFAE7    B2 01           MOV DL,1
008CFAE9    A1 D0AC8700     MOV EAX,DWORD PTR DS:[87ACD0]
008CFAEE    E8 8DB2FAFF     CALL telstr.0087AD80
008CFAF3    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
008CFAF6    33C0            XOR EAX,EAX
008CFAF8    55              PUSH EBP
008CFAF9    68 DDFB8C00     PUSH telstr.008CFBDD
008CFAFE    64:FF30         PUSH DWORD PTR FS:[EAX]
008CFB01    64:8920         MOV DWORD PTR FS:[EAX],ESP
008CFB04    8D95 D8FDFFFF   LEA EDX,DWORD PTR SS:[EBP-228]
008CFB0A    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFB0D    8B80 18030000   MOV EAX,DWORD PTR DS:[EAX+318]
008CFB13    E8 A8C2FEFF     CALL telstr.008BBDC0
008CFB18    8B85 D8FDFFFF   MOV EAX,DWORD PTR SS:[EBP-228]
008CFB1E    8D95 DCFDFFFF   LEA EDX,DWORD PTR SS:[EBP-224]
008CFB24    E8 AB8EF8FF     CALL telstr.008589D4
008CFB29    8B85 DCFDFFFF   MOV EAX,DWORD PTR SS:[EBP-224]
008CFB2F    50              PUSH EAX
008CFB30    B9 68FE8C00     MOV ECX,telstr.008CFE68                  ; ASCII "usnamema"
008CFB35    BA 7CFE8C00     MOV EDX,telstr.008CFE7C                  ; ASCII "Self_Reg"
008CFB3A    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
008CFB3D    8B18            MOV EBX,DWORD PTR DS:[EAX]
008CFB3F    FF53 04         CALL DWORD PTR DS:[EBX+4]
008CFB42    8D95 D0FDFFFF   LEA EDX,DWORD PTR SS:[EBP-230]
008CFB48    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFB4B    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]
008CFB51    E8 6AC2FEFF     CALL telstr.008BBDC0
008CFB56    8B85 D0FDFFFF   MOV EAX,DWORD PTR SS:[EBP-230]
008CFB5C    8D95 D4FDFFFF   LEA EDX,DWORD PTR SS:[EBP-22C]
008CFB62    E8 6D8EF8FF     CALL telstr.008589D4
008CFB67    8B85 D4FDFFFF   MOV EAX,DWORD PTR SS:[EBP-22C]
008CFB6D    50              PUSH EAX
008CFB6E    B9 90FE8C00     MOV ECX,telstr.008CFE90                  ; ASCII "regstrma"
008CFB73    BA 7CFE8C00     MOV EDX,telstr.008CFE7C                  ; ASCII "Self_Reg"
008CFB78    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
008CFB7B    8B18            MOV EBX,DWORD PTR DS:[EAX]
008CFB7D    FF53 04         CALL DWORD PTR DS:[EBX+4]
008CFB80    68 A4FE8C00     PUSH telstr.008CFEA4
008CFB85    B9 B0FE8C00     MOV ECX,telstr.008CFEB0                  ; ASCII "RegB"
008CFB8A    BA 7CFE8C00     MOV EDX,telstr.008CFE7C                  ; ASCII "Self_Reg"
008CFB8F    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
008CFB92    8B18            MOV EBX,DWORD PTR DS:[EAX]
008CFB94    FF53 04         CALL DWORD PTR DS:[EBX+4]
008CFB97    E8 B8A9F8FF     CALL telstr.0085A554
008CFB9C    83C4 F8         ADD ESP,-8
008CFB9F    DD1C24          FSTP QWORD PTR SS:[ESP]
008CFBA2    9B              WAIT
008CFBA3    8D85 CCFDFFFF   LEA EAX,DWORD PTR SS:[EBP-234]
008CFBA9    E8 0AB6F8FF     CALL telstr.0085B1B8
008CFBAE    8B85 CCFDFFFF   MOV EAX,DWORD PTR SS:[EBP-234]
008CFBB4    50              PUSH EAX
008CFBB5    B9 C0FE8C00     MOV ECX,telstr.008CFEC0                  ; ASCII "Regdate"
008CFBBA    BA 7CFE8C00     MOV EDX,telstr.008CFE7C                  ; ASCII "Self_Reg"
008CFBBF    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
008CFBC2    8B18            MOV EBX,DWORD PTR DS:[EAX]
008CFBC4    FF53 04         CALL DWORD PTR DS:[EBX+4]
008CFBC7    33C0            XOR EAX,EAX
008CFBC9    5A              POP EDX
008CFBCA    59              POP ECX
008CFBCB    59              POP ECX
008CFBCC    64:8910         MOV DWORD PTR FS:[EAX],EDX
008CFBCF    68 E4FB8C00     PUSH telstr.008CFBE4
008CFBD4    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
008CFBD7    E8 C83FF8FF     CALL telstr.00853BA4
008CFBDC    C3              RETN
008CFBDD  ^ E9 2A47F8FF     JMP telstr.0085430C
008CFBE2  ^ EB F0           JMP SHORT telstr.008CFBD4
008CFBE4    BA D0FE8C00     MOV EDX,telstr.008CFED0
008CFBE9    8D85 28FEFFFF   LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFBEF    E8 F435F8FF     CALL telstr.008531E8
008CFBF4    B8 D0FE8C00     MOV EAX,telstr.008CFED0
008CFBF9    E8 BE93F8FF     CALL telstr.00858FBC
008CFBFE    84C0            TEST AL,AL
008CFC00    75 12           JNZ SHORT telstr.008CFC14
008CFC02    8D85 28FEFFFF   LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFC08    E8 6B33F8FF     CALL telstr.00852F78
008CFC0D    E8 E22FF8FF     CALL telstr.00852BF4
008CFC12    EB 10           JMP SHORT telstr.008CFC24
008CFC14    8D85 28FEFFFF   LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFC1A    E8 6533F8FF     CALL telstr.00852F84
008CFC1F    E8 D02FF8FF     CALL telstr.00852BF4
008CFC24    33C0            XOR EAX,EAX
008CFC26    55              PUSH EBP
008CFC27    68 A6FC8C00     PUSH telstr.008CFCA6
008CFC2C    64:FF30         PUSH DWORD PTR FS:[EAX]
008CFC2F    64:8920         MOV DWORD PTR FS:[EAX],ESP
008CFC32    8D95 C0FDFFFF   LEA EDX,DWORD PTR SS:[EBP-240]
008CFC38    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFC3B    8B80 14030000   MOV EAX,DWORD PTR DS:[EAX+314]
008CFC41    E8 7AC1FEFF     CALL telstr.008BBDC0
008CFC46    8B85 C0FDFFFF   MOV EAX,DWORD PTR SS:[EBP-240]
008CFC4C    8D95 C4FDFFFF   LEA EDX,DWORD PTR SS:[EBP-23C]
008CFC52    E8 7D8DF8FF     CALL telstr.008589D4
008CFC57    8B8D C4FDFFFF   MOV ECX,DWORD PTR SS:[EBP-23C]
008CFC5D    8D85 C8FDFFFF   LEA EAX,DWORD PTR SS:[EBP-238]
008CFC63    BA E4FE8C00     MOV EDX,telstr.008CFEE4
008CFC68    E8 5750F8FF     CALL telstr.00854CC4
008CFC6D    8B95 C8FDFFFF   MOV EDX,DWORD PTR SS:[EBP-238]
008CFC73    8D85 28FEFFFF   LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFC79    E8 EA53F8FF     CALL telstr.00855068
008CFC7E    E8 D939F8FF     CALL telstr.0085365C
008CFC83    E8 6C2FF8FF     CALL telstr.00852BF4
008CFC88    33C0            XOR EAX,EAX
008CFC8A    5A              POP EDX
008CFC8B    59              POP ECX
008CFC8C    59              POP ECX
008CFC8D    64:8910         MOV DWORD PTR FS:[EAX],EDX
008CFC90    68 ADFC8C00     PUSH telstr.008CFCAD
008CFC95    8D85 28FEFFFF   LEA EAX,DWORD PTR SS:[EBP-1D8]
008CFC9B    E8 1036F8FF     CALL telstr.008532B0
008CFCA0    E8 4F2FF8FF     CALL telstr.00852BF4
008CFCA5    C3              RETN
008CFCA6  ^ E9 6146F8FF     JMP telstr.0085430C
008CFCAB  ^ EB E8           JMP SHORT telstr.008CFC95
008CFCAD    6A 40           PUSH 40
008CFCAF    B9 08FE8C00     MOV ECX,telstr.008CFE08
008CFCB4    BA F4FE8C00     MOV EDX,telstr.008CFEF4
008CFCB9    A1 F02E8D00     MOV EAX,DWORD PTR DS:[8D2EF0]
008CFCBE    8B00            MOV EAX,DWORD PTR DS:[EAX]
008CFCC0    E8 27CEFBFF     CALL telstr.0088CAEC                     ; 提示注册成功
008CFCC5    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]
008CFCC8    B8 01000000     MOV EAX,1
008CFCCD    8982 64030000   MOV DWORD PTR DS:[EDX+364],EAX
008CFCD3    48              DEC EAX
008CFCD4    75 08           JNZ SHORT telstr.008CFCDE
008CFCD6    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFCD9    E8 C6020000     CALL telstr.008CFFA4
008CFCDE    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
008CFCE1    E8 1697FBFF     CALL telstr.008893FC

希望不吝赐教。
2009-5-4 15:36
0
雪    币: 152
活跃值: (106)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
首先,分析加密,你应该从这个dll的这里开始
GetEnc.dll
003B212C > $  55            push    ebp-------这里下段嘛
003B212D   .  8BEC          mov     ebp, esp
003B212F   .  B9 05000000   mov     ecx, 5
003B2134   >  6A 00         push    0
003B2136   .  6A 00         push    0
003B2138   .  49            dec     ecx
003B2139   .^ 75 F9         jnz     short 003B2134
003B213B   .  51            push    ecx
003B213C   .  53            push    ebx
003B213D   .  56            push    esi
003B213E   .  57            push    edi
003B213F   .  8B45 0C       mov     eax, dword ptr [ebp+C]
003B2142   .  E8 191DFFFF   call    003A3E60
003B2147   .  8B45 10       mov     eax, dword ptr [ebp+10]
003B214A   .  E8 111DFFFF   call    003A3E60
003B214F   .  33C0          xor     eax, eax
003B2151   .  55            push    ebp
003B2152   .  68 AA223B00   push    003B22AA
003B2157   .  64:FF30       push    dword ptr fs:[eax]
003B215A   .  64:8920       mov     dword ptr fs:[eax], esp
003B215D   .  8B45 10       mov     eax, dword ptr [ebp+10]
003B2160   .  E8 0B1BFFFF   call    003A3C70
003B2165   .  8945 FC       mov     dword ptr [ebp-4], eax
003B2168   .  837D FC 00    cmp     dword ptr [ebp-4], 0
003B216C   .  75 0D         jnz     short 003B217B
003B216E   .  8D45 10       lea     eax, dword ptr [ebp+10]
003B2171   .  BA C4223B00   mov     edx, 003B22C4                    ;  ASCII "sanSM"
003B2176   .  E8 F118FFFF   call    003A3A6C
003B217B   >  33C0          xor     eax, eax
003B217D   .  8945 F8       mov     dword ptr [ebp-8], eax
003B2180   .  8D45 E0       lea     eax, dword ptr [ebp-20]
003B2183   .  50            push    eax
003B2184   .  B9 02000000   mov     ecx, 2
003B2189   .  BA 01000000   mov     edx, 1
003B218E   .  8B45 0C       mov     eax, dword ptr [ebp+C]
003B2191   .  E8 321DFFFF   call    003A3EC8                         ;  ??? this call
003B2196   .  8B4D E0       mov     ecx, dword ptr [ebp-20]
003B2199   .  8D45 E4       lea     eax, dword ptr [ebp-1C]
003B219C   .  BA D4223B00   mov     edx, 003B22D4
003B21A1   .  E8 161BFFFF   call    003A3CBC
003B21A6   .  8B45 E4       mov     eax, dword ptr [ebp-1C]
003B21A9   .  E8 1249FFFF   call    003A6AC0                         ;  Encode
003B21AE   .  8945 F4       mov     dword ptr [ebp-C], eax
003B21B1   .  C745 EC 03000>mov     dword ptr [ebp-14], 3
003B21B8   >  33C0          xor     eax, eax
003B21BA   .  55            push    ebp
003B21BB   .  68 FF213B00   push    003B21FF
003B21C0   .  64:FF30       push    dword ptr fs:[eax]
003B21C3   .  64:8920       mov     dword ptr fs:[eax], esp
003B21C6   .  8D45 D8       lea     eax, dword ptr [ebp-28]
003B21C9   .  50            push    eax
003B21CA   .  B9 02000000   mov     ecx, 2
003B21CF   .  8B55 EC       mov     edx, dword ptr [ebp-14]
003B21D2   .  8B45 0C       mov     eax, dword ptr [ebp+C]
003B21D5   .  E8 EE1CFFFF   call    003A3EC8
003B21DA   .  8B4D D8       mov     ecx, dword ptr [ebp-28]
003B21DD   .  8D45 DC       lea     eax, dword ptr [ebp-24]
003B21E0   .  BA D4223B00   mov     edx, 003B22D4
003B21E5   .  E8 D21AFFFF   call    003A3CBC
003B21EA   .  8B45 DC       mov     eax, dword ptr [ebp-24]
003B21ED   .  E8 CE48FFFF   call    003A6AC0
003B21F2   .  8945 E8       mov     dword ptr [ebp-18], eax
003B21F5   .  33C0          xor     eax, eax
003B21F7   .  5A            pop     edx
003B21F8   .  59            pop     ecx
003B21F9   .  59            pop     ecx

这里大概是在进行一些,明文的处理

003A292A      8BC0          mov     eax, eax
003A292C  /$  53            push    ebx
003A292D  |.  56            push    esi
003A292E  |.  57            push    edi
003A292F  |.  89C6          mov     esi, eax
003A2931  |.  50            push    eax
003A2932  |.  85C0          test    eax, eax
003A2934  |.  74 6C         je      short 003A29A2
003A2936  |.  31C0          xor     eax, eax
003A2938  |.  31DB          xor     ebx, ebx
003A293A  |.  BF CCCCCC0C   mov     edi, 0CCCCCCC
003A293F  |>  8A1E          /mov     bl, byte ptr [esi]
003A2941  |.  46            |inc     esi
003A2942  |.  80FB 20       |cmp     bl, 20
003A2945  |.^ 74 F8         \je      short 003A293F
003A2947  |.  B5 00         mov     ch, 0
003A2949  |.  80FB 2D       cmp     bl, 2D
003A294C  |.  74 62         je      short 003A29B0
003A294E  |.  80FB 2B       cmp     bl, 2B
003A2951  |.  74 5F         je      short 003A29B2
003A2953  |>  80FB 24       cmp     bl, 24                           ;  Switch (cases 0..78)
003A2956  |.  74 5F         je      short 003A29B7
003A2958  |.  80FB 78       cmp     bl, 78
003A295B  |.  74 5A         je      short 003A29B7
003A295D  |.  80FB 58       cmp     bl, 58
003A2960  |.  74 55         je      short 003A29B7
003A2962  |.  80FB 30       cmp     bl, 30
003A2965  |.  75 13         jnz     short 003A297A
003A2967  |.  8A1E          mov     bl, byte ptr [esi]               ;  Case 30 ('0') of switch 003A2953
003A2969  |.  46            inc     esi
003A296A  |.  80FB 78       cmp     bl, 78
003A296D  |.  74 48         je      short 003A29B7
003A296F  |.  80FB 58       cmp     bl, 58
003A2972  |.  74 43         je      short 003A29B7
003A2974  |.  84DB          test    bl, bl
003A2976  |.  74 20         je      short 003A2998
003A2978  |.  EB 04         jmp     short 003A297E
003A297A  |>  84DB          test    bl, bl
003A297C  |.  74 2D         je      short 003A29AB
003A297E  |>  80EB 30       /sub     bl, 30                          ;  Default case of switch 003A2953
003A2981  |.  80FB 09       |cmp     bl, 9
003A2984  |.  77 25         |ja      short 003A29AB
003A2986  |.  39F8          |cmp     eax, edi
003A2988  |.  77 21         |ja      short 003A29AB
003A298A  |.  8D0480        |lea     eax, dword ptr [eax+eax*4]
003A298D  |.  01C0          |add     eax, eax
003A298F  |.  01D8          |add     eax, ebx
003A2991  |.  8A1E          |mov     bl, byte ptr [esi]
003A2993  |.  46            |inc     esi
003A2994  |.  84DB          |test    bl, bl
003A2996  |.^ 75 E6         \jnz     short 003A297E
003A2998  |>  FECD          dec     ch
003A299A  |.  74 09         je      short 003A29A5
003A299C  |.  85C0          test    eax, eax
003A299E  |.  7D 54         jge     short 003A29F4
003A29A0  |.  EB 09         jmp     short 003A29AB
003A29A2  |>  46            inc     esi
003A29A3  |.  EB 06         jmp     short 003A29AB
003A29A5  |>  F7D8          neg     eax
003A29A7  |.  7E 4B         jle     short 003A29F4
003A29A9  |.  78 49         js      short 003A29F4
003A29AB  |>  5B            pop     ebx                              ;  Default case of switch 003A29CB
003A29AC  |.  29DE          sub     esi, ebx
003A29AE  |.  EB 47         jmp     short 003A29F7
003A29B0  |>  FEC5          inc     ch
003A29B2  |>  8A1E          mov     bl, byte ptr [esi]
003A29B4  |.  46            inc     esi
003A29B5  |.^ EB 9C         jmp     short 003A2953
003A29B7  |>  BF FFFFFF0F   mov     edi, 0FFFFFFF                    ;  Cases 24 ('$'),58 ('X'),78 ('x') of switch 003A2953
003A29BC  |.  8A1E          mov     bl, byte ptr [esi]               ;  取密-从这里开始
003A29BE  |.  46            inc     esi
003A29BF  |.  84DB          test    bl, bl
003A29C1  |.^ 74 DF         je      short 003A29A2
003A29C3  |>  80FB 61       /cmp     bl, 61                          ;  判断第一个字符是不a
003A29C6  |.  72 03         |jb      short 003A29CB
003A29C8  |.  80EB 20       |sub     bl, 20
003A29CB  |>  80EB 30       |sub     bl, 30                          ;  Switch (cases 30..46)
003A29CE  |.  80FB 09       |cmp     bl, 9
003A29D1  |.  76 0B         |jbe     short 003A29DE
003A29D3  |.  80EB 11       |sub     bl, 11
003A29D6  |.  80FB 05       |cmp     bl, 5
003A29D9  |.^ 77 D0         |ja      short 003A29AB
003A29DB  |.  80C3 0A       |add     bl, 0A                          ;  Cases 41 ('A'),42 ('B'),43 ('C'),44 ('D'),45 ('E'),46 ('F') of switch 003A29CB
003A29DE  |>  39F8          |cmp     eax, edi                        ;  Cases 30 ('0'),31 ('1'),32 ('2'),33 ('3'),34 ('4'),35 ('5'),36 ('6'),37 ('7'),38 ('8'),39 ('9') of switch 003A29CB
003A29E0  |.^ 77 C9         |ja      short 003A29AB
003A29E2  |.  C1E0 04       |shl     eax, 4
003A29E5  |.  01D8          |add     eax, ebx
003A29E7  |.  8A1E          |mov     bl, byte ptr [esi]              ;  取下一个字符
003A29E9  |.  46            |inc     esi
003A29EA  |.  84DB          |test    bl, bl
003A29EC  |.^ 75 D5         \jnz     short 003A29C3
003A29EE  |.  FECD          dec     ch
003A29F0  |.  75 02         jnz     short 003A29F4
003A29F2  |.  F7D8          neg     eax
003A29F4  |>  59            pop     ecx
003A29F5  |.  31F6          xor     esi, esi
003A29F7  |>  8932          mov     dword ptr [edx], esi
003A29F9  |.  5F            pop     edi
003A29FA  |.  5E            pop     esi
003A29FB  |.  5B            pop     ebx

----------------------------------

-----------------------------------

0085524C  /$  53            push    ebx
0085524D  |.  56            push    esi
0085524E  |.  57            push    edi
0085524F  |.  89C6          mov     esi, eax
00855251  |.  89D7          mov     edi, edx
00855253  |.  39D0          cmp     eax, edx
00855255  |.  74 72         je      short 008552C9
00855257  |.  85F6          test    esi, esi
00855259  |.  74 51         je      short 008552AC
0085525B  |.  85FF          test    edi, edi
0085525D  |.  74 54         je      short 008552B3
0085525F  |.  8B46 FC       mov     eax, dword ptr [esi-4]
00855262  |.  8B57 FC       mov     edx, dword ptr [edi-4]
00855265  |.  29D0          sub     eax, edx
00855267  |.  77 02         ja      short 0085526B
00855269  |.  01C2          add     edx, eax
0085526B  |>  52            push    edx
0085526C  |.  C1EA 02       shr     edx, 2
0085526F  |.  74 26         je      short 00855297
00855271  |>  8B0E          /mov     ecx, dword ptr [esi]
00855273  |.  8B1F          |mov     ebx, dword ptr [edi]
00855275  |.  39D9          |cmp     ecx, ebx
00855277  |.  75 41         |jnz     short 008552BA
00855279  |.  4A            |dec     edx
0085527A  |.  74 15         |je      short 00855291
0085527C  |.  8B4E 04       |mov     ecx, dword ptr [esi+4]
0085527F  |.  8B5F 04       |mov     ebx, dword ptr [edi+4]
00855282  |.  39D9          |cmp     ecx, ebx
00855284  |.  75 34         |jnz     short 008552BA
00855286  |.  83C6 08       |add     esi, 8
00855289  |.  83C7 08       |add     edi, 8
0085528C  |.  4A            |dec     edx
0085528D  |.^ 75 E2         \jnz     short 00855271
0085528F  |.  EB 06         jmp     short 00855297
00855291  |>  83C6 04       add     esi, 4
00855294  |.  83C7 04       add     edi, 4
00855297  |>  5A            pop     edx
00855298  |.  83E2 02       and     edx, 2
0085529B  |.  74 0B         je      short 008552A8
0085529D  |.  66:8B0E       mov     cx, word ptr [esi]
008552A0  |.  66:8B1F       mov     bx, word ptr [edi]
008552A3  |.  66:39D9       cmp     cx, bx
008552A6  |.  75 21         jnz     short 008552C9
008552A8  |>  01C0          add     eax, eax
008552AA  |.  EB 1D         jmp     short 008552C9
008552AC  |>  8B57 FC       mov     edx, dword ptr [edi-4]
008552AF  |.  29D0          sub     eax, edx
008552B1  |.  EB 16         jmp     short 008552C9
008552B3  |>  8B46 FC       mov     eax, dword ptr [esi-4]
008552B6  |.  29D0          sub     eax, edx
008552B8  |.  EB 0F         jmp     short 008552C9
008552BA  |>  5A            pop     edx
008552BB  |.  66:39D9       cmp     cx, bx
008552BE  |.  75 09         jnz     short 008552C9
008552C0  |.  C1E9 10       shr     ecx, 10
008552C3  |.  C1EB 10       shr     ebx, 10
008552C6  |.  66:39D9       cmp     cx, bx
008552C9  |>  5F            pop     edi
008552CA  |.  5E            pop     esi
008552CB  |.  5B            pop     ebx
008552CC  \.  C3            retn

这里会把明文的验证码,和进行变换后的你输入的码进行比对。

比队的方法是

1:先比队长度
2:再开始比队字符

长度就是len....根据我的分析,你输入字符和数字的组合,会变出不同的长度,传输到这里来。
如果一样,就成功了。

所谓的len级变换,是我自己取的名字,如果不爽这种命名的话,你大可以不必要看。

你开始仔细,从我给你的第一个点那个地方,一步一步的分析起走。
2009-5-4 17:05
0
雪    币: 152
活跃值: (106)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
8
我相信你经过自己的努力,会破掉这个软件。

我也是懒的去看它开始是如何去变换并文输入的了。说真的,我比你还懒。
2009-5-4 17:11
0
雪    币: 152
活跃值: (106)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
0085525F  |.  8B46 FC       mov     eax, dword ptr [esi-4]
00855262  |.  8B57 FC       mov     edx, dword ptr [edi-4]
这两句是在比对长度
2009-5-4 17:12
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
Thomasyzh这家伙就会夸夸其谈,你这样的分析法照样不能破,虽然看到能注册成功,但软件还会在各功能里验证,照样过不去
2009-8-15 11:17
0
游客
登录 | 注册 方可回帖
返回
//