tElock XXX 之forgot、heXer修改版脫殼
看雪資料發表於2004-07-04
下載頁面: http://bbs.pediy.com/showthread.php?s=&threadid=2440
或 點選此處本地下載。
軟體大小: 65 KB
【軟體簡介】:forgot、heXer的tElock修改版
【作者宣告】:只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!
【除錯環境】:WinXP、Ollydbg1.10、PEiD、LordPE、ImportREC
―――――――――――――――――――――――――――――――――
【脫殼過程】:
昨天黃昏,有人自4樓墜落,剎那間殞命。
成功、失敗、喜悅、悲傷、愛情、事業……人世間的一切都與他無關了。
不說了,窗外夏雨正濃,脫個殼吧。
―――――――――――――――――――――――――――――――――
一、消除ZwSetInformationThread反跟蹤
設定Ollydbg忽略除了“INT3中斷”之外的所有其它異常選項。老規矩:用IsDebug 1.4外掛去掉Ollydbg的偵錯程式標誌。
注意:不要在程式中下INT3普通斷點,可以下硬體斷點,否則forgot會讓你ReBoot。
程式碼:
00430862 E9 99D7FFFF jmp xxx.0042E000//進入OD後停在這
Shift+F9執行,程式中斷在異常處
程式碼:
0042E0E1 CC int3//第1次異常 0042EC81 CC int3//第1次異常
現在可以忽略所有的異常選項了。Ctrl+S 搜尋命令序列:
程式碼:
push 0 push 0 push 11 push eax
找到在0042F7EE處
程式碼:
0042F7DE 8BBD A7204000 mov edi,dword ptr ss:[ebp+4020A7] 0042F7E4 85FF test edi,edi 0042F7E6 74 0F je short xxx.0042F7F7//改為:JMP 0042F7F7 ★ 0042F7E8 FF95 191F4000 call dword ptr ss:[ebp+401F19] 0042F7EE 6A 00 push 0//找到這裡 0042F7F0 6A 00 push 0 0042F7F2 6A 11 push 11 0042F7F4 50 push eax 0042F7F5 FFD7 call edi//ZwSetInformationThread
當然,你可以先BP ZwSetInformationThread ,得知這個Anti的地址啦。
―――――――――――――――――――――――――――――――――
二、消除自校驗
Ctrl+S 搜尋命令序列:
程式碼:
push 30 push ebx
找到在0042FDEF處。我們在其上面的0042FDD7的跳轉處下個 硬體執行斷點。
程式碼:
0042FDCF FF95 7F154000 call dword ptr ss:[ebp+40157F] 0042FDD5 85C0 test eax,eax 0042FDD7 0F85 D7000000 jnz xxx.0042FEB4//改為JMP ★ 0042FDDD 8B95 4C394000 mov edx,dword ptr ss:[ebp+40394C] 0042FDE3 0195 14394000 add dword ptr ss:[ebp+403914],edx 0042FDE9 0195 20394000 add dword ptr ss:[ebp+403920],edx 0042FDEF 6A 30 push 30//找到這裡 0042FDF1 53 push ebx 0042FDF2 FFB5 20394000 push dword ptr ss:[ebp+403920] 0042FDF8 E8 FDF7FFFF call xxx.0042F5FA 0042FDFD EB 58 jmp short xxx.0042FE57
這裡的自校驗方式和tElock是一樣的。
―――――――――――――――――――――――――――――――――
三、Magic Jump:避開輸入表加密
Shift+F9執行,會有幾個000006EF異常,繼續Shift+F9,直至Ollydbg中斷在0042FDD7的 硬體執行斷點 處。
下面就是處理IAT的地方啦。
程式碼:
0042FEB4 8985 34394000 mov dword ptr ss:[ebp+403934],eax 0042FEBA 8D85 7C304000 lea eax,dword ptr ss:[ebp+40307C]
可以看出只加密下面4個DLL的函式:
程式碼:
0043007C 47 44 49 33 32 2E 44 4C 4C 55 53 45 52 33 32 2E GDI32.DLLUSER32. 0043008C 44 4C 4C 53 48 45 4C 4C 33 32 2E 44 4C 4C 4B 45 DLLSHELL32.DLLKE 0043009C 52 4E 45 4C 33 32 2E 44 4C 4C RNEL32.DLL
程式碼:
0042FEC0 60 pushad 0042FEC1 33C9 xor ecx,ecx 0042FEC3 2AF6 sub dh,dh 0042FEC5 8A13 mov dl,byte ptr ds:[ebx] 0042FEC7 F6C2 40 test dl,40 0042FECA 74 03 je short xxx.0042FECF 0042FECC 80E2 5F and dl,5F 0042FECF 0AD2 or dl,dl 0042FED1 74 1E je short xxx.0042FEF1 0042FED3 43 inc ebx 0042FED4 FEC6 inc dh 0042FED6 41 inc ecx 0042FED7 3A5408 FF cmp dl,byte ptr ds:[eax+ecx-1] 0042FEDB 74 E8 je short xxx.0042FEC5 0042FEDD 3A5408 08 cmp dl,byte ptr ds:[eax+ecx+8] 0042FEE1 74 E2 je short xxx.0042FEC5 0042FEE3 3A5408 12 cmp dl,byte ptr ds:[eax+ecx+12] 0042FEE7 74 DC je short xxx.0042FEC5 0042FEE9 3A5408 1D cmp dl,byte ptr ds:[eax+ecx+1D] 0042FEED 74 D6 je short xxx.0042FEC5 0042FEEF EB D0 jmp short xxx.0042FEC1 0042FEF1 0AF6 or dh,dh 0042FEF3 895424 1C mov dword ptr ss:[esp+1C],edx 0042FEF7 61 popad 0042FEF8 C685 E1314000 00 mov byte ptr ss:[ebp+4031E1],0 0042FEFF 74 24 je short xxx.0042FF25//Magic Jump!改為JMP ★ 0043005D 81E3 FFFFFF7F and ebx,7FFFFFFF 00430063 53 push ebx 00430064 FFB5 34394000 push dword ptr ss:[ebp+403934] 0043006A FF95 7B154000 call dword ptr ss:[ebp+40157B]; kernel32.GetProcAddress 00430161 3107 xor dword ptr ds:[edi],eax//地址寫入 00430163 58 pop eax 00430164 48 dec eax 00430165 74 09 je short xxx.00430170 00430167 40 inc eax 00430168 F8 clc 00430169 8803 mov byte ptr ds:[ebx],al 0043016B 43 inc ebx 0043016C 3803 cmp byte ptr ds:[ebx],al 0043016E 75 F9 jnz short xxx.00430169 00430170 8385 38394000 04 add dword ptr ss:[ebp+403938],4 00430177 E9 B9FDFFFF jmp xxx.0042FF35 0043017C 83C6 14 add esi,14 0043017F 8B95 4C394000 mov edx,dword ptr ss:[ebp+40394C] 00430185 E9 13FCFFFF jmp xxx.0042FD9D//迴圈
―――――――――――――――――――――――――――――――――
四、第2區段記憶體訪問斷點大法:直達OEP
取消以前的所有斷點,包括硬體斷點。
Alt+M開啟記憶體映象視窗,在401000第2個區段處下記憶體訪問斷點,Shift+F9執行,直達OEP!
程式碼:
00404C8F E9 90000000 jmp xxx.00404D24//在這兒用LordPE糾正ImageSize後完全DUMP這個程式 00404D24 60 pushad 00404D25 68 20F54000 push xxx.0040F520 ; ASCII "tElockv098" 00404D2A 6A 00 push 0 00404D2C 6A 00 push 0 00404D2E E8 55750000 call xxx.0040C288 ; jmp to kernel32.CreateMutexA 00404D33 E8 80750000 call xxx.0040C2B8 ; jmp to ntdll.RtlGetLastWin32Error 00404D38 3D B7000000 cmp eax,0B7 00404D3D 75 18 jnz short 00404D57//改為JMP就可以同時開幾個tElock了 00404D3F 6A 00 push 0 00404D41 68 2BF54000 push xxx.0040F52B ; ASCII "Reminder" 00404D46 68 34F54000 push xxx.0040F534 ; ASCII "Another instance of tElock is already running!" 00404D4B 6A 00 push 0 00404D4D E8 86760000 call xxx.0040C3D8 ; jmp to user32.MessageBoxA
執行ImportREC,選擇這個程式。把OEP改為00004C8F,點“IAT AutoSearch”,點“Get Import”,FixDump,正常執行!
―――――――――――――――――――――――――――――――――
程式碼:
, _/ /| _.-~/ \_ , 青春都一晌 ( /~ / \~-._ |\ `\\ _/ \ ~\ ) 忍把浮名 _-~~~-.) )__/;;,. \_ //' /'_,\ --~ \ ~~~- ,;;\___( (.-~~~-. 換了破解輕狂 `~ _( ,_..--\ ( ,;'' / ~-- /._`\ /~~//' /' `~\ ) /--.._, )_ `~ " `~" " `" /~'`\ `\\~~\ " " "~' ""
Cracked By 巢水工作坊――fly [OCN][FCG][NUKE][DCM]
2004-07-04 20:00
相關文章
- [原創]heXer老兄的telock0.98脫殼機原理2004-06-16
- telock脫殼總結 (12千字)2001-09-27
- telock 0.85f的一點脫殼經驗 (770字)2001-09-03
- iOS逆向學習之五(加殼?脫殼?)2019-10-10iOS
- 十、iOS逆向之《越獄砸殼/ipa脫殼》2021-03-18iOS
- tElock+ASProtect脫殼+解除自校驗――小李加密 V7.0
Build 01102015-11-15加密UI
- 殼的工作原理脫殼2013-04-10
- 部份軟體的脫殼(Upx 0.72-1.0x,PC Guard,Telock,PECompact)
(4千字)2001-02-02
- 壹次脫殼法――Armadillo 雙程式標準殼 快速脫殼2015-11-15
- VBExplorer.exe脫殼教程
附脫殼指令碼2015-11-15指令碼
- ExeStealth 常用脫殼方法 + ExeStealth V2.72主程式脫殼2015-11-15
- tElock 0.9x-1.0x (private) 反Ollydbg分析和脫殼――BadCopyProV3_71_0727
KeyGen2015-11-15
- nSpack
v1.3 脫殼之OM指令碼2015-11-15指令碼
- 以殼解殼--SourceRescuer脫殼手記破解分析2004-11-16
- 脫殼基本知識2015-11-15
- SoftDefender主程式脫殼2015-11-15
- International CueClub主程式脫殼(Softwrap殼)2004-09-12
- 脫殼----對用pecompact加殼的程式進行手動脫殼
(1千字)2000-07-30
- 先分析,再脫殼(一)2003-09-04
- IconEdit2
脫殼2002-03-28
- 某IOT蠕蟲病毒分析之UPX脫殼實戰2018-04-11
- APK加固之靜態脫殼機編寫入門2015-10-30APK
- 找TELock加殼的Import Table的方法 (6千字)2001-09-29Import
- C32Asm外殼脫殼分析筆記2015-11-15ASM筆記
- “愛加密” 動態脫殼法2014-11-21加密
- 360加固保動態脫殼2014-11-17
- EasyBoot5.03脫殼+暴破2004-11-17boot
- Armadillo 3.6主程式脫殼2015-11-15
- 老王舊殼之INT3異常、過期限制和資料附加脫殼分析2004-11-17
- 脫殼----對用Petite2.2加殼的程式進行手動脫殼的一點分析
(5千字)2000-07-27
- Asprotect1.23 Rc4 之SynchroMagic脫殼修復+破解2015-11-15
- 教你如何寫UPX脫殼指令碼2019-05-11指令碼
- ☆Steel
Box☆脫殼――taos的New Protection2004-12-13
- 寫給新手
- 淺談脫殼方法2004-12-18
- EmbedPE
1.13 詳細分析和脫殼2005-01-03
- [翻譯]利用程式碼注入脫殼2015-11-15
- 脫殼後軟體減肥大法2015-11-15
- 一次簡單的脫殼2024-08-30