傳真機軟件加密狗破解全過程如下:
這是一款國外的傳真機軟件,用的是軟件加密狗。
PEID檢測為(wèi)ASPack 2.12 -> Alexey Solodovnikov,簡單殼,順手脫掉即可(kě)。
試用軟件,程序主界面可(kě)以出來(lái),但(dàn)是馬上(shàng)就彈出提示:請(qǐng)确認加密狗已經插入計(jì)算(suàn)機的USB口,點擊确定,退出
軟件。
既然有(yǒu)提示,那(nà)第一步非常簡單,根據錯誤提示查找讀取加密狗的代碼:
004B0348 08C7 or bh,al
004B034A 8D85 70FFFFFF lea eax,dword ptr ss:[ebp-0x90]
004B0350 A3 FCF25C00 mov dword ptr ds:[0x5CF2FC],eax
004B0355 E8 341C0000 call UnPack_.004B1F8E //第一次讀取加密狗
004B035A 8BD8 mov ebx,eax
004B035C 3BDF cmp ebx,edi
004B035E 74 06 je short UnPack_.004B0366 //加密狗破解關鍵點一,必須跳(tiào)走
004B0360 46 inc esi
004B0361 83FE 03 cmp esi,0x3
004B0364 ^ 7C AF jl short UnPack_.004B0315
004B0366 E8 99180100 call
004B036B 8B40 04 mov eax,dword ptr ds:[eax+0x4]
004B036E 3978 2C cmp dword ptr ds:[eax+0x2C],edi
004B0371 75 0C jnz short UnPack_.004B037F
004B0373 8183 84850300 0>add dword ptr ds:[ebx+0x38584],0x3020103
004B037D 08C7 or bh,al
004B037F 3BDF cmp ebx,edi
004B0381 74 14 je short UnPack_.004B0397
004B0383 8D4D F0 lea ecx,dword ptr ss:[ebp-0x10]
004B0386 E8 0B200100 call
004B038B 5F pop edi
004B038C 5E pop esi
004B038D B8 01000000 mov eax,0x1
004B0392 5B pop ebx
004B0393 8BE5 mov esp,ebp
004B0395 5D pop ebp
004B0396 C3 retn
004B0397 8B8D 70FFFFFF mov ecx,dword ptr ss:[ebp-0x90]
004B039D 894D FC mov dword ptr ss:[ebp-0x4],ecx
004B03A0 E8 5F180100 call
004B03A5 8B40 04 mov eax,dword ptr ds:[eax+0x4]
004B03A8 3978 2C cmp dword ptr ds:[eax+0x2C],edi
004B03AB 75 0C jnz short UnPack_.004B03B9 //加密狗破解關鍵點二
004B03AD 81C7 83848503 add edi,0x3858483
004B03B3 0301 add eax,dword ptr ds:[ecx]
004B03B5 0203 add al,byte ptr ds:[ebx]
004B03B7 08C7 or bh,al
004B03B9 8175 FC 2437010>xor dword ptr ss:[ebp-0x4],0x13724
004B03C0 E8 3F180100 call
004B03C5 8B40 04 mov eax,dword ptr ds:[eax+0x4]
004B03C8 3978 2C cmp dword ptr ds:[eax+0x2C],edi
004B03CB 75 08 jnz short UnPack_.004B03D5 //加密狗破解關鍵點三
004B03CD 81C7 85030301 add edi,0x1030385
004B03D3 02C7 add al,bh
004B03D5 8D95 70FFFFFF lea edx,dword ptr ss:[ebp-0x90]
004B03DB 6A 32 push 0x32
004B03DD 52 push edx
004B03DE E8 4D040000 call UnPack_.004B0830
004B03E3 83C4 08 add esp,0x8
004B03E6 66:3D FFFF cmp ax,0xFFFF
004B03EA 0F85 2F020000 jnz UnPack_.004B061F //加密狗破解關鍵點四
004B03F0 E8 0F180100 call
004B03F5 8B40 04 mov eax,dword ptr ds:[eax+0x4]
004B03F8 3978 2C cmp dword ptr ds:[eax+0x2C],edi
……
004B0627 5F pop edi
004B0628 5E pop esi
004B0629 B8 02000000 mov eax,0x2
004B062E 5B pop ebx
004B062F 8BE5 mov esp,ebp
004B0631 5D pop ebp
004B0632 C3 retn
相似代碼過多(duō),就不再一一列出來(lái)了,第一個(gè)加密狗破解的關鍵點很(hěn)容易就找到了,由于手上(shàng)沒有(yǒu)原狗,所以接下來(lái)的工作(zuò)就比較麻煩了,繼續查找:
00471CC1 E8 BAE50300 call UnPack_.004B0280 //讀取加密狗
00471CC6 85F6 test esi,esi
00471CC8 8945 F0 mov dword ptr ss:[ebp-0x10],eax
00471CCB 74 07 je short UnPack_.00471CD4 //加密狗破解關鍵點五
00471CCD 8B46 20 mov eax,dword ptr ds:[esi+0x20]
00471CD0 85C0 test eax,eax
00471CD2 75 0E jnz short UnPack_.00471CE2
經過漫長的測試與跟蹤分析,加密狗破解就基本完成了,由于沒有(yǒu)相應的傳真機,所以是否還(hái)存在BUG,還(hái)有(yǒu)待驗證!