加密狗複制(zhì)

鑼機控制(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ě)以正常使用了,加密狗破解成功!



首頁

電(diàn)話(huà)

地址

到底了~