ASProtect 1.23RC4 以殼解殼+暗樁修復+解除自校驗+破解――ArtCursors V3.99B3
ASProtect 1.23RC4 以殼解殼+暗樁修復+解除自校驗+破解――ArtCursors V3.99B3
下載頁面: http://www.onlinedown.net/soft/27328.htm
軟體大小: 993KB
軟體語言: 英文
軟體類別: 國外軟體/共享版/圖示工具
執行環境: Win9x/Me/NT/2000/XP
加入時間: 2004-6-10 20:18:29
下載次數: 707
軟體評級: ****
軟體介紹: Aha-soft繼ArtIcons後,又一套極佳的滑鼠游標編輯工具,支援標準的16x16、32x32..及自訂尺寸圖示,除可觀看、繪製、抓取、收集、和管理等功能外,亦有漸層著色功能及齊全的編輯工具。支援格式包括:ico、ani、cur、wmf、emf、bmp、jpg、jpeg、gif、png,它並從影像ICO、JPG等檔案中匯入。
【作者宣告】:只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!
【除錯環境】:WinXP、Ollydbg、PEiD、LordPE、ImportREC
―――――――――――――――――――――――――――――――――
【脫殼過程】:
有兄弟讓看看這個東東,抽空看了一下,發現和以前版本的沒有太多區別。
還看了一下其同門軟體ArtIcons Pro V4.06b,脫殼方法和這個一樣。
―――――――――――――――――――――――――――――――――
一、以殼解殼:Stolen Code + OEP
設定Ollydbg忽略除了“記憶體訪問異常”之外的所有其它異常選項。老規矩:用IsDebug 1.4外掛去掉Ollydbg的偵錯程式標誌。
程式碼:
00401000 68 01C05900 push ARTCUR.0059C001//進入OD後停在這 00401005 E8 01000000 call ARTCUR.0040100B 0040100A C3 retn
Shift+F9 執行,來到ASProtect殼最後一次典型異常處。
程式碼:
00B539EC 3100 xor dword ptr ds:[eax],eax//最後1次異常 00B539EE 64:8F05 00000000 pop dword ptr fs:[0] 00B539F5 58 pop eax 00B539F6 833D B07EB500 00 cmp dword ptr ds:[B57EB0],0 00B539FD 74 14 je short 00B53A13 00B539FF 6A 0C push 0C 00B53A01 B9 B07EB500 mov ecx,0B57EB0 00B53A06 8D45 F8 lea eax,dword ptr ss:[ebp-8] 00B53A09 BA 04000000 mov edx,4 00B53A0E E8 2DD1FFFF call 00B50B40 00B53A13 FF75 FC push dword ptr ss:[ebp-4] 00B53A16 FF75 F8 push dword ptr ss:[ebp-8] 00B53A19 8B45 F4 mov eax,dword ptr ss:[ebp-C] 00B53A1C 8338 00 cmp dword ptr ds:[eax],0 00B53A1F 74 02 je short 00B53A23 00B53A21 FF30 push dword ptr ds:[eax] 00B53A23 FF75 F0 push dword ptr ss:[ebp-10] 00B53A26 FF75 EC push dword ptr ss:[ebp-14] 00B53A29 C3 retn//此處下斷,Shift+F9,斷在這!
此時ESP=0012FF5C,看看堆疊:
程式碼:
0012FF5C 00B67190 0012FF60 00400000 ASCII "MZP" 0012FF64 32C336F0 0012FF68 0012FFA4 //注意這裡 ★
下命令:HR 0012FF68 F9執行,中斷
程式碼:
00B672D3 03C3 add eax,ebx 00B672D5 BB AC060000 mov ebx,6AC//注意這個值 ★ 這裡就可以按“以殼解殼”的方法來脫殼了 00B672DA 0BDB or ebx,ebx 00B672DC 75 07 jnz short 00B672E5
程式碼:
00B672E5 E8 00000000 call 00B672EA 00B672EA 5D pop ebp 00B672EB 81ED 4DE14B00 sub ebp,4BE14D 00B672F1 8D85 F2E04B00 lea eax,dword ptr ss:[ebp+4BE0F2] 00B672F7 8D8D 94E14B00 lea ecx,dword ptr ss:[ebp+4BE194] 00B672FD 03CB add ecx,ebx 00B672FF 8941 01 mov dword ptr ds:[ecx+1],eax 00B67302 8D85 36E14B00 lea eax,dword ptr ss:[ebp+4BE136] 00B67308 8D8D FAE04B00 lea ecx,dword ptr ss:[ebp+4BE0FA] 00B6730E 8901 mov dword ptr ds:[ecx],eax 00B67310 B8 5E140000 mov eax,145E 00B67315 8D8D FFE04B00 lea ecx,dword ptr ss:[ebp+4BE0FF] 00B6731B 8901 mov dword ptr ds:[ecx],eax 00B6731D 8D8D 94E14B00 lea ecx,dword ptr ss:[ebp+4BE194] 00B67323 8D85 94F34B00 lea eax,dword ptr ss:[ebp+4BF394] 00B67329 51 push ecx 00B6732A 50 push eax 00B6732B E8 76FFFFFF call 00B672A6 00B67330 61 popad 00B67331 F3: prefix rep: 00B67332 EB 02 jmp short 00B67336
程式程式碼已經解開,可以用LordPE糾正ImageSize後完全DUMP這個程式了!
接著 區域脫殼:00B60000,大小=0000C000,也就是脫出上面的部分殼處理程式碼段。
順手看看Stolen Code的處理:
程式碼:
00B67362 FF53 0E call dword ptr ds:[ebx+E]//這個CALL裡面處理 Stolen Code ★ 00B67399 896C24 04 mov dword ptr ss:[esp+4],ebp 00B673A1 8D6424 04 lea esp,dword ptr ss:[esp+4]//push ebp ★ 00B673A5 8BEC mov ebp,esp ★ 00B673A7 81EC 0C000000 sub esp,0C//ADD ESP,-0C ★ 00B674DE 8BC3 mov eax,ebx ; ARTCUR.00544CC3 00B674E3 83C0 51 add eax,51//mov eax,00544D14 ★
Ctrl+F9 幾次,返回005451BC
程式碼:
005451AC 55 push ebp 005451AD 8BEC mov ebp,esp 005451AF 83C4 F4 add esp,-0C 005451B2 B8 144D5400 mov eax,00544D14//Stolen Code 005451B7 E8 7018ECFF call ARTCUR.00406A2C 005451BC FF15 14BC5400 call dword ptr ds:[54BC14]; ARTCUR.00544BC0 005451C2 E8 4DEAEBFF call ARTCUR.00403C14
這個Delphi程式的Stolen Code不多,但是為何還要使用“以殼解殼”的方法?
因為這個東東的入殼暗樁不少,使用“以殼解殼”的方法可以使修復工作變得簡單點啦。
現在我們來“組裝”一下dumped.exe。呵呵,用LordPE開啟dumped.exe,從磁碟載入剛才區域脫殼的Region00B60000-00B6C000.dmp區段,修改其Voffset=00760000,只保留LordPE的“驗證PE”選項,重建PE。Dump完成!
―――――――――――――――――――――――――――――――――
二、用AsprDbgr搞定輸入表
AsprDbgr可謂是ASProtect 1.23殼輸入表殺手!難怪ASProtect要不斷的升級呀。
程式碼:
AsprDbgr v1.0beta (:P) Made by me... Manko. iEP=401000 (E:\試煉場\脫殼學習\ASProtect\ArtCursors 4.02 Beta\ARTCUR.EXE GST returns to: B42667 Trick aspr GST... (EAX=12121212h) GV returns to: B51A61 IAT Start: 54E1A4 End: 54E994 Length: 7F0 IATentry 54E1F8 = B517A4 resolved as GetProcAddress IATentry 54E1FC = B51C64 resolved as GetModuleHandleA IATentry 54E210 = B51CD8 resolved as GetCommandLineA IATentry 54E2B0 = B51C64 resolved as GetModuleHandleA IATentry 54E340 = B51CC8 resolved as LockResource IATentry 54E38C = B51C8C resolved as GetVersion IATentry 54E3A8 = B517A4 resolved as GetProcAddress IATentry 54E3B0 = B51C64 resolved as GetModuleHandleA IATentry 54E3E4 = B51CC0 resolved as GetCurrentProcessId IATentry 54E3F0 = B51CF0 resolved as FreeResource SymbolInitialize seems to have frozen. Any invalid IAT entries was NOT erased... Dip-Table at adress: B57AB4 0 4FEE78 0 0 4FEECC 0 0 544BC0 544CBC 544CDC 0 4FEEF4 4FEEE4 0 Last SEH passed. Searching for signatures. Singlestepping to OEP! Call + OEP-jump-setup at: B68015 ( Code: E8000000 5D81ED ) Mutated, stolen bytes at: B68060 ( Code: 61F3EB02 CD20EB01 ) Erase of stolen bytes at: B67FC4 ( Code: 9CFCBF03 80B600B9 ) Repz ... found. Skipping erase of stolen bytes. ;) Dip from pre-OEP: 40692C (Reached from: B67FD5) Sugested tempOEP at: 5451B7
執行ImportREC,選擇這個程式。填入:RVA=0014E1A4,Size=000007F0,點“Get Import”,剪下掉幾個無效的指標,把OEP改為00760000,FixDump!
―――――――――――――――――――――――――――――――――
三、暗樁消除
載入dumped_.exe,修改其入口程式碼為:
程式碼:
00B60000 BB AC060000 mov ebx,6AC 00B60005 E9 DB720000 jmp UnPacked.00B672E5//跳至“以殼解殼”程式碼段
F9執行,中斷在記憶體異常處:
程式碼:
00B6896B 00A4E1 14006B65 add byte ptr ds:[ecx+656B0014],ah//異常
看看堆疊提示:
程式碼:
0012FDFC 00539780 返回到 dumped_.00539780
當然:Ctrl+G:00539780
程式碼:
00539776 8B35 24C25400 mov esi,dword ptr ds:[54C224]; dumped_.0054B4C4 0053977C 8B36 mov esi,dword ptr ds:[esi] 0053977E FFD6 call esi//入殼 ★ 00539780 E9 17000000 jmp dumped_.0053979C
下面也是一樣:
程式碼:
0053979C 8B35 A8C15400 mov esi,dword ptr ds:[54C1A8]; dumped_.0054B4C8 005397A2 8B36 mov esi,dword ptr ds:[esi] 005397A4 FFD6 call esi//入殼 ★
0054B4C4和0054B4C8處的地址入殼了,隨便從程式中個ret的地址替換這2處就行了。
其實在看到硬碟指紋的時候,這2個地址沒有被殼替換,是4FEF04,索性直接原樣修改,儲存之。
程式碼:
0054B4C4 A4 1B B5 00 D8 1B B5 00 1E 00 00 00 1E 00 00 00 ................ 0054B4C4 04 EF 4F 00 04 EF 4F 00 1E 00 00 00 1E 00 00 00 ..O...O.........
00539776和0053979C之間的程式碼需要key才能正確解壓,沒有key就沒辦法啦。
―――――――――――――――――――――――――――――――――
四、自校驗解除
自校驗失敗的話就會爆發“視窗炸彈”了。草原獵豹 兄弟嘗過“視窗炸彈”的滋味,呵呵。
下斷:BP FileTimeToLocalFileTime 跟蹤一段就會發現目標了。
程式碼:
00461A79 E8 2274FAFF call dumped_.00408EA0//取得校驗引數 00461A7E 85C0 test eax,eax 00461A80 75 08 jnz short dumped_.00461A8A 00461A82 8B9D ACFEFFFF mov ebx,dword ptr ss:[ebp-154]//脫殼前[ebp-154]=0009D400 00461A88 EB 03 jmp short dumped_.00461A8D
索性把00461A82處修改為固定值吧,這樣省點事啦。
程式碼:
00461A82 BB 00D40900 mov ebx,9D400//脫殼前的值 00461A87 90 nop//補個NOP 00461A88 EB 03 jmp short dumped_.00461A8D
也可以修改下面3個校驗的地方:
程式碼:
004FEFBE 3D A0BB0D00 cmp eax,0DBBA0//校驗 ① ★ 004FEFC3 0F9CC3 setl bl//改為:mov bl,01 004FF014 8BD8 mov ebx,eax 004FF016 81FB 40420F00 cmp ebx,0F4240//校驗 ② ★ 004FF01C 7E 34 jle short dumped_.004FF052//改為:jmp 004FF052 004FEF3B 3D 804F1200 cmp eax,124F80//校驗 ③ ★ 004FEF40 7E 30 jle short dumped_.004FEF72//改為:jmp 004FEF72
OK,炸彈被拆除引線了,不會瘋狂開視窗耗盡系統資源了。
沒有key只能這樣了,脫殼基本完成!
―――――――――――――――――――――――――――――――――
五、破解:去除NAG
現在時間限制沒有了,但啟動和退出時的NAG比較煩人。
感謝[FCG]的DarkNess0ut老大幫忙破解!修改以下幾個地方:
1、
程式碼:
00539754 837D F0 00 cmp dword ptr ss:[ebp-10],0 00539758 75 05 jnz short UnPacked.0053975F//改為:JMP 0053975A E8 29BCFCFF call UnPacked.00505388 0053975F A1 14C05400 mov eax,dword ptr ds:[54C014] 00539764 8038 00 cmp byte ptr ds:[eax],0 00539767 74 0D je short UnPacked.00539776//改為:JMP
2、
程式碼:
00505645 8038 00 cmp byte ptr ds:[eax],0 00505648 74 04 je short UnPacked.0050564E 0050564A 33D2 xor edx,edx 0050564C EB 02 jmp short UnPacked.00505650 0050564E B2 01 mov dl,1 改為: 00505645 8038 00 cmp byte ptr ds:[eax],0 00505648 EB 00 jmp short Cr-UnPac.0050564A 0050564A C640 47 00 mov byte ptr ds:[eax+47],0 0050564E B2 00 mov dl,0
3、
程式碼:
0053A04B 8A12 mov dl,byte ptr ds:[edx] 0053A04D 80F2 01 xor dl,1 改為: 0053A04B C602 01 mov byte ptr ds:[edx],1 0053A04E B2 00 mov dl,0
4、
程式碼:
0053A061 807F 47 00 cmp byte ptr ds:[edi+47],0 0053A065 0F84 AA000000 je UnPacked.0053A115//改為:JMP
5、
程式碼:
0053C8C6 837D FC 00 cmp dword ptr ss:[ebp-4],0 0053C8CA 75 19 jnz short UnPacked.0053C8E5//改為:JMP
―――――――――――――――――――――――――――――――――
程式碼:
, _/ /| _.-~/ \_ , 青春都一晌 ( /~ / \~-._ |\ `\\ _/ \ ~\ ) 忍把浮名 _-~~~-.) )__/;;,. \_ //' /'_,\ --~ \ ~~~- ,;;\___( (.-~~~-. 換了破解輕狂 `~ _( ,_..--\ ( ,;'' / ~-- /._`\ /~~//' /' `~\ ) /--.._, )_ `~ " `~" " `" /~'`\ `\\~~\ " " "~' ""
Cracked By 巢水工作坊――fly [OCN][FCG][NUKE][DCM]
2004-06-15 17:00
相關文章
- 以殼解殼――ASProtect
1.23RC4殼的Stolen Code簡便解決方案2004-05-13
- ASProtect 1.23RC4之System Cleaner
4.91d脫殼修復and破解2015-11-15
- 以殼解殼--SourceRescuer脫殼手記破解分析2004-11-16
- Asprotect1.23 Rc4 之SynchroMagic脫殼修復+破解2015-11-15
- tElock+ASProtect脫殼+解除自校驗――小李加密 V7.0
Build 01102015-11-15加密UI
- ASProtect 1.23 SDK之 Aspack2.12r 主程式脫殼去暗樁2015-11-15
- 手動脫殼ASProtect 1.23beta21之Aspack2.12的主程式and暗樁分析2015-11-15
- VideoSplitter V2.31 脫殼去暗樁+完美爆破2015-11-15IDE
- 某殼分析+修復(二)2018-05-14
- ArtCursors 3.03 ASPR殼軟體脫殼後修整記 (10千字)2015-11-15
- Krypton
0.5加殼程式脫殼及輸入表修復記2004-10-06
- 老妖的 C32Asm V0.4.12 脫殼+修復+破解2015-11-15ASM
- Blaze Media Pro5.05脫殼+基本修復CC(int3)+破解2015-11-15
- 淺談SVKP 1.3X殼的輸入表修復――登錄檔醫生 V2.96 脫殼+破解2015-11-15
- ASPROtect 1.22加殼的ahaview2.0脫殼 (5千字)2002-03-24View
- ASF-AVI-RM-WMV Repair V1.41 脫殼去暗樁+漢化完美爆破2015-11-15AI
- Acprotect之完美解除安裝XP V9.15脫殼修復+偽破解篇祝賀FLY大俠2015-11-15
- FTPrint的脫殼(asprotect) (2千字)2001-02-05FTP
- 淺談DBPE2.33脫殼修復2015-11-15
- ASProtect V1.2脫殼――Asterisk Password
Recovery XP2015-11-15AST
- Asprotect 1.2x 加殼的 Advanced Direct
Remailer 2.17 脫殼 (3千字)2002-06-20REMAI
- 用OD對Aspr加殼程式的手動脫殼及修復 (7千字)2015-11-15
- Acprotect之完美解除安裝XP V9.15脫殼修復 (狗尾續貂)2015-11-15
- ASProtect
1.23 RC4 - 1.3.08.24-[Awicons V9.20 ]脫殼AND破解2004-07-01
- 模擬跟蹤+修復方法之ACProtect脫殼――完美解除安裝XP V9.122015-11-15
- 小甜餅 --- 有關新版Asprotect加殼程式的脫殼的又一種思路
(798字)2000-09-10
- 淺談被加殼ELF檔案的DUMP修復2020-08-19
- HTMLZip脫殼後的Import Table的修復 (750字)2001-02-10HTMLImport
- 手動脫ASProtect 的殼-Synchromagic
v3.5 build 5572003-08-03UI
- 關於用ASProtect v1.3加殼軟體的脫殼方法體會 (5千字)2001-11-21
- 破解用ASProtect v1.2x加殼後程式使用限制的通用方法
(15千字)2002-04-27
- MySQL Manager 2.8.0.1脫殼破解手記破解分析2004-11-03MySql
- Thebat!139脫殼詳情及對Asprotect加殼保護的一點小結
(4千字)2000-03-27BAT
- 對Asprotect脫殼的一點總結
(20千字)2000-08-12
- 用Armadillo標準加殼的程式的脫殼和引入表修復方案---OLLYDBG (8千字)2015-11-15
- 幻影 V2.33 脫殼+修復――dbpe.exe主程式2015-11-15
- 偽 SVK Protector 1.32 脫殼+修復――SVK Protector
DEMO 1.32 主程式2015-11-15
- 殼的工作原理脫殼2013-04-10