首页
社区
课程
招聘
[旧帖] [原创]小菜鸟的第一个破解:一个比飞鸽强很多的局域网通讯工具的内存注册机 0.00雪花
发表于: 2008-4-5 12:22 5968

[旧帖] [原创]小菜鸟的第一个破解:一个比飞鸽强很多的局域网通讯工具的内存注册机 0.00雪花

2008-4-5 12:22
5968
学破解有段时间了,和很多新手一样刚开始也是不晓得如何入手,尽管在学校以前学过汇编,看了看雪的破解精华,但感觉就像是看天书一样,看不懂,不懂那些作者怎么就知道某些汇编指令就是取注册码的,哪些语句是计算注册码的 ,也一直没找到可以方便自己破解的软件,前天在网上下了个局域网通讯工具是免费的,就是有一个"闪屏振动"功能只给赞助会员用,还有就是"闪屏振动"有限制的,不能一直发.昨天开始放了三天假,终于有点自己的时间来弄下这个,呵呵,没想到过程还比较顺利,在OD中追到注册码后,一鼓作气,做出内存注册机了,至于算法注册机,我已经大概知道是在哪个call中,现在就是还要要学下汇编,再看看以前大侠们是如何推出算法的,再做吧,不过我是不会把注册机发出来的,因为感觉软件工作者不容易,所以自己也一直犹豫要不要向软件方向发展 这个请高手们赐教下.废话不多说了,下面就是我的破解过程,第一次写这种东西,不懂破文的格式,望版主海涵

前面已经说了"闪屏振动"只给赞助会员用,会出现个提示对话框,有一个计算机标识码(估计用来算序列号的),还有就是个序列号输入框,输入 111111111 点确定,出现 注册码不正确  的提示,好,就用这个了

用peid查壳显示无壳,用VC6.0写的,呵呵,看来作者好像还没有防破解的意识.用od载入,用插件查找ASCII码"注册码",嗯,果真是没有防破解意识,连注册正确的字样都看到了,双击来到代码区,如下所示
004520C6   .  EB 05                  jmp     short 004520CD
004520C8   >  1BC0                   sbb     eax, eax
004520CA   .  83D8 FF                sbb     eax, -1
004520CD      85C0                   test    eax, eax
004520CF      74 26                  je      short 004520F7                          ;假注册关键跳转
004520D1   .  68 604D5A00            push    005A4D60
004520D6   .  8D4C24 10              lea     ecx, dword ptr [esp+10]
004520DA   .  E8 E7070D00            call    005228C6
004520DF   .  8B47 1C                mov     eax, dword ptr [edi+1C]
004520E2   .  6A 40                  push    40                                    ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
004520E4   .  68 6C185900            push    0059186C                              ; |提示
004520E9   .  68 58445900            push    00594458                              ; |注册码不正确!004520EE   .  50                     push    eax                                   ; |hOwner
004520EF   .  FF15 B4965400          call    dword ptr [<&USER32.MessageBoxA>]     ; \MessageBoxA
004520F5   .  EB 1D                  jmp     short 00452114
004520F7   >  8B4F 1C                mov     ecx, dword ptr [edi+1C]
004520FA   .  6A 40                  push    40                                    ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
004520FC   .  68 50445900            push    00594450                              ; |成功
00452101   .  68 40445900            push    00594440                              ; |注册码正确!
00452106   .  51                     push    ecx                                   ; |hOwner
00452107   .  FF15 B4965400          call    dword ptr [<&USER32.MessageBoxA>]     ; \MessageBoxA

从004520E4往上找,嗯,看到004520CF      74 26                  je      short 004520F7  ,如果相等就跳到004520F7  ,嗯,对就是跳到注册码正确的地方.把它改成jmp,呵呵.保存修改到文件后,自己感觉好像没这么简单吧,再运行修改好的文件,随便输入注册码注册,提示注册码正确,可是再点"闪屏振动"还是提示要注册,果然是没这么简单,再用od重新载入,到上面的地方,再看代码,好像也只是个假注册的跳转,只是提示是注册码正确而已,代码中好像没有其它动作了(比如保存已注册了的信息),那就输入注册码再跟下吧,再往上走到下面在 0045206B   处下断,因为看它上面相关的好像没有call了,应该可以

0045206B   .  8BF9                   mov     edi, ecx                               ;在此下的断
0045206D   .  6A 01                  push    1
0045206F   .  E8 D3F00C00            call    00521147
00452074   .  51                     push    ecx
00452075   .  8D47 5C                lea     eax, dword ptr [edi+5C]
00452078   .  8BCC                   mov     ecx, esp
0045207A   .  896424 14              mov     dword ptr [esp+14], esp
0045207E   .  50                     push    eax
0045207F   .  E8 2E040D00            call    005224B2                           
00452084   .  8D4C24 10              lea     ecx, dword ptr [esp+10]
00452088   .  51                     push    ecx
00452089   .  E8 722D0200            call    00474E00                               ;计算 注册码 的call
0045208E   .  83C4 08                add     esp, 8
00452091   .  8B77 60                mov     esi, dword ptr [edi+60]
00452094   .  8B4424 0C              mov     eax, dword ptr [esp+C]
00452098   .  C74424 1C 00000000     mov     dword ptr [esp+1C], 0   ;EAX中出现一个字符串长得蛮像注册码的,呵呵,试了下,果然是
004520A0   >  8A10                   mov     dl, byte ptr [eax]
004520A2   .  8A1E                   mov     bl, byte ptr [esi]

再重新注册下,用F8单步走了下在00452098   .  C74424 1C 00000000     mov     dword ptr [esp+1C], 0   ;EAC中出现一个字符串长得蛮像注册码的,呵呵,试了下,果然是,其实对于我个人用来说已经够了,但自己还是跟进了上面两个call,第一个call是用来干嘛的,好像没有跟,  call    005224B2 跟了忘 了是做什么,call    00474E00                               ;计算 注册码 的call是用来计算注册码的call,我电脑中间会生成一个NOViIRkjjlbcpEh的字符串,还会生成36位的数值串"27254172362365817417217374157220278117493218959120685178213248",再生成注册码,哎,以目前的水平分析出注册码算法还有点难度,以后再做,先还是做内存注册机做了.

内存注册机选好了两个方法,一个是
00452098   .  C74424 1C 00000000     mov     dword ptr [esp+1C], 0  //此时EAX为注册码
另一个是
先进call    00474E00
00452089   .  E8 722D0200           call    00474E00           应该是计算注册码的call
再看00474E00  /$  6A FF             push    -1
00474FF8  |.  E8 B5D40A00           call    005224B2  //此时EAX为注册码
在自己电脑上试了下第一个,成功了,呵,又给一个同事发了试了下,还是好的 不试了就这样吧,最后还剩算法注册机,等再学学汇编再做吧,就这样发个自己做的内存注册机的截图.

忘了加上去掉 不能频繁地发送闪屏振动  功能限制,不过这个功能也不错,免得骚乱,但还是把它破解了

还是查找ASCI码"您不能频繁地发送闪屏振动",找到地址,下面的,把je改jmp就可以了,也还有其它改法就不说了,反正跳下面的计数及其后的一点代码就行了
00428FBF   .  8B87 30310100 mov     eax, dword ptr [edi+13130]
00428FC5   .  8B35 44945400 mov     esi, dword ptr [<&KERNEL32.GetTi>;  kernel32.GetTickCount
00428FCB   .  3BC3          cmp     eax, ebx
00428FCD      74 2D         je      short 00428FFC                      //关键跳,改成jmp
00428FCF   .  FFD6          call    esi                              ; [GetTickCount

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

上传的附件:
  • 1.JPG (138.28kb,121次下载)
收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
恭喜了
再接再厉
2008-4-5 13:20
0
雪    币: 112
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵,谢谢谢谢
2008-4-5 13:32
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
先祝贺下楼主!
再问下,比飞鸽强很多?强在什么地方??
2008-4-5 22:27
0
雪    币: 439
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
eax, 不是eac吧,没见过这样的
2008-4-5 23:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习楼主的精神了  我也好好看看
2008-4-5 23:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
天书啊,没学过要想学这方面的东西还真是难啊
2008-4-6 01:19
0
雪    币: 112
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呵呵,不好意思,是EAX,还是你看得仔细
2008-4-6 10:28
0
雪    币: 112
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
强在很多地方,它可以自定义头像、签名。还可以建群,可以和飞鸽一样不用服务器。完全兼容飞鸽,可以和飞鸽互聊,哎,好多功能,还可以隐身和打某人进入黑名单等等,你用了就知道哈,呵呵,真的是个好软件
2008-4-6 10:31
0
雪    币: 112
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
嗯,是的,刚开始是有点难,但个人感觉刚入手不要找那些比较难破解的软件,可以去试试一些简单点CrackMe.还有就是看别人做好像没什么感觉似的,学不到什么东西,真的像看天书一样,还是要跟着看雪精华中的文章去做一遍,这样才能学到东西
2008-4-6 10:38
0
游客
登录 | 注册 方可回帖
返回
//