首页
社区
课程
招聘
[求助]大侠教我破解这个软件
发表于: 2006-11-22 20:18 6811

[求助]大侠教我破解这个软件

2006-11-22 20:18
6811
菜鸟刚刚接触破解才几天时间,实在没有心情去学习那些枯燥的基础知识(这样真的是在打击我的学习积极性,呵呵!),就找了一个自己感兴趣的软件来,想一边破解一边学习相关的基础知识,这样才有兴趣! 我找的这个软件是“3D大赢家”本来是有6天全功能使用期限的,不过现在已经过了6天,变成了限制功能的版本。
   我用W32dsm打开找到“006DC9F8”这个地址,然后在OD中下断(呵呵,我不知道怎样在OD中直接下断,高手指点一下!)把这个跳转改到“006D9FA”(以前是跳到“006DCA10”)但是没有用。胡乱输入注册码只是提示注册成功,软件功能还是和以前一样有限制,重新启动软还是提示没有注册。在往后我就晕了,不知怎样搞,请大侠拔刀相助!!先谢谢!
软件下载地址:http://www.jcw88.com/soft/soft2.asp?ProdNum=12

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
我也没有心情学习那些枯燥的基础知识,所以我的精华文章没有一篇是关于破解的,理解你的心情。

我比较有兴趣知道你之前是怎么找到爆破点的,现在怎么又找不到了。
2006-11-22 22:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个软件如果注册失败,会弹出一个对话框,说注册失败请联系作者的文字。我在W32dsm中查找“注册失败”字段就可以看到注册码校验完成后的那个跳转的源码,但是只是改这个跳转不行,他启动时好像也要检测注册码。到这我就没招了
所有想高手指点一下,怎样入手。谢谢!
2006-11-23 19:23
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
希望有高手解决,我也想学习~
2006-11-23 21:05
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
5
难道就没有别的方法找爆破点吗?

如果我将比较注册码的代码写成一个宏,启动每个功能之前都检查一下注册码是否正确,那怎么办?

这次没有字符串参考了
2006-11-23 22:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
在有判断
0070acd5  00707f6f  00701e7c 006f130c 四处,将jne  改为 jmp 就可以取消部分限制了,并在00708d88 处,将jne 改为 jmp 就可以避开启动时出现注册窗口了  简单爆破.
2006-11-24 00:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这样只是爆破,只能学好少东西,那不能教下怎样看软件的算法,或者提供一个思路,自己动手记的更清楚一点。
另外请教一下:jmp/je/jne分别表示什么样的跳转啊?还有test是什么意思,比如:test al,al       test ebx,ebx什么意思,大侠指点指点,菜鸟不胜感激!!
2006-11-24 20:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
006DC9E7  |.  E8 6882D2FF   call 3ddyj.00404C54
006DC9EC  |.  8B55 F8       mov edx, ss:[ebp-8]
006DC9EF  |.  8BC3          mov eax, ebx
006DC9F1  |.  E8 CAFEFFFF   call 3ddyj.006DC8C0
006DC9F6  |.  84C0          test al, al
006DC9F8      74 16         je short 3ddyj.006DCA10     这里je 改jnz就可以实现爆破了
006DC9FA  |.  8D45 FC       lea eax, ss:[ebp-4]
006DC9FD  |.  BA 80CA6D00   mov edx, 3ddyj.006DCA80           ;  注册成功,感谢使用!\n\n请将您的机器序列号及用户注册码记录下来,以后升级时备用!
006DCA02  |.  E8 4D82D2FF   call 3ddyj.00404C54
006DCA07  |.  8BC3          mov eax, ebx
006DCA09  |.  E8 3A27DCFF   call 3ddyj.0049F148
006DCA0E  |.  EB 0D         jmp short 3ddyj.006DCA1D
006DCA10  |>  8D45 FC       lea eax, ss:[ebp-4]
006DCA13  |.  BA D8CA6D00   mov edx, 3ddyj.006DCAD8           ;  注册失败!请向软件提供商索取正确的注册码!\n\n联系电话:010-82621088 82626188

本来我也想学习下追注册码,可水平有限,好象是网络验证的,只能爆破了
2006-11-25 20:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我也把这个东东破了,不过我改了两个地方
1:把0064904D     je 0064905d   改为jmp   006490c5
2: 把006DC9F8     je 006DCA10   改为NOP

这样启动软件时会有一个对话框问要输入注册码吗?点击 试用后注册 就可以用没有功能限制的软件了,这时随便输入一个注册码会提示注册成功,不过下次启动它还会问你要输入注册码吗?嘿嘿!这个东东被我搞得有点傻了!!
2006-11-26 00:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 lovefree 发布
我也把这个东东破了,不过我改了两个地方
1:把0064904D je 0064905d 改为jmp 006490c5
2: 把006DC9F8 je 006DCA10 改为NOP

这样启动软件时会有一个对话框问要输入注册码吗?点击 试用后注册 就可以用没有功能限制的软件了,这时随便输入一个注册码会提示注册成功,不过下次启动它还会问你要输入注册码吗?嘿嘿!这个东东被我搞得有点傻了!!


老大是怎么判断这两个地方就是注册用的?
2006-11-26 16:16
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
11
楼主还是没把思路理清

既然那窗口是一启动就出现的,要么在弹出窗口的API下断,要么在从EP开始跟踪代码,见CALL就步过,当你步过一个CALL的时候,窗口弹出来了,那么就跟进那个CALL继续步过,直到定位出弹出口之前的那段代码为止,那里便是爆破点,再前面的地方便是相关算法。

字符串参考虽然简单,但是只能是你明白一般思路之后的一个捷径,而不能对什么软件都用。能根据字符串参考定位目标代码固然好。但是遇到不能这么做的软件呢?

jmp/je/jne分别表示什么样的跳转啊?还有test是什么意思,比如:test al,al       test ebx,ebx什么意思

这几个常见的汇编指令是无论如何都要掌握的。JMP是绝对跳转,直接转到别的地方执行代码。JE是当前面的运算结果为0时就跳,JNE是当前面运算结果不为0时跳。TEST相当于AND逻辑运算,一般用于判断某一个位是否为0。AL和EBX都是寄存器。

既然不想从基础学起,请活用搜索引擎。如果你以后还有什么问题,别人都一一答你,我想你把你的问题和别人的回答整理一下,可以出一本书了。
2006-11-26 16:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
哦哟~ 和我心情一样,不过我现在已经积极学习API中~ 快要拿到我的“馒头”了
2006-11-26 16:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
谢谢笨笨雄版主的指点。不是我不想看书,只是内容太枯燥,又不知道从何入手,看来看去还是一头雾水。所以我想找一个软件,从实践入手,用到哪些知识学哪些,这样比较有劲头学,还有就是你说的“字符串参考虽然简单,但是只能是你明白一般思路之后的一个捷径,而不能对什么软件都用。能根据字符串参考定位目标代码固然好。但是遇到不能这么做的软件呢?”这个问题我也很头痛,但是我真的不知道怎样入手学习,你能给我一点建议吗?
  再次感谢你的帮助!
2006-11-27 20:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
用0D载入,通过插件的“超级字符串”查出“注册失败”,来到相006dca13 向上找,到006dc9f1 关键,到006DC968断下。重新注册。
[学习使用,技术交流],

006DC968  /.  55            PUSH EBP
006DC969  |.  8BEC          MOV EBP,ESP
006DC96B  |.  33C9          XOR ECX,ECX
006DC96D  |.  51            PUSH ECX
006DC96E  |.  51            PUSH ECX
006DC96F  |.  51            PUSH ECX
006DC970  |.  51            PUSH ECX
006DC971  |.  51            PUSH ECX
006DC972  |.  51            PUSH ECX
006DC973  |.  51            PUSH ECX
006DC974  |.  53            PUSH EBX
006DC975  |.  8BD8          MOV EBX,EAX
006DC977  |.  33C0          XOR EAX,EAX
006DC979  |.  55            PUSH EBP
006DC97A  |.  68 6ACA6D00   PUSH 3ddyj.006DCA6A
006DC97F  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
006DC982  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
006DC985  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
006DC988  |.  8B83 30040000 MOV EAX,DWORD PTR DS:[EBX+430]
006DC98E  |.  E8 8137DAFF   CALL 3ddyj.00480114                      ;  取出第一个注册码框的字符
006DC993  |.  FF75 F4       PUSH DWORD PTR SS:[EBP-C]
006DC996  |.  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
006DC999  |.  8B83 34040000 MOV EAX,DWORD PTR DS:[EBX+434]
006DC99F  |.  E8 7037DAFF   CALL 3ddyj.00480114                      ;  取出第二个注册码框的字符
006DC9A4  |.  FF75 F0       PUSH DWORD PTR SS:[EBP-10]
006DC9A7  |.  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
006DC9AA  |.  8B83 38040000 MOV EAX,DWORD PTR DS:[EBX+438]
006DC9B0  |.  E8 5F37DAFF   CALL 3ddyj.00480114                      ;  取出第三个注册码框的字符
006DC9B5  |.  FF75 EC       PUSH DWORD PTR SS:[EBP-14]
006DC9B8  |.  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
006DC9BB  |.  8B83 3C040000 MOV EAX,DWORD PTR DS:[EBX+43C]
006DC9C1  |.  E8 4E37DAFF   CALL 3ddyj.00480114                      ;  取出第四个注册码框的字符
006DC9C6  |.  FF75 E8       PUSH DWORD PTR SS:[EBP-18]
006DC9C9  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
006DC9CC  |.  BA 04000000   MOV EDX,4
006DC9D1  |.  E8 6685D2FF   CALL 3ddyj.00404F3C
006DC9D6  |.  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
006DC9D9  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
006DC9DC  |.  E8 67CCD2FF   CALL 3ddyj.00409648                      ;  将注册码转化为大写字母
006DC9E1  |.  8B55 E4       MOV EDX,DWORD PTR SS:[EBP-1C]
006DC9E4  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
006DC9E7  |.  E8 6882D2FF   CALL 3ddyj.00404C54
006DC9EC  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
006DC9EF  |.  8BC3          MOV EAX,EBX
006DC9F1  |.  E8 CAFEFFFF   CALL 3ddyj.006DC8C0                      ;  关键比较,跟进
006DC9F6  |.  84C0          TEST AL,AL

006DC8C0  /$  55            PUSH EBP
006DC8C1  |.  8BEC          MOV EBP,ESP
006DC8C3  |.  33C9          XOR ECX,ECX
006DC8C5  |.  51            PUSH ECX
006DC8C6  |.  51            PUSH ECX
006DC8C7  |.  51            PUSH ECX
006DC8C8  |.  51            PUSH ECX
006DC8C9  |.  53            PUSH EBX
006DC8CA  |.  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX
006DC8CD  |.  8BD8          MOV EBX,EAX
006DC8CF  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
006DC8D2  |.  E8 9587D2FF   CALL 3ddyj.0040506C
006DC8D7  |.  33C0          XOR EAX,EAX
006DC8D9  |.  55            PUSH EBP
006DC8DA  |.  68 5AC96D00   PUSH 3ddyj.006DC95A
006DC8DF  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
006DC8E2  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
006DC8E5  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
006DC8E8  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
006DC8EB  |.  E8 C8CFD2FF   CALL 3ddyj.004098B8
006DC8F0  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
006DC8F3  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
006DC8F6  |.  E8 5983D2FF   CALL 3ddyj.00404C54
006DC8FB  |.  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
006DC8FE  |.  8B83 2C040000 MOV EAX,DWORD PTR DS:[EBX+42C]
006DC904  |.  E8 0B38DAFF   CALL 3ddyj.00480114
006DC909  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
006DC90C  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
006DC90F  |.  E8 A4CFD2FF   CALL 3ddyj.004098B8
006DC914  |.  8B4D FC       MOV ECX,DWORD PTR SS:[EBP-4]
006DC917  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
006DC91A  |.  A1 64836400   MOV EAX,DWORD PTR DS:[648364]
006DC91F  |.  E8 C4BCF6FF   CALL 3ddyj.006485E8                      ;  注册码、机器码出现,关键,跟进
006DC924  |.  8BD8          MOV EBX,EAX
006DC926  |.  84DB          TEST BL,BL
006DC928  |.  74 0D         JE SHORT 3ddyj.006DC937
006DC92A  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
006DC92D  |.  A1 64836400   MOV EAX,DWORD PTR DS:[648364]
006DC932  |.  E8 DDC3F6FF   CALL 3ddyj.00648D14
006DC937  |>  33C0          XOR EAX,EAX
006DC939  |.  5A            POP EDX
006DC93A  |.  59            POP ECX
006DC93B  |.  59            POP ECX
006DC93C  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
006DC93F  |.  68 61C96D00   PUSH 3ddyj.006DC961
006DC944  |>  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
006DC947  |.  E8 7082D2FF   CALL 3ddyj.00404BBC
006DC94C  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
006DC94F  |.  BA 03000000   MOV EDX,3
006DC954  |.  E8 8782D2FF   CALL 3ddyj.00404BE0
006DC959  \.  C3            RETN

006485E8   $  55            PUSH EBP
006485E9   .  8BEC          MOV EBP,ESP
006485EB   .  51            PUSH ECX
006485EC   .  B9 06000000   MOV ECX,6
006485F1   >  6A 00         PUSH 0
006485F3   .  6A 00         PUSH 0
006485F5   .  49            DEC ECX
006485F6   .^ 75 F9         JNZ SHORT 3ddyj.006485F1
006485F8   .  51            PUSH ECX
006485F9   .  874D FC       XCHG DWORD PTR SS:[EBP-4],ECX
006485FC   .  53            PUSH EBX
006485FD   .  56            PUSH ESI
006485FE   .  57            PUSH EDI
006485FF   .  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
00648602   .  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX
00648605   .  8BF0          MOV ESI,EAX
00648607   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0064860A   .  E8 5DCADBFF   CALL 3ddyj.0040506C
0064860F   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
00648612   .  E8 55CADBFF   CALL 3ddyj.0040506C
00648617   .  33C0          XOR EAX,EAX
00648619   .  55            PUSH EBP
0064861A   .  68 80886400   PUSH 3ddyj.00648880
0064861F   .  64:FF30       PUSH DWORD PTR FS:[EAX]
00648622   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
00648625   .  C645 F7 00    MOV BYTE PTR SS:[EBP-9],0
00648629   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
0064862C   .  E8 4BC8DBFF   CALL 3ddyj.00404E7C
00648631   .  8BD8          MOV EBX,EAX
00648633   .  83FB 01       CMP EBX,1
00648636   .  7C 21         JL SHORT 3ddyj.00648659
00648638   >  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
0064863B   .  8A4418 FF     MOV AL,BYTE PTR DS:[EAX+EBX-1]
0064863F   .  04 D0         ADD AL,0D0
00648641   .  2C 0A         SUB AL,0A
00648643   .  72 0F         JB SHORT 3ddyj.00648654
00648645   .  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]             ;  这个循还,移去注册码中的数字
00648648   .  B9 01000000   MOV ECX,1
0064864D   .  8BD3          MOV EDX,EBX
0064864F   .  E8 C8CADBFF   CALL 3ddyj.0040511C
00648654   >  4B            DEC EBX
00648655   .  85DB          TEST EBX,EBX
00648657   .^ 75 DF         JNZ SHORT 3ddyj.00648638
00648659   >  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0064865C   .  E8 1BC8DBFF   CALL 3ddyj.00404E7C                      ;  取得机器码长度
00648661   .  83F8 05       CMP EAX,5
00648664   .  0F8C D9010000 JL 3ddyj.00648843
0064866A   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
0064866D   .  E8 0AC8DBFF   CALL 3ddyj.00404E7C                      ;  取得注册码数字的长度
00648672   .  83F8 08       CMP EAX,8                                ;  数字的长度要大于8位,小于8位,跳走。
00648675   .  0F8C C8010000 JL 3ddyj.00648843
0064867B   .  E8 4CA5DBFF   CALL 3ddyj.00402BCC
00648680   .  33C0          XOR EAX,EAX
00648682   .  55            PUSH EBP
00648683   .  68 35886400   PUSH 3ddyj.00648835
00648688   .  64:FF30       PUSH DWORD PTR FS:[EAX]
0064868B   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
0064868E   .  B8 0A000000   MOV EAX,0A
00648693   .  E8 E0ABDBFF   CALL 3ddyj.00403278
00648698   .  85C0          TEST EAX,EAX
0064869A   .  7D 29         JGE SHORT 3ddyj.006486C5
0064869C   .  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
0064869F   .  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
006486A2   .  E8 C5CDDBFF   CALL 3ddyj.0040546C
006486A7   .  8B55 E4       MOV EDX,DWORD PTR SS:[EBP-1C]
006486AA   .  B9 01000000   MOV ECX,1
006486AF   .  8BC6          MOV EAX,ESI
006486B1   .  E8 62FEFFFF   CALL 3ddyj.00648518
006486B6   .  66:83F8 01    CMP AX,1
006486BA   .  1BC0          SBB EAX,EAX
006486BC   .  40            INC EAX
006486BD   .  8845 F7       MOV BYTE PTR SS:[EBP-9],AL
006486C0   .  E9 66010000   JMP 3ddyj.0064882B
006486C5   >  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
006486C8   .  50            PUSH EAX
006486C9   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
006486CC   .  E8 ABC7DBFF   CALL 3ddyj.00404E7C                      ;  取得注册码数字的长度
006486D1   .  8BC8          MOV ECX,EAX
006486D3   .  49            DEC ECX
006486D4   .  BA 01000000   MOV EDX,1
006486D9   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
006486DC   .  E8 FBC9DBFF   CALL 3ddyj.004050DC
006486E1   .  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]            ;  减去注册码数字的最后一位数字
006486E4   .  E8 A318DCFF   CALL 3ddyj.00409F8C                      ;  转化为16进制数
006486E9   .  52            PUSH EDX                                 ; /Arg2
006486EA   .  50            PUSH EAX                                 ; |Arg1
006486EB   .  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]            ; |
006486EE   .  B8 0C000000   MOV EAX,0C                               ; |
006486F3   .  E8 F017DCFF   CALL 3ddyj.00409EE8                      ; \将16进制数转化为字符
006486F8   .  8B55 E0       MOV EDX,DWORD PTR SS:[EBP-20]
006486FB   .  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
006486FE   .  E8 51C5DBFF   CALL 3ddyj.00404C54
00648703   .  8D4D E8       LEA ECX,DWORD PTR SS:[EBP-18]
00648706   .  33D2          XOR EDX,EDX
00648708   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0064870B   .  E8 58EFFFFF   CALL 3ddyj.00647668                      ;  用机器码求出一个中间数
00648710   .  8D4D EC       LEA ECX,DWORD PTR SS:[EBP-14]
00648713   .  8B55 E8       MOV EDX,DWORD PTR SS:[EBP-18]
00648716   .  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
00648719   .  E8 42EDFFFF   CALL 3ddyj.00647460                      ;  机器码的中间数与注册码数字的16进制开始运算,跟进
0064871E   .  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
00648721   .  50            PUSH EAX
00648722   .  B9 06000000   MOV ECX,6
00648727   .  BA 01000000   MOV EDX,1
0064872C   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0064872F   .  E8 A8C9DBFF   CALL 3ddyj.004050DC                      ;  取前半截
00648734   .  8B45 D8       MOV EAX,DWORD PTR SS:[EBP-28]
00648737   .  E8 DC17DCFF   CALL 3ddyj.00409F18                      ;  转换成16进制数
0064873C   .  8BD8          MOV EBX,EAX
0064873E   .  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
00648741   .  50            PUSH EAX
00648742   .  B9 06000000   MOV ECX,6
00648747   .  BA 07000000   MOV EDX,7
0064874C   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0064874F   .  E8 88C9DBFF   CALL 3ddyj.004050DC                      ;  取后半截
00648754   .  8B45 D4       MOV EAX,DWORD PTR SS:[EBP-2C]
00648757   .  E8 BC17DCFF   CALL 3ddyj.00409F18                      ;  转换成16进制数
0064875C   .  03D8          ADD EBX,EAX                              ;  机器码相加
0064875E   .  8BC3          MOV EAX,EBX
00648760   .  8D55 DC       LEA EDX,DWORD PTR SS:[EBP-24]
00648763   .  E8 4416DCFF   CALL 3ddyj.00409DAC                      ;  将前半段数+后半段数的数转化为字符,这里是1728627
00648768   .  8B55 DC       MOV EDX,DWORD PTR SS:[EBP-24]
0064876B   .  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
0064876E   .  E8 E1C4DBFF   CALL 3ddyj.00404C54
00648773   .  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
00648776   .  50            PUSH EAX
00648777   .  B9 06000000   MOV ECX,6
0064877C   .  BA 01000000   MOV EDX,1
00648781   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
00648784   .  E8 53C9DBFF   CALL 3ddyj.004050DC                      ;  减去最后一位数字
00648789   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0064878C   .  E8 EBC6DBFF   CALL 3ddyj.00404E7C                      ;  取得长度
00648791   .  8BD8          MOV EBX,EAX
00648793   .  43            INC EBX
00648794   .  83FB 06       CMP EBX,6
00648797   .  7F 16         JG SHORT 3ddyj.006487AF
00648799   >  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
0064879C   .  8B4D FC       MOV ECX,DWORD PTR SS:[EBP-4]
0064879F   .  BA 9C886400   MOV EDX,3ddyj.0064889C                   ;  0
006487A4   .  E8 1FC7DBFF   CALL 3ddyj.00404EC8
006487A9   .  43            INC EBX
006487AA   .  83FB 07       CMP EBX,7
006487AD   .^ 75 EA         JNZ SHORT 3ddyj.00648799
006487AF   >  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]
006487B2   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
006487B5   .  E8 06CADBFF   CALL 3ddyj.004051C0                      ;  关键比较,跟进
006487BA   .  8BD8          MOV EBX,EAX
006487BC   .  85DB          TEST EBX,EBX
006487BE   .  7E 6B         JLE SHORT 3ddyj.0064882B
006487C0   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
006487C3   .  E8 B4C6DBFF   CALL 3ddyj.00404E7C

00647668  /$  55            PUSH EBP
00647669  |.  8BEC          MOV EBP,ESP
0064766B  |.  83C4 E4       ADD ESP,-1C
0064766E  |.  53            PUSH EBX
0064766F  |.  56            PUSH ESI
00647670  |.  57            PUSH EDI
00647671  |.  33DB          XOR EBX,EBX
00647673  |.  895D E4       MOV DWORD PTR SS:[EBP-1C],EBX
00647676  |.  895D E8       MOV DWORD PTR SS:[EBP-18],EBX
00647679  |.  895D F0       MOV DWORD PTR SS:[EBP-10],EBX
0064767C  |.  894D F4       MOV DWORD PTR SS:[EBP-C],ECX
0064767F  |.  8955 F8       MOV DWORD PTR SS:[EBP-8],EDX
00647682  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
00647685  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
00647688  |.  E8 DFD9DBFF   CALL 3ddyj.0040506C
0064768D  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
00647690  |.  E8 D7D9DBFF   CALL 3ddyj.0040506C
00647695  |.  33C0          XOR EAX,EAX
00647697  |.  55            PUSH EBP
00647698  |.  68 6D776400   PUSH 3ddyj.0064776D
0064769D  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
006476A0  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
006476A3  |.  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
006476A6  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
006476A9  |.  E8 0A22DCFF   CALL 3ddyj.004098B8
006476AE  |.  837D E8 00    CMP DWORD PTR SS:[EBP-18],0
006476B2  |.  75 0D         JNZ SHORT 3ddyj.006476C1
006476B4  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
006476B7  |.  BA 84776400   MOV EDX,3ddyj.00647784                   ;  yxb_200@
006476BC  |.  E8 93D5DBFF   CALL 3ddyj.00404C54
006476C1  |>  837D FC 00    CMP DWORD PTR SS:[EBP-4],0
006476C5  |.  75 0A         JNZ SHORT 3ddyj.006476D1
006476C7  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
006476CA  |.  E8 EDD4DBFF   CALL 3ddyj.00404BBC
006476CF  |.  EB 6C         JMP SHORT 3ddyj.0064773D
006476D1  |>  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
006476D4  |.  E8 E3D4DBFF   CALL 3ddyj.00404BBC
006476D9  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
006476DC  |.  E8 9BD7DBFF   CALL 3ddyj.00404E7C
006476E1  |.  8945 EC       MOV DWORD PTR SS:[EBP-14],EAX
006476E4  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
006476E7  |.  E8 90D7DBFF   CALL 3ddyj.00404E7C
006476EC  |.  8BF0          MOV ESI,EAX
006476EE  |.  85F6          TEST ESI,ESI
006476F0  |.  7E 40         JLE SHORT 3ddyj.00647732
006476F2  |.  BB 01000000   MOV EBX,1
006476F7  |>  8BC3          /MOV EAX,EBX                             ;  机器码进行运算
006476F9  |.  99            |CDQ
006476FA  |.  F77D EC       |IDIV DWORD PTR SS:[EBP-14]
006476FD  |.  8BFA          |MOV EDI,EDX
006476FF  |.  47            |INC EDI
00647700  |.  8B45 F8       |MOV EAX,DWORD PTR SS:[EBP-8]
00647703  |.  0FB64438 FF   |MOVZX EAX,BYTE PTR DS:[EAX+EDI-1]
00647708  |.  B9 0A000000   |MOV ECX,0A
0064770D  |.  33D2          |XOR EDX,EDX
0064770F  |.  F7F1          |DIV ECX                                 ;  取余数
00647711  |.  8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]
00647714  |.  0FB64418 FF   |MOVZX EAX,BYTE PTR DS:[EAX+EBX-1]
00647719  |.  33D0          |XOR EDX,EAX                             ;  取得数字
0064771B  |.  8D45 E4       |LEA EAX,DWORD PTR SS:[EBP-1C]
0064771E  |.  E8 81D6DBFF   |CALL 3ddyj.00404DA4
00647723  |.  8B55 E4       |MOV EDX,DWORD PTR SS:[EBP-1C]
00647726  |.  8D45 F0       |LEA EAX,DWORD PTR SS:[EBP-10]
00647729  |.  E8 56D7DBFF   |CALL 3ddyj.00404E84
0064772E  |.  43            |INC EBX
0064772F  |.  4E            |DEC ESI
00647730  |.^ 75 C5         \JNZ SHORT 3ddyj.006476F7
00647732  |>  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
00647735  |.  8B55 F0       MOV EDX,DWORD PTR SS:[EBP-10]

004051C0  /$  85C0          TEST EAX,EAX
004051C2  |.  74 40         JE SHORT 3ddyj.00405204
004051C4  |.  85D2          TEST EDX,EDX
004051C6  |.  74 31         JE SHORT 3ddyj.004051F9
004051C8  |.  53            PUSH EBX
004051C9  |.  56            PUSH ESI
004051CA  |.  57            PUSH EDI
004051CB  |.  89C6          MOV ESI,EAX
004051CD  |.  89D7          MOV EDI,EDX
004051CF  |.  8B4F FC       MOV ECX,DWORD PTR DS:[EDI-4]
004051D2  |.  57            PUSH EDI
004051D3  |.  8B56 FC       MOV EDX,DWORD PTR DS:[ESI-4]
004051D6  |.  4A            DEC EDX
004051D7  |.  78 1B         JS SHORT 3ddyj.004051F4
004051D9  |.  8A06          MOV AL,BYTE PTR DS:[ESI]
004051DB  |.  46            INC ESI
004051DC  |.  29D1          SUB ECX,EDX
004051DE  |.  7E 14         JLE SHORT 3ddyj.004051F4
004051E0  |>  F2:AE         /REPNE SCAS BYTE PTR ES:[EDI]            ;  机器码计算出来的比较码与注册码计算的比较码进行比较,
004051E2  |.  75 10         |JNZ SHORT 3ddyj.004051F4                ;  如果相等到,则注册成功,
004051E4  |.  89CB          |MOV EBX,ECX
004051E6  |.  56            |PUSH ESI
004051E7  |.  57            |PUSH EDI
004051E8  |.  89D1          |MOV ECX,EDX
004051EA  |.  F3:A6         |REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS>
004051EC  |.  5F            |POP EDI
004051ED  |.  5E            |POP ESI
004051EE  |.  74 0C         |JE SHORT 3ddyj.004051FC
004051F0  |.  89D9          |MOV ECX,EBX
004051F2  |.^ EB EC         \JMP SHORT 3ddyj.004051E0
004051F4  |>  5A            POP EDX
004051F5  |.  31C0          XOR EAX,EAX
004051F7  |.  EB 08         JMP SHORT 3ddyj.00405201
004051F9  |>  31C0          XOR EAX,EAX
004051FB  |.  C3            RETN
004051FC  |>  5A            POP EDX
004051FD  |.  89F8          MOV EAX,EDI
004051FF  |.  29D0          SUB EAX,EDX
00405201  |>  5F            POP EDI
00405202  |.  5E            POP ESI
00405203  |.  5B            POP EBX
00405204  \>  C3            RETN

注:
1、注册码去掉字符部分,取得纯数字的注册码,把数字的注册码转化为16进制数。
2、机器码与yxb_200@进行运算,求得中间值,我这里是8038=<<51?23
3、注册码的数字部分的16进制数与8038=<<51?23 求得比较值。
4、机器码的前4位的16进制与后4位的16进制相加,取得一个数值
5、相加值的10进制数转化为数字字符后,去掉最后一个字符
6、注册码形成的中间值与机器码形成的中间值比较,
2006-11-29 18:45
0
雪    币: 9323
活跃值: (3740)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
虽然基础知识学习起来很枯燥
但是没有这些基础也不会有多大收获和成就
2006-11-29 19:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
先谢谢llsf,你好厉害,把这个软件搞得这么透彻,破解大多时候要用到汇编语言,看来要先把汇编语言看懂才行。这个软件到这里其本上被llsf分析的很透彻了,我会按照llsf的方法重新做一遍,应该可以学到好的东西的,再次谢谢大家的热心帮忙!!
2006-12-2 21:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
觉得还是应该沉下心来学习一下最好,毕竟加密技术在不断出新,自己也要更加努力。
2006-12-2 22:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习
2006-12-2 22:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
受益非浅
2006-12-4 01:25
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
已经根据自己的机器码跟踪出中间值如何反推出注册码呢?
2007-3-14 14:50
0
游客
登录 | 注册 方可回帖
返回
//