加密狗软件破解复制T-GOU工作室
RSS
当前位置 : > 经典案例 >

某图像测量软件未知加密狗破解(不脱壳破解)

来源:未知 作者:admin 时间:2010-12-26 23:18 浏览:


这是一款台湾软件,用的也是台湾的加密狗。

PEID检测为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo,还加了个小壳,不过没关系,都是小问题。先来尝试带壳调试吧。

试用软件,弹出提示:没有通过授权检查,系统将离开。

用OD加载软件:

005F2CF0 >  60              pushad  //壳的EP

005F2CF1    BE 00C05900     mov esi,MC.0059C000

005F2CF6    8DBE 0050E6FF   lea edi,dword ptr ds:[esi-0x19B000]

005F2CFC    57              push edi

005F2CFD    EB 0B           jmp short MC.005F2D0A

005F2CFF    90              nop

005F2D00    8A06            mov al,byte ptr ds:[esi]

005F2D02    46              inc esi

005F2D03    8807            mov byte ptr ds:[edi],al

005F2D05    47              inc edi

005F2D06    01DB            add ebx,ebx

005F2D08    75 07           jnz short MC.005F2D11

 

查找字符串,没有找到有价值的地方,还是只能用其它办法了,想偷懒都很困难……

010C34A8    8B85 DCFCFFFF   mov eax,dword ptr ss:[ebp-0x324]

010C34AE    8B08            mov ecx,dword ptr ds:[eax]

010C34B0    FF51 FC         call dword ptr ds:[ecx-0x4]

010C34B3    66:C785 24FCFFF>mov word ptr ss:[ebp-0x3DC],0x38C

010C34BC    E8 93430900     call MC.00499854     //检测加密狗是否存在

010C34C1    8985 10FCFFFF   mov dword ptr ss:[ebp-0x3F0],eax

010C34C7    83BD 10FCFFFF 0>cmp dword ptr ss:[ebp-0x3F0],0x7

010C34CE    0F84 AA000000   je MC.010C357E  //加密狗破解关键点

010C34D4    81BD 10FCFFFF 9>cmp dword ptr ss:[ebp-0x3F0],0x99

010C34DE    0F84 9A000000   je MC.010C357E

010C34E4    E8 4F450900     call MC.00499A38       //读取加密狗数据

010C34E9    8985 10FCFFFF   mov dword ptr ss:[ebp-0x3F0],eax

010C34EF    83BD 10FCFFFF 0>cmp dword ptr ss:[ebp-0x3F0],0x7

010C34F6    74 7A           je short MC.010C3572  //加密狗破解关键点一

010C34F8    81BD 10FCFFFF 9>cmp dword ptr ss:[ebp-0x3F0],0x99

010C3502    74 6E           je short MC.010C3572   //加密狗破解关键点二

010C3504    68 C8000000     push 0xC8

010C3509    68 C8000000     push 0xC8

010C350E    E8 49430900     call MC.0049985C                   ; jmp 到 kernel32.Beep

010C3513    6A 00           push 0x0

010C3515    8D85 DAFBFFFF   lea eax,dword ptr ss:[ebp-0x426]

010C351B    E8 900A0000     call MC.010C3FB0

010C3520    33D2            xor edx,edx

010C3522    E8 BD0A0000     call MC.010C3FE4

010C3527    66:8B08         mov cx,word ptr ds:[eax]

010C352A    33D2            xor edx,edx

010C352C    A1 600F4C00     mov eax,dword ptr ds:[0x4C0F60]

010C3531    E8 AE380900     call MC.00498DE4        //弹出提示信息

 

由于有壳保护,在这里修改代码没有任何意义,只有深入读取加密狗的DLL中,修改其中的代码。

检测加密狗是否存在函数:

0A43018C >  55              push ebp

0A43018D    8BEC            mov ebp,esp

0A43018F    6A 00           push 0x0

0A430191    53              push ebx

0A430192    33C0            xor eax,eax

0A430194    55              push ebp

0A430195    68 65E26800     push SU.0A430265

0A43019A    64:FF30         push dword ptr fs:[eax]

0A43019D    64:8920         mov dword ptr fs:[eax],esp

0A4301A0    68 24086900     push SU.00690824

……

0A430248    0FBF1D 1C086900 movsx ebx,word ptr ds:[0x69081C]

0A43024F    33C0            xor eax,eax

0A430251    5A              pop edx

0A430252    59              pop ecx

0A430253    59              pop ecx

0A430254    64:8910         mov dword ptr fs:[eax],edx

0A430257    68 6CE26800     push SU.0A43026C

0A43025C    8D45 FC         lea eax,dword ptr ss:[ebp-0x4]

0A43025F    E8 C456FCFF     call SU.00653928

0A430264    C3              retn

0A430265  ^ E9 E250FCFF     jmp SU.0065334C

0A43026A  ^ EB F0           jmp short SU.0A43025C

0A43026C    8BC3            mov eax,ebx //加密狗破解的关键点一,修改此处代码即可

0A43026E    5B              pop ebx

0A43026F    59              pop ecx

0A430270    5D              pop ebp

0A430271    C3              retn

 

继续跟入读取加密狗数据函数:

0C50B18C >  55              push ebp

0C50B18D    8BEC            mov ebp,esp

0C50B18F    6A 00           push 0x0

0C50B191    53              push ebx

0C50B192    33C0            xor eax,eax

0C50B194    55              push ebp

0C50B248    0FBF1D 1C086400 movsx ebx,word ptr ds:[0x64081C]

0C50B24F    33C0            xor eax,eax

0C50B251    5A              pop edx

0C50B252    59              pop ecx

0C50B253    59              pop ecx

0C50B254    64:8910         mov dword ptr fs:[eax],edx

0C50B257    68 6CE26300     push SP.0C50B26C

0C50B25C    8D45 FC         lea eax,dword ptr ss:[ebp-0x4]

0C50B25F    E8 C456FCFF     call SP.00603928

0C50B264    C3              retn

0C50B265  ^ E9 E250FCFF     jmp SP.0060334C

0C50B26A  ^ EB F0           jmp short SP.0C50B25C

0C50B26C    8BC3            mov eax,ebx //加密狗破解的关键点一,修改此处代码即可

0C50B26E    5B              pop ebx

0C50B26F    59              pop ecx

0C50B270    5D              pop ebp

0C50B271    C3              retn

 

通过修改几处代码,可以不用脱壳直接把加密狗破解掉。

测试软件,没有任何BUG,加密狗破解成功!

 


Tags: