v1.2》完全破解(2009-05-03 12:02:19)
《外掛制作學(xué)習(xí)系統(tǒng)v1.2》完全破解
說明一下:本人由于不能上網(wǎng),因此也放棄了學(xué)習(xí)外掛的制作,呵呵~~ 這是幫人家找的軟件(同時帶破解補(bǔ)?。?,帶破解補(bǔ)丁?不用,為什么人家 可以破解咱不能呢?呼呼~~開工 獻(xiàn)給她,祝她開心每一天~~~ HKEY_CURRENT_USER\Software\VB and VBA Program Settings\wgjx\wgjx ======================================= 軟件加了殼tElock 0.98b1 -> tE!,至于脫殼過程,在我的脫殼筆記里已經(jīng) 很清楚了,在此再演示一遍!嘿嘿,學(xué)習(xí)來不得半點(diǎn)馬虎 入口特征: 使用最后一次異常法 0042EBD6 >^\E9 25E4FFFF jmp wgjc.0042D000 0042EBDB 0000 add byte ptr ds:[eax],al 0042EBDD 0090 542DD91E add byte ptr ds:[eax+1ED92D54],dl f8單步一下(不單步也行),OD調(diào)試選項(忽略kernel32內(nèi)存訪問),其他的 都去掉勾 shift+f9走一下,17次跑起來了,那么我們重新來過在16次: 0042E7FB 60 pushad 0042E7FC E8 06000000 call wgjc.0042E807 0042E801 8B6424 08 mov esp,dword ptr ss:[esp+8] 0042E805 EB 1A jmp short wgjc.0042E821 0042E807 64:67:FF36 0000 push dword ptr fs:[0] 0042E80D 64:67:8926 0000 mov dword ptr fs:[0],esp 0042E813 9C pushfd 0042E814 810C24 00010000 or dword ptr ss:[esp],100 0042E81B 9D popfd 0042E81C F8 clc 0042E81D ^ 73 DC jnb short wgjc.0042E7FB 【OD停在這】 0042E81F CD20 64678F06 vxdcall 68F6764 0042E825 0000 add byte ptr ds:[eax],al 0042E827 58 pop eax 觀察堆棧窗口: 0012FF58 0012FFE0 指針到下一個 SEH 記錄 0012FF5C 0042E801 SE 句柄 ctrl+G來到42E801 0042E7FB 60 pushad 0042E7FC E8 06000000 call wgjc.0042E807 0042E801 8B6424 08 mov esp,dword ptr ss:[esp+8] 【這個地方】 0042E805 EB 1A jmp short wgjc.0042E821 f2下斷,shift+f9,然后f8單步走(較長的時間)在: 0042E7B5 61 popad 0042E7B6 - FF6424 D0 jmp dword ptr ss:[esp-30] ; wgjc.004021E0 0042E7BA 0200 add al,byte ptr ds:[eax] 到達(dá)oep: 004021E0 68 EC224000 push wgjc.004022EC ; ASCII "VB5!6&vb6chs.dll" 004021E5 E8 F0FFFFFF call wgjc.004021DA ; jmp 到 004021EA 0000 add byte ptr ds:[eax],al 004021EC 0000 add byte ptr ds:[eax],al 004021EE 0000 add byte ptr ds:[eax],al 直接dumped,然后修復(fù) ----------------------------------------------------------- 接下來進(jìn)行我們的破解工作 OD載入,f9運(yùn)行,輸入假的注冊碼例如:I LOVE YOU 提示“注冊碼錯誤,請與作者聯(lián)系……” 我們暫停程序,f12暫停,然后alt+f9(執(zhí)行到用戶代碼),這時在點(diǎn)擊 提示錯誤的對話框的“確定”按鈕來到: 6606F72A |. /74 07 je short msvbvm60.6606F733 6606F72C |. |C745 F8 98F60>mov dword ptr ss:[ebp-8],msvbvm60.6606F698 6606F733 |> \8B35 E8120066 mov esi,dword ptr ds:[<&USER32.MessageBoxIndirectA>; USER32.MessageBoxIndirectA 6606F739 |. 8D45 D8 lea eax,dword ptr ss:[ebp-28] 6606F73C |. 50 push eax ; /pMsgBoxParams 6606F73D |. FFD6 call esi ; \MessageBoxIndirectA 【很明顯是這個函數(shù)提示錯誤的】 6606F73F |. 8BD8 mov ebx,eax 6606F741 |. 3BDF cmp ebx,edi 6606F743 |. 75 2F jnz short msvbvm60.6606F774 6606F745 |. 8B45 EC mov eax,dword ptr ss:[ebp-14] 我們觀察一下OD的標(biāo)題欄“CPU -主線程,模塊—msvbvm60” 呵呵~~說明了什么?說明軟件還在錯誤的提示所對應(yīng)的函數(shù)中,我們f8一直單步 直到OD窗口標(biāo)題欄返回到程序的領(lǐng)空來到: 00425FD5 51 push ecx 00425FD6 52 push edx 00425FD7 8D45 C8 lea eax,dword ptr ss:[ebp-38] 00425FDA 6A 40 push 40 00425FDC 50 push eax 00425FDD FF15 9C104000 call dword ptr ds:[<&msvbvm60.#595>] ; msvbvm60.rtcMsgBox【這個call提示錯誤的】 00425FE3 8D4D 98 lea ecx,dword ptr ss:[ebp-68] 00425FE6 8D55 A8 lea edx,dword ptr ss:[ebp-58] 00425FE9 51 push ecx 我們上翻代碼,找到段首: 00425E0A 52 push edx 00425E0B 50 push eax 00425E0C FF15 E4104000 call dword ptr ds:[<&msvbvm60.#406>] ; msvbvm60.__vbaStrCmp 00425E14 /0F85 5F010000 jnz dumped_.00425F79【如果不相等跳到錯誤】 這個地方比較可疑,因?yàn)閮蓚€壓棧一個比較,很明顯是比較注冊碼額 在00425E0A 下斷,同時在中間代碼處你會發(fā)現(xiàn)下面的call,呵呵,是提示注冊正確的 00425E9A FF15 9C104000 call dword ptr ds:[<&msvbvm60.#595>] ; msvbvm60.rtcMsgBox f9運(yùn)行,點(diǎn)擊注冊,觀察寄存器: EAX 00160C34 UNICODE "XHYL;^VFWJ9\TDUH7ZRBSF5XP@QD3VN>O" ECX 0014B6B8 EDX 0016094C UNICODE "I LOVE YOU" 看到?jīng)]有,很明顯,eax壓真注冊碼,edx是我們的假注冊碼 破解完成------------------ 五一假期也結(jié)束了,這兩天每天在電腦旁不下8個小時學(xué)習(xí)脫殼,真是頭暈?zāi)X脹,心情不好,坐在電腦旁一句話不說,用努力學(xué)習(xí),勞累去懲罰自己 的,O了,收工 |
|