首页
社区
课程
招聘
VC破解《标准盲打指法练习 V3.00》心得:[原创]
发表于: 2005-9-12 18:31 7315

VC破解《标准盲打指法练习 V3.00》心得:[原创]

2005-9-12 18:31
7315
VC破解《标准盲打指法练习 V3.00》心得:

步骤:
1,先侦壳发现无壳,是用VC++6.0写的!
2,请出我的屠龙刀w32dasm黄金中文版,反汇编,再选择‘字符串参考’,看到有:

"注册成功,非常感谢你的支持!!祝你早日成为打字"
"注册失败!!,如有问题请与我联系 "

双击任意一处来到下面:
* Possible StringData Ref from Data Obj ->"  "
                                  |
:00410C7E 68809D4500              push 00459D80
:00410C83 8BCE                    mov ecx, esi
:00410C85 E8E14F0200              call 00435C6B
:00410C8A 8B06                    mov eax, dword ptr [esi]
:00410C8C C744242000000000        mov [esp+20], 00000000
:00410C94 8B48F8                  mov ecx, dword ptr [eax-08]
:00410C97 85C9                    test ecx, ecx
:00410C99 7458                    je 00410CF3
:00410C9B 8B0F                    mov ecx, dword ptr [edi]
:00410C9D 8B41F8                  mov eax, dword ptr [ecx-08]
:00410CA0 85C0                    test eax, eax
:00410CA2 744F                    je 00410CF3
:00410CA4 51                      push ecx
:00410CA5 8BCC                    mov ecx, esp
:00410CA7 89642414                mov dword ptr [esp+14], esp
:00410CAB 56                      push esi
:00410CAC E8BF980200              call 0043A570
:00410CB1 51                      push ecx
:00410CB2 C644242801              mov [esp+28], 01
:00410CB7 8BCC                    mov ecx, esp
:00410CB9 8964241C                mov dword ptr [esp+1C], esp
:00410CBD 57                      push edi
:00410CBE E8AD980200              call 0043A570
:00410CC3 8D4C2414                lea ecx, dword ptr [esp+14]
:00410CC7 C644242800              mov [esp+28], 00
:00410CCC E88FF4FFFF              call 00410160
:00410CD1 8D4C240C                lea ecx, dword ptr [esp+0C]
:00410CD5 E8C6F8FFFF              call 004105A0
:00410CDA 85C0                    test eax, eax
:00410CDC 6A00                    push 00000000
:00410CDE 6A00                    push 00000000
:00410CE0 7407                    je 00410CE9

* Possible StringData Ref from Data Obj ->"注册成功,非常感谢你的支持!!祝你早日成为打字"

我先判断可能是if then/else 结构,于是用Uedit32修改跳转,输入任意注册码即出现"注册成功,非常感谢你的支持!!祝你早日成为打字",但是使用时候仍然功能限制,破解失败!
3,由于静态分析失败,于是动态追踪,看到一处CALL十分可疑,于是来到这里:
:004101B3 51                      push ecx
:004101B4 E867FEFFFF              call 00410020
:004101B9 8B00                    mov eax, dword ptr [eax]
:004101BB 8B9424EC100000          mov edx, dword ptr [esp+000010EC]
:004101C2 50                      push eax
:004101C3 52                      push edx          //我判断这里压入真假注册码
:004101C4 E8CE920100              call 00429497     //我判断这里关键比较CALL,在这里下断!
:004101C9 83C410                  add esp, 00000010

4,再按F9,填入用户名:Sirus,注册码:1234567  
   被拦截!在下面的窗口点一下esp,看到下面:
Address: 01570058 is Not in a Loaded Module.
char[011]:"23894045192"                                                                                       
DWORD:39383332, WORD:3332, BYTE:32
CODE: xor dh, byte ptr [ebx]

是不是怎么看怎么象注册码啊!

5,输入23894045192,注册,出现错误提示!!!

6,我又跟了一下,来到下面:

:00429497 55                      push ebp
:00429498 8BEC                    mov ebp, esp
:0042949A 833DFCFD450000          cmp dword ptr [0045FDFC], 00000000
:004294A1 53                      push ebx
:004294A2 56                      push esi
:004294A3 57                      push edi
:004294A4 7512                    jne 004294B8                  //从这走过就出现错误提示了!
:004294A6 FF750C                  push [ebp+0C]
:004294A9 FF7508                  push [ebp+08]
:004294AC E83F300000              call 0042C4F0
:004294B1 59                      pop ecx
:004294B2 59                      pop ecx
:004294B3 E989000000              jmp 00429541

7,正当我郁闷时,我又换了个用户名xibeilang注册,按照上面再来了一边,得到这个注册码:
Address: 01570058 is Not in a Loaded Module.
char[011]:"35411049761"                                                                                       
DWORD:31343533, WORD:3533, BYTE:33
CODE: xor esi, dword ptr [30313134]

8,填入用户名:xibeilang ,注册码:35411049761
确定,提示注册正确,功能也没有限制!这是为什么呢?难道Sirius这个字符长度不够?
到底算法是怎么样的?
哪个大虾帮忙分析一下注册码码算法啊!!!急等~~~~~~~~~~~!!!

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※※●●●●※※※※●※※※※※※※※※※※※※●※※※※※※※※※※※※※※※※※
※●※※※●※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※●※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※※●※※※※※●●●※※※※●●※●●※※●●●※※※●●※※●●※※※●●●●※
※※※●●※※※※※●※※※※※●●※※※※※※●※※※※●※※※●※※●※※※●※
※※※※※●※※※※●※※※※※●※※※※※※※●※※※※●※※※●※※※●●※※※
※※※※※●※※※※●※※※※※●※※※※※※※●※※※※●※※※●※※※※※●※※
※●※※※●※※※※●※※※※※●※※※※※※※●※※※※●※※※●※※●※※※●※
※●●●●※※※●●●●●※※●●●●※※※●●●●●※※※●●●●●※●●●●※※
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 229
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
算法在哪?怎么不贴出来。跟一下不就知道了
2005-9-12 18:56
0
雪    币: 209
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我不会看哪部分是算法啊!
2005-9-19 17:52
0
游客
登录 | 注册 方可回帖
返回
//