某智能加密狗破解

1、用PEID查壳,为Borland Delphi 6.0 - 7.0,Delphi写的,无壳。


2、不插狗,试运行程序,弹出对话框,显示“操作加密锁失败!原因可能是

无加密锁或版本不正确。返回码:-53”。


3、用OD加载,停在入口:
0071FC04 >  55                push ebp    //OEP,停在此处
0071FC05    8BEC              mov ebp,esp
0071FC07    B9 05000000       mov ecx,5
0071FC0C    6A 00             push 0
0071FC0E    6A 00             push 0
0071FC10    49                dec ecx
0071FC11  ^ 75 F9             jnz short EasyCraf.0071FC0C
0071FC13    51                push ecx
0071FC14    53                push ebx
0071FC15    B8 44F07100       mov eax,EasyCraf.0071F044

查找字符串:“操作加密锁失败!原因可能是无加密锁或版本不正确。返回码:-53”,


来到下面的代码:
0054AC85   /EB 43             jmp short EasyCraf.0054ACCA
0054AC87   |8BC6              mov eax,esi
0054AC89   |BA 3CAE5400       mov edx,EasyCraf.0054AE3C                 ; 操作

加密锁失败!原因可能是无加密锁或版本不正确。返回码:-53
0054AC8E   |E8 2DAAEBFF       call EasyCraf.004056C0
0054AC93   |EB 35             jmp short EasyCraf.0054ACCA

向上翻
0054ABDC    55                push ebp  //在此处下断
0054ABDD    8BEC              mov ebp,esp
0054ABDF    6A 00             push 0
0054ABE1    53                push ebx
0054ABE2    56                push esi


运行程序,堆栈中显示如下:
0012FE54   0054AF42  返回到 EasyCraf.0054AF42 来自

EasyCraf.0054ABDC
0012FE58   00000030
0012FE5C   0012FF84  指针到下一个 SEH 记录
0012FE60   0054AF73  SE 句柄
0012FE64   0012FE70
0012FE68   00731C20  EasyCraf.00731C20

再跟随,来到下面:
0054AF90    81C4 F8FEFFFF     add esp,-108
0054AF96    8BCC              mov ecx,esp
0054AF98    B8 D8AF5400       mov eax,EasyCraf.0054AFD8                 ;

easycraft.exp
0054AF9D    33D2              xor edx,edx
0054AF9F    E8 FC45FFFF       call EasyCraf.0053F5A0    //这里读狗,

跟进
0054AFA4    A3 2C927200       mov dword ptr ds:[72922C],eax
0054AFA9    833D 2C927200 00  cmp dword ptr ds:[72922C],0
0054AFB0    75 13             jnz short EasyCraf.0054AFC5
0054AFB2    B8 28927200       mov eax,EasyCraf.00729228
0054AFB7    8BD4              mov edx,esp
0054AFB9    B9 05010000       mov ecx,105
0054AFBE    E8 19A9EBFF       call EasyCraf.004058DC
0054AFC3    EB 0A             jmp short EasyCraf.0054AFCF
0054AFC5    A1 2C927200       mov eax,dword ptr ds:[72922C]
0054AFCA    E8 51FFFFFF       call EasyCraf.0054AF20
0054AFCF    81C4 08010000     add esp,108
0054AFD5    C3                retn

往下翻,来到下面的代码:
0053F6D6    E8 D5010000       call EasyCraf.0053F8B0
0053F6DB    894424 10         mov dword ptr ss:[esp+10],eax
0053F6DF    837C24 10 00      cmp dword ptr ss:[esp+10],0
0053F6E4    74 06             je short EasyCraf.0053F6EC
0053F6E6    8B4424 10         mov eax,dword ptr ss:[esp+10]
0053F6EA    EB 29             jmp short EasyCraf.0053F715
0053F6EC    807C24 18 7B      cmp byte ptr ss:[esp+18],7B
0053F6F1    75 15             jnz short EasyCraf.0053F708
0053F6F3    807C24 19 7B      cmp byte ptr ss:[esp+19],7B
0053F6F8    75 0E             jnz short EasyCraf.0053F708
0053F6FA    807C24 1A 7B      cmp byte ptr ss:[esp+1A],7B
0053F6FF    75 07             jnz short EasyCraf.0053F708
0053F701    807C24 1B 7B      cmp byte ptr ss:[esp+1B],7B
0053F706    74 0B             je short EasyCraf.0053F713
0053F708    837C24 10 00      cmp dword ptr ss:[esp+10],0
0053F70D  ^ 0F84 5CFFFFFF     je EasyCraf.0053F66F
0053F713    33C0              xor eax,eax
0053F715    81C4 2C020000     add esp,22C
0053F71B    C3                retn

0053F6E4    此行代码NOP掉,程序往下执行,就可以跳过0053F713   

33C0              xor eax,eax,保存修改。

继续单步执行,发现还有读狗的地方,同样的方法修改,保存程序。

4、试运行保存的程序,可正常运行。

至此,破解完成。

X

点击这里给我发消息
微信号:crackgou