Armadillo殼時間問題的解決And脫殼――Mr.Captor V2.8
Armadillo殼時間問題的解決And脫殼――Mr.Captor V2.8
下載頁面: http://www.skycn.com/soft/11437.html
軟體大小: 1718 KB
軟體語言: 英文
軟體類別: 國外軟體 / 共享版 / 影像捕捉
應用平臺: Win9x/NT/2000/XP
加入時間: 2004-02-15 11:01:12
下載次數: 2628
推薦等級: ****
【軟體簡介】:Mr.Captor 是一個非常好用的螢幕截圖程式!他可以幫助你把看到的任何圖片忠實的保留下來!並可以儲存為BMP, PCX, GIF, JPEG, PNG, TIFF, TGA, CUR, ICO, AVI等格式!支援自定義熱鍵!非常容易使用呀!
【作者宣告】:只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!
【除錯環境】:WinXP、Ollydbg、PEiD、LordPE、ImportREC
―――――――――――――――――――――――――――――――――
【脫殼過程】:
我的系統時間是“變幻莫測”的,呵呵,為了測試軟體的緣故經常更改系統時間。Mr.Captor V2.8 執行後提示:“Your system clock appears to have been set back,possibly in an attempt to defeat the security system on this program. Please correct your system clock before trying to run this program again. If your clock is correct, please contact the author of this program for instructions on correcting this error (report code 0,1995,1903)”。 然後程式退出拒絕執行了。
今天就來解決這個“System Clock Set Back”的問題。
Mr.Captor V2.8是Armadillo標準殼。設定Ollydbg忽略所有的異常選項。
―――――――――――――――――――――――――――――――――
一、解決“System Clock Set Back”的問題
BP CompareFileTime 斷下後取消斷點,Ctrl+F9返回程式
77E51702 8B4424 04 mov eax,dword ptr ss:[esp+4]//斷在這,Ctrl+F9返回
77E51706 8B4C24 08 mov ecx,dword ptr ss:[esp+8]
77E5170A 8B10 mov edx,dword ptr ds:[eax]
77E5170C 8B40 04 mov eax,dword ptr ds:[eax+4]
77E5170F 56 push esi
77E51710 8B31 mov esi,dword ptr ds:[ecx]
77E51712 8B49 04 mov ecx,dword ptr ds:[ecx+4]
77E51715 3BC1 cmp eax,ecx
77E51717 0F87 D4E5FFFF ja kernel32.77E4FCF1
77E5171D 73 07 jnb short kernel32.77E51726
77E5171F 83C8 FF or eax,FFFFFFFF
77E51722 5E pop esi
77E51723 C2 0800 retn 8//返回 00D55088
00D55088 85C0 test eax,eax//Ctrl+F9返回
…… …… 省 略 …… ……
00D550C7 C3 retn//返回 00D5854B
00D58546 E8 64CAFFFF call 00D54FAF
00D5854B 84C0 test al,al//返回這裡
00D5854D 59 pop ecx
00D5854E 74 43 je short 00D58593
00D58593 3BFB cmp edi,ebx
00D58595 74 08 je short 00D5859F
00D5859F 8B45 F0 mov eax,dword ptr ss:[ebp-10]
00D585A2 3BC3 cmp eax,ebx
00D585A4 74 56 je short 00D585FC//在這裡改變標誌位Z=1使其跳轉!★
00D585FC A1 3CCAD700 mov eax,dword ptr ds:[D7CA3C]
00D58601 3918 cmp dword ptr ds:[eax],ebx
00D58603 75 67 jnz short 00D5866C//在這裡改變標誌位Z=0使其跳轉!★
00D5866C 60 pushad//到這裡就OK啦 :-)
00D5866D 33C0 xor eax,eax
00D5866F 75 02 jnz short 00D58673
在00D585A4和00D58603處改變標誌位,使這2個地方跳轉就避開“System Clock Set Back”的問題了。注意:不要直接修改程式碼,程式會出錯的。也可以跟蹤修改,使程式“FixClock”,接受現在的系統時間為合法時間。至於“Expired”的問題也在下面的程式碼段處理,修改跳轉就行了。
―――――――――――――――――――――――――――――――――
二、Magic Jump,避開IAT加密
取消以前斷點,現在下斷:BP GetModuleHandleA+5 斷下後取消斷點
77E59F93 837C24 04 00 cmp dword ptr ss:[esp+4],0
77E59F98 0F84 23060000 je kernel32.77E5A5C1//斷在這
77E59F9E FF7424 04 push dword ptr ss:[esp+4]
77E59FA2 E8 55080000 call kernel32.77E5A7FC
77E59FA7 85C0 test eax,eax
77E59FA9 74 08 je short kernel32.77E59FB3
77E59FAB FF70 04 push dword ptr ds:[eax+4]
77E59FAE E8 B0060000 call kernel32.GetModuleHandleW
77E59FB3 C2 0400 retn 4//返回 00D26A5C
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
注意看BP GetModuleHandleA+5 時的堆疊:
0012BE5C 00D26A5C 返回到 00D26A5C 來自 kernel32.GetModuleHandleA
0012BE60 0012BF98 ASCII "kernel32.dll"
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
這次修改Magic Jump採用pyzpyz兄弟提出的方法,直接在這個時機返回程式
00D26A56 FF15 C4D0D400 call dword ptr ds:[D4D0C4]; kernel32.GetModuleHandleA
00D26A5C 8B0D B885D500 mov ecx,dword ptr ds:[D585B8]
00D26A62 89040E mov dword ptr ds:[esi+ecx],eax
00D26A65 A1 B885D500 mov eax,dword ptr ds:[D585B8]
00D26A6A 393C06 cmp dword ptr ds:[esi+eax],edi
00D26A6D 75 16 jnz short 00D26A85
00D26A6F 8D85 B4FEFFFF lea eax,dword ptr ss:[ebp-14C]
00D26A75 50 push eax
00D26A76 FF15 CCD0D400 call dword ptr ds:[D4D0CC]; kernel32.LoadLibraryA
00D26A7C 8B0D B885D500 mov ecx,dword ptr ds:[D585B8]
00D26A82 89040E mov dword ptr ds:[esi+ecx],eax
00D26A85 A1 B885D500 mov eax,dword ptr ds:[D585B8]
00D26A8A 393C06 cmp dword ptr ds:[esi+eax],edi
00D26A8D 0F84 AD000000 je 00D26B40//改為JMP ★
00D26A93 33C9 xor ecx,ecx
00D26A95 8B03 mov eax,dword ptr ds:[ebx]
00D26A97 3938 cmp dword ptr ds:[eax],edi
00D26A99 74 06 je short 00D26AA1
00D26A9B 41 inc ecx
00D26A9C 83C0 0C add eax,0C
00D26A9F EB F6 jmp short 00D26A97
看到上面GetModuleHandleA和LoadLibraryA了嗎?直接改00D26A8D jmp 00D26B40,此時修改程式碼很方便,不需要在IAT處理結束後再還原始碼了。 8)
―――――――――――――――――――――――――――――――――
三、401000段 記憶體斷點 大法,直達OEP
Alt+M 檢視記憶體,在401000開始的段上下 記憶體訪問斷點,F9執行,直接中斷在OEP處
0043B0FF 55 push ebp//在這兒用LordPE糾正ImageSize後完全DUMP這個程式
0043B100 8BEC mov ebp,esp
0043B102 6A FF push -1
0043B104 68 E0BC4700 push MrCaptor.0047BCE0
0043B109 68 A4A34300 push MrCaptor.0043A3A4
0043B10E 64:A1 00000000 mov eax,dword ptr fs:[0]
0043B114 50 push eax
0043B115 64:8925 00000000 mov dword ptr fs:[0],esp
0043B11C 83EC 58 sub esp,58
0043B11F 53 push ebx
0043B120 56 push esi
0043B121 57 push edi
0043B122 8965 E8 mov dword ptr ss:[ebp-18],esp
0043B125 FF15 EC034700 call dword ptr ds:[4703EC]; kernel32.GetVersion
執行ImportREC,選擇這個程式。把OEP改為0003B0FF,點IT AutoSearch,CUT掉無效函式。
我是在XP下脫殼的,若要脫殼後的程式能夠在98下正常執行,需修改以下2個函式:
1、000703B0 kernel32.dll 02AC RestoreLastError //改為:SetLastError
2、000709A0 winspool.drv 008F DEVICECAPABILITIES//CUT掉!
FixDump,正常執行!可以簡單優化一下脫殼後的程式,用LordPE刪除text1和其下的adata、data1、pdata共4個區段,注意保留rsrc區段!然後再用LordPE重建PE,提示最小到50%,1.62M->835K。呵呵,精簡了許多。
―――――――――――――――――――――――――――――――――
四、破解
00428213 FFD7 call edi; kernel32.GetEnvironmentVariableA
00428215 85C0 test eax,eax
00428217 74 0C je short dumped_.00428225//NOP掉就OK了 :-)
00428219 C783 B8020000 E7030>mov dword ptr ds:[ebx+2B8],3E7
00428223 EB 2D jmp short dumped_.00428252
這樣修改之後About裡面的Unregistered和時間提示就沒用了,已然註冊。
―――――――――――――――――――――――――――――――――
, _/
/| _.-~/ _ , 青春都一晌
( /~ / ~-._ |
`\ _/ ~ ) 忍把浮名
_-~~~-.) )__/;;,. _ //'
/'_, --~ ~~~- ,;;___( (.-~~~-. 換了破解輕狂
`~ _( ,_..-- ( ,;'' / ~-- /._`
/~~//' /' `~ ) /--.._, )_ `~
" `~" " `" /~'` `\~~
" " "~' ""
Cracked By 巢水工作坊――fly [OCN][FCG][NUKE][DCM]
2004-03-18 19:30
相關文章
- 壹次脫殼法――Armadillo 雙程式標準殼 快速脫殼2015-11-15
- Armadillo 3.6主程式脫殼2015-11-15
- Armadillo3.60
加殼的EXE檔案脫殼全過程2004-09-08
- Armadillo V3.6雙程式標準殼 ------神速脫殼大法2015-11-15
- 以殼解殼--SourceRescuer脫殼手記破解分析2004-11-16
- 殼的工作原理脫殼2013-04-10
- 關於雙程式Armadillo標準殼的脫法2015-11-15
- Armadillo 2.52加殼原理分析和改進的脫殼方法
(12千字)2015-11-15
- 實戰Armadillo V3.60標準加殼方式的脫殼――WinXP的Notepad2015-11-15
- Armadillo V3.01標準加殼方式的脫殼(第一篇)--SoundEdit
Pro2015-11-15
- Armadillo V2.xx標準加殼方式的脫殼(第二篇)--Virtual
Personality 4.02015-11-15
- 用Armadillo標準加殼的程式的脫殼和引入表修復方案---OLLYDBG (8千字)2015-11-15
- VBExplorer.exe脫殼教程
附脫殼指令碼2015-11-15指令碼
- International CueClub主程式脫殼(Softwrap殼)2004-09-12
- 脫殼----對用pecompact加殼的程式進行手動脫殼
(1千字)2000-07-30
- ExeStealth 常用脫殼方法 + ExeStealth V2.72主程式脫殼2015-11-15
- iOS逆向學習之五(加殼?脫殼?)2019-10-10iOS
- 脫殼基本知識2015-11-15
- SoftDefender主程式脫殼2015-11-15
- 十、iOS逆向之《越獄砸殼/ipa脫殼》2021-03-18iOS
- C32Asm外殼脫殼分析筆記2015-11-15ASM筆記
- 以殼解殼――ASProtect
1.23RC4殼的Stolen Code簡便解決方案2004-05-13
- [轉載]快速判斷Armadillo殼版本2004-08-24
- 脫殼----對用Petite2.2加殼的程式進行手動脫殼的一點分析
(5千字)2000-07-27
- 關於Armadillo 1.8x-2.x的anti-debug&加殼原理初步探討和脫殼方法
(12千字)2002-04-11
- 先分析,再脫殼(一)2003-09-04
- IconEdit2
脫殼2002-03-28
- ☆Steel
Box☆脫殼――taos的New Protection2004-12-13
- 一次簡單的脫殼2024-08-30
- 轉載:Petite 脫殼“標準”解決方法 (1千字)2001-02-06
- ASPROtect 1.22加殼的ahaview2.0脫殼 (5千字)2002-03-24View
- 另類Armadillo脫殼+破解――StayOn Pro V4.00
Build 2003.03.012015-11-15UI
- “愛加密” 動態脫殼法2014-11-21加密
- 360加固保動態脫殼2014-11-17
- EasyBoot5.03脫殼+暴破2004-11-17boot
- Krypton
0.5加殼程式脫殼及輸入表修復記2004-10-06
- 對PECompact加殼的DLL脫殼的一點分析 (7千字)2000-08-17
- FTPrint的脫殼(asprotect) (2千字)2001-02-05FTP