鑼機控制(zhì)管理(lǐ)系統加密狗無狗運作(zuò)
這是一個(gè)PCB鑼機的控制(zhì)管理(lǐ)系統,用的是軟件加密狗。 試用軟件,彈出提示:找不到加密狗,請(qǐng)檢測。 PEID檢測為(wèi)Microsoft Visual C++ 5.0 [Debug],這個(gè)程序應該有(yǒu)一定的年代了。 用OD加載程序: 004A4210 /$ 55 push ebp 004A4211 |. 8BEC mov ebp,esp
這是一個(gè)PCB鑼機的控制(zhì)管理(lǐ)系統,用的是軟件加密狗。
試用軟件,彈出提示:找不到加密狗,請(qǐng)檢測。
PEID檢測為(wèi)Microsoft Visual C++ 5.0 [Debug],這個(gè)程序應該有(yǒu)一定的年代了,呵呵。
用OD加載程序:
004A4210 >/$ 55 push ebp
004A4211 |. 8BEC mov ebp,esp
004A4213 |. 6A FF push -0x1
004A4215 |. 68 D8555100 push YK-0.005155D8
004A421A |. 68 10444A00 push ; SE 處理(lǐ)程序安裝
004A421F |. 64:A1 0000000>mov eax,dword ptr fs:[0]
004A4225 |. 50 push eax
004A4226 |. 64:8925 00000>mov dword ptr fs:[0],esp
004A422D |. 83C4 94 add esp,-0x6C
由于有(yǒu)錯誤提示,找到對應讀取加密狗的函數(shù)就相當簡單了。
01C39610 |. E8 DD9E0700 call
01C39615 |. 6A 00 push 0x0
01C39617 |. E8 8EB00700 call
01C3961C |. 83C4 04 add esp,0x4
01C3961F |. B9 601C5200 mov ecx,YK-0.00521C60
01C39624 |. E8 38A5FDFF call YK-0.00403B61
01C39629 |. B9 A0185200 mov ecx,YK-0.005218A0
01C3962E |. E8 E093FDFF call YK-0.00402A13
01C39633 |. C745 C8 00000>mov [local.14],0x0
01C3963A |. B9 C81B5200 mov ecx,YK-0.00521BC8
01C3963F |. E8 9181FDFF call YK-0.004017D5 //讀取加密狗函數(shù)
01C39644 |. 85C0 test eax,eax
01C39646 |. 75 24 jnz short YK-0.01C3966C //加密狗破解關鍵點一,不跳(tiào)則挂
01C39648 |. 8BF4 mov esi,esp //彈出錯誤提示對話(huà)框
01C3964A |. 6A 30 push 0x30 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
01C3964C |. 68 20B95000 push YK-0.0050B920 ; |Title = "出錯"
01C39651 |. 68 5C075100 push YK-0.0051075C ; |Text = "找不到加密狗,請(qǐng)檢測!"
01C39656 |. 6A 00 push 0x0 ; |hOwner = NULL
01C39658 |. FF15 B05B5200 call dword ptr ds:[<&USER32.MessageBoxA>>; \MessageBoxA
01C3965E |. 3BF4 cmp esi,esp
01C39660 |. E8 05A80700 call
01C39665 |. 33C0 xor eax,eax
01C39667 |. E9 BC050000 jmp YK-0.01C39C28
01C3966C |> 33D2 xor edx,edx
01C3966E |. 66:8B15 D01B5>mov dx,word ptr ds:[0x521BD0]
01C39675 |. 83FA 01 cmp edx,0x1
01C39678 |. 74 33 je short YK-0.01C396AD
01C3967A |. 33C0 xor eax,eax
01C3967C |. 66:A1 061C520>mov ax,word ptr ds:[0x521C06]
01C39682 |. 83E0 03 and eax,0x3
01C39685 |. 85C0 test eax,eax //第二次檢測加密狗是否存在
01C39687 |. 75 24 jnz short YK-0.01C396AD //加密狗破解關鍵點二,不跳(tiào)則挂
01C39689 |. 8BF4 mov esi,esp //彈出錯誤提示對話(huà)框
01C3968B |. 6A 30 push 0x30 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
01C3968D |. 68 20B95000 push YK-0.0050B920 ; |Title = "出錯"
01C39692 |. 68 30075100 push YK-0.00510730 ; |Text = "加密狗未經正式授權,請(qǐng)聯系設備廠商!"
01C39697 |. 6A 00 push 0x0 ; |hOwner = NULL
01C39699 |. FF15 B05B5200 call dword ptr ds:[<&USER32.MessageBoxA>>; \MessageBoxA
程序肯定不止一處讀取加密狗的,繼續查找:
0AC1FB4C |. 8915 08095200 mov dword ptr ds:[0x520908],edx
0AC1FB52 |. 833D 08095200>cmp dword ptr ds:[0x520908],0x0
0AC1FB59 |. 75 51 jnz short YK-0.0AC1FBAC
0AC1FB5B |. 833D DC175200>cmp dword ptr ds:[0x5217DC],0x0
0AC1FB62 |. 75 1A jnz short YK-0.0AC1FB7E
0AC1FB64 |. E8 793CFEFF call YK-0.004037E2 //讀取加密狗數(shù)據
0AC1FB69 |. 85C0 test eax,eax
0AC1FB6B |. 75 11 jnz short YK-0.0AC1FB7E //加密狗破解關鍵點三,如果讀取到的數(shù)量不正确,程序會(huì)直接退出,不會(huì)有(yǒu)任何錯誤提示
0AC1FB6D |. 8BF4 mov esi,esp
0AC1FB6F |. 6A 00 push 0x0 ; /ExitCode = 0
0AC1FB71 |. FF15 605C5200 call dword ptr ds:[<&USER32.PostQuitMess>; \PostQuitMessage
0AC1FB77 |. 3BF4 cmp esi,esp
0AC1FB79 |. E8 EC420800 call
0AC1FB7E |> 833D D8175200>cmp dword ptr ds:[0x5217D8],0x0
0AC1FB85 |. 75 25 jnz short YK-0.0AC1FBAC
0AC1FB87 |. 833D DC175200>cmp dword ptr ds:[0x5217DC],0x0
0AC1FB8E |. 74 1C je short YK-0.0AC1FBAC
0AC1FB90 |. 8B15 64185200 mov edx,dword ptr ds:[0x521864]
0AC1FB96 |. 83C2 01 add edx,0x1
繼續查找:
0B5556A0 |. 894D FC mov [local.1],ecx
0B5556A3 |. B9 C81B5200 mov ecx,YK-0.00521BC8
0B5556A8 |. E8 28C1F8FF call YK-0.004017D5 //再一次讀取加密狗數(shù)據
0B5556AD |. 85C0 test eax,eax
0B5556AF |. 75 24 jnz short YK-0.0B5556D5 //加密狗破解關鍵點四,不跳(tiào)則挂
0B5556B1 |. 8BF4 mov esi,esp
0B5556B3 |. 6A 30 push 0x30 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
0B5556B5 |. 68 20B95000 push YK-0.0050B920 ; |Title = "出錯"
0B5556BA |. 68 5C075100 push YK-0.0051075C ; |Text = "找不到加密狗,請(qǐng)檢測!"
0B5556BF |. 6A 00 push 0x0 ; |hOwner = NULL
0B5556C1 |. FF15 B05B5200 call dword ptr ds:[<&USER32.MessageBoxA>>; \MessageBoxA
0B5556C7 |. 3BF4 cmp esi,esp
0B5556C9 |. E8 9CE70200 call
經過數(shù)次的修改代碼與檢測,軟件終于可(kě)以正常使用了,加密狗破解成功!