首页
社区
课程
招聘
[旧帖] [分享]国庆快乐!在分享一个。(申请邀请码) 0.00雪花
发表于: 2009-10-1 09:00 1853

[旧帖] [分享]国庆快乐!在分享一个。(申请邀请码) 0.00雪花

2009-10-1 09:00
1853
再次发一个破解的文章,希望给个邀请码。
今天我们的目标程序是这么一个软件YourStamp.exe,最后会把这个软件给大家,大家可以试一下。今天我们采用2种办法来爆破这个软件,一种是我们采用追注册码的办法达到破解,另一种是不去追查注册码,第一种办法大家用DEDE去找到那个按钮事件,下断就可以了追到注册码,我想说的是第二种办法,好我们来看吧
首先我们查壳,显示Borland Delphi 6.0 - 7.0大家不陌生吧 好了既然没有加壳,我们开始OD载入吧,我们按F9让程序跑起来,然后用“F12暂停法”,点OD上面的那个K,然后选择最后面的那个,右击点show call,此时看到下面的代码:
0047CF59   .  8B0D 20FD4700 MOV ECX,DWORD PTR DS:[47FD20]            ; YourStam.00480CF0
0047CF5F   .  A1 20FC4700   MOV EAX,DWORD PTR DS:[47FC20]
0047CF64   .  8B00          MOV EAX,DWORD PTR DS:[EAX]
0047CF66   .  8B15 14734700 MOV EDX,DWORD PTR DS:[477314]            ;  YourStam.00477360
0047CF6C   .  E8 8BB8FDFF   CALL YourStam.004587FC          //这是个关键call,F7
0047CF71   .  A1 20FC4700   MOV EAX,DWORD PTR DS:[47FC20]
0047CF76   .  8B00          MOV EAX,DWORD PTR DS:[EAX]
0047CF78   .  E8 FFB8FDFF   CALL YourStam.0045887C                  // 出现注册对话框
0047CF7D   .  E8 9273F8FF   CALL YourStam.00404314
OD会停在“出现注册对话框”那里,就是红色那行,这时候我们想到找到段首下断,好!我们去段首下断看看,来到段首F2下断,重载程序,F9运行下,很奇怪没有断下来,程序出现注册提示,看来这个断点我们没有选好,那么我们该如何下这个断点呢?此时,我们已经知道程序并不是从段首开始往下的,我们猜想可能是别的调用这个段里的某一地址开始往下执行的。
好了,我们既然有了上面的一些了解,我们用OD重载下程序,在反汇编鼠标右击选中那个查看里的“当前模块中的名称”,然后找到这个函数“GetWindowTextA”,按键盘上的enter键,在“call    <jmp.&user32.GetWindowTextA>”按F2,好了,重载F9运行,OD会断在这里
004583C7  |.  E8 ACECFAFF   call    <jmp.&user32.GetWindowTextA>     ; \GetWindowTextA
004583CC  |.  8BC8          mov     ecx, eax
004583CE  |.  8BD4          mov     edx, esp
004583D0  |.  8BC6          mov     eax, esi
004583D2  |.  E8 1DC1FAFF   call    004044F4
我们单步走看看,一直F8,走到这里后大家注意下,我们注意下面那个红色行,看它返回到那里去?
00458479   .  5E            pop     esi                              ;  YourStam.0047CF8C
0045847A   .  5B            pop     ebx
0045847B   .  59            pop     ecx
0045847C   .  5D            pop     ebp
0045847D   .  C3            retn
当我们走过retn后,来到这里:
0047CF41   .  8B0D 58FD4700 mov     ecx, dword ptr [47FD58]          ;  YourStam.00480D4C
0047CF47   .  A1 20FC4700   mov     eax, dword ptr [47FC20]
0047CF4C   .  8B00          mov     eax, dword ptr [eax]
0047CF4E   .  8B15 58BF4700 mov     edx, dword ptr [47BF58]          ;  YourStam.0047BFA4
0047CF54   .  E8 A3B8FDFF   call    004587FC
0047CF59   .  8B0D 20FD4700 mov     ecx, dword ptr [47FD20]          ;  YourStam.00480CF0
0047CF5F   .  A1 20FC4700   mov     eax, dword ptr [47FC20]
0047CF64   .  8B00          mov     eax, dword ptr [eax]
0047CF66   .  8B15 14734700 mov     edx, dword ptr [477314]          ;  YourStam.00477360
0047CF6C   .  E8 8BB8FDFF   call    004587FC
0047CF71   .  A1 20FC4700   mov     eax, dword ptr [47FC20]
0047CF76   .  8B00          mov     eax, dword ptr [eax]
0047CF78   .  E8 FFB8FDFF   call    0045887C                     ;出现注册对话框
0047CF7D   .  E8 9273F8FF   call    00404314
大家看看这段代码,注意里面那个红色行,一直到下面,是不是有些眼熟啊,正是我们用“F12暂停法”得到的一样啊,这里大家该明白,为什么在段首下断点断不下来了吗?同时证明我们的那个猜想是正确的。我们接着F8单步走完这段看有什么反应,此时要注意“0047CF6C   .  E8 8BB8FDFF   call    004587FC”这个CALL,我们在走过时有些缓冲,很明显能感到,这个CALL可能有问题,我们做好标记,接着走,出现注册框。应该知道在那里下断了吧,就在那个call 下断,我们跟进去看看,果然有问题,我们在这里从新下好断“00458838   . /EB 16         JMP SHORT YourStam.00458850”,分析就不介绍了,有些烦,我就给结果吧!(按这个思路,程序首先调用注册框,然后再次执行这段代码,进入应用界面)
00458838     /EB 16         JMP SHORT YourStam.00458850        //这里下断
0045883A    ^|E9 39B3FAFF   JMP YourStam.00403B78
0045883F     |8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
00458842     |33D2          XOR EDX,EDX
00458844     |8910          MOV DWORD PTR DS:[EAX],EDX
00458846     |E8 41B6FAFF   CALL YourStam.00403E8C
0045884B     |E8 90B6FAFF   CALL YourStam.00403EE0
00458850     \837E 44 00    CMP DWORD PTR DS:[ESI+44],0         
00458854      75 1D         JNZ SHORT YourStam.00458873    //跳就退出程序,不能让跳,nop掉
00458856      8BC3          MOV EAX,EBX
00458858      8B15 04E64400 MOV EDX,DWORD PTR DS:[44E604]            ;  YourStam.0044E650
0045885E      E8 C1AFFAFF   CALL YourStam.00403824           //F7 得到 0 注册,1 成功注册
00458863      84C0          TEST AL,AL
00458865      74 0C         JE SHORT YourStam.00458873      //这里也不能跳,跳就注册,nop掉
00458867      8BFB          MOV EDI,EBX
00458869      8BC7          MOV EAX,EDI
0045886B      E8 B868FEFF   CALL YourStam.0043F128
00458870      897E 44       MOV DWORD PTR DS:[ESI+44],EDI
我们另保存一份,运行下看看,没有那个注册框了,直接就到应用程序,O(∩_∩)O哈哈哈~!赶快试试吧!

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
软件忘记放了
文章我就不发表意见了
2009-10-1 14:13
0
雪    币: 250
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
最好给软件搞上来,要不试都没法试~~
2009-10-1 15:04
0
雪    币: 56
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
刚刚来发贴,有些不太懂,先谢谢楼上两位,以后不会出现这种情况!
2009-10-1 15:58
0
游客
登录 | 注册 方可回帖
返回
//