用Ollydbg快速手脫Krypton 0.5加殼程式――Krypton主程式 等
用Ollydbg快速手脫Krypton 0.5加殼程式――Krypton主程式 等
下載頁面: http://secrecy.ayinfo.ha.cn/soft/51.htm
軟體大小: 821K
軟體語言: 英文
軟體類別: 國外軟體 / 免費版 / 加殼軟體
執行環境: Win9x/NT/2000/XP/
軟體更新: 2003-5-22 17:37:14
軟體新增: 洋白菜
下載次數: 588
軟體評級: *****
【軟體簡介】:很不錯的一款免費加密保護工具,他的加密強度也不錯。
【作者宣告】:初學Crack,只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!
【除錯環境】:WinXP、Ollydbg1.09、PEiD、LordPE、ImportREC V1.6
―――――――――――――――――――――――――――――――――
【脫殼過程】:
Krypton 0.3和0.4 都有大俠寫過脫殼教程,卻沒有看見寫0.5的。 飛葉流楓 大俠寫過脫殼機Krykiller0.5,佩服!偶等脫殼菜鳥還是希望有手脫筆記呀。偶失敗了N次終於脫了幾個Krypton 0.5加殼的實驗程式,筆記共享。
除錯前先設定一下Ollydbg。開啟:Ollydbg――>選項――>除錯設定――>異常
把“忽略在KERNEL32中的記憶體訪問異常”、“INT3中斷”、“單步中斷” 這3個選項選上。
OK,讓偶開始“戰鬥”吧!:-)
―――――――――――――――――――――――――――――――――
一、Krypton 0.5主程式:Krypton.exe
004A4000 54 push esp
====>進入OD後斷在這!
004A4001 E8 00000000 call Krypton.004A4006
――――――――――――――――――――――――
F9執行,程式會在異常處中斷。
003A03E1 8918 mov dword ptr ds:[eax],ebx ; Krypton.00450600
====>第1次異常
003A03E3 EB 40 jmp short 003A0425
Shift+F9透過異常,2次程式執行。好了,Try Again,按1次Shift+F9,停下來。
彈出數十個對話方塊,一一確定之。
――――――――――――――――――――――――
003ACBC8 DF59 9C fistp word ptr ds:[ecx-64]
====>第2次異常在這兒! :-)
====>看看堆疊區的第二條地址是:003ACCFB(SE控制程式碼) 設斷
003ACBCB 83C1 E7 add ecx,-19
003ACBCE 9D popfd
003ACBCF FFE1 jmp ecx
――――――――――――――――――――――――
在003ACCFB處設斷後,Shift+F9執行,程式會中斷在003ACCFB
003ACCFB 64:67:A1 0000 mov eax,dword ptr fs:[0]
====>堆疊區的第二條地址 下斷點!
…… …… 省 略 …… …… 用F7走 …… ……
003ACD98 ^ 72 F0 jb short 003ACD8A
003ACD8A 64:67:8926 0000 mov dword ptr fs:[0],esp
====>這裡注意了!馬上又要有異常了!
====>在這裡看看堆疊的第2個地址是:003AE440 下斷!
003ACD90 EB 3B jmp short 003ACDCD
…… …… 省 略 …… …… 用F7走 …… ……
003ACE0C 7B F0 jpo short 003ACDFE
003ACDFE CC int3
====>注意:INT3引起異常!
====>F9,程式斷在 003AE440
――――――――――――――――――――――――
003AE440 64:67:A1 0000 mov eax,dword ptr fs:[0]
====>在003ACD8A處看到的SE控制程式碼
003AE445 8B20 mov esp,dword ptr ds:[eax]
003AE447 64:67:8F06 0000 pop dword ptr fs:[0]
003AE44D E8 00000000 call 003AE452
003AE452 5D pop ebp
003AE453 81ED 9D5D4100 sub ebp,415D9D
003AE459 8CC9 mov cx,cs
003AE45B EB 42 jmp short 003AE49F
003AE49F 51 push ecx
003AE4A0 E8 F0FFFFFF call 003AE495
003AE495 59 pop ecx ; 003AE4A5
003AE496 9C pushfd
003AE497 83C1 E7 add ecx,-19
003AE49A 9D popfd
003AE49B FFE1 jmp ecx
====>跳至 003AE48C
003AE48C 59 pop ecx
003AE48D 7A F4 jpe short 003AE483
003AE48F EB 01 jmp short 003AE492
003AE492 7B EF jpo short 003AE483
003AE483 32C9 xor cl,cl
003AE485 EB 4A jmp short 003AE4D1
003AE4D1 51 push ecx
003AE4D2 E8 F0FFFFFF call 003AE4C7
003AE4C7 59 pop ecx ; 003AE4D7
003AE4C8 9C pushfd
003AE4C9 83C1 E7 add ecx,-19
003AE4CC 9D popfd
003AE4CD FFE1 jmp ecx
====>跳至 003AE4BE
003AE4BE 59 pop ecx
003AE4BF ^ 74 ED je short 003AE4AE
003AE4AE /E3 02 jecxz short 003AE4B2
003AE4B0 |EB 05 jmp short 003AE4B7
003AE4B2 E9 5B050000 jmp 003AEA12
003AEA12 /EB 45 jmp short 003AEA59
003AEA59 ^EB F4 jmp short 003AEA4F
003AEA4F 51 push ecx
003AEA50 ^ EB F4 jmp short 003AEA46
003AEA46 59 pop ecx
003AEA47 ^ 79 EF jns short 003AEA38
003AEA38 80BD DCC44100 FF cmp byte ptr ss:[ebp+41C4DC],0FF
003AEA3F EB 42 jmp short 003AEA83
003AEA83 ^EB F4 jmp short 003AEA79
003AEA79 51 push ecx
003AEA7A ^ EB F4 jmp short 003AEA70
003AEA70 59 pop ecx
003AEA71 7A F0 jpe short 003AEA63
003AEA63 /0F84 D0000000 je 003AEB39
====>注意:如果是用Krypton 0.5加殼的程式此處不跳!則下面不遠處就會跳到OEP。但是Krypton主程式卻從此處跳下去,在下面進行了4個大迴圈,每個迴圈是11265次!可惜偶的鍵盤呀。汗水的收穫是點滴的經驗。CTR+F在“整個區段”查詢命令:xor ebp,112233 輕鬆跳出幾萬圈迴圈。
003B38DB 81F5 33221100 xor ebp,112233
====>下斷!F9執行程式被斷下!
003B38E1 EB 43 jmp short 003B3926
…… …… 省 略 …… …… 用F7走 …… ……
003B3943 ^75 F0 jnz short 003B3935
003B3935 50 push eax ;Krypton.00401000
====>EAX=00401000 這就是OEP值 :-)
003B3936 EB 3B jmp short 003B3973
003B3973 51 push ecx
003B3974 E8 F0FFFFFF call 003B3969
003B3969 59 pop ecx
003B396A 9C pushfd
003B396B 83C1 E7 add ecx,-19
003B396E 9D popfd
003B396F FFE1 jmp ecx
003B3960 59 pop ecx
003B3961 72 F5 jb short 003B3958
003B3963 EB 01 jmp short 003B3966
003B3966 73 F0 jnb short 003B3958
003B3958 C3 retn
====>飛向 光明之巔! :-) 終於跟到OEP了!
――――――――――――――――――――――――
00401000 6A 00 push 0
====>在這兒用LordPE完全DUMP這個程式 :-)
00401002 E8 962A0000 call Krypton.00403A9D
00401007 A3 B5634000 mov dword ptr ds:[4063B5],eax
0040100C 68 2C684000 push Krypton.0040682C
00401011 E8 7B2A0000 call Krypton.00403A91
00401016 E8 882A0000 call Krypton.00403AA3
――――――――――――――――――――――――
暈,無法用Import REConstructor v1.6修復輸入表!偶是沒辦法啦。但是脫殼後的程式可以執行!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
兄弟們或許看急了,看到現在滿腦子都是跳轉,比蝸牛的速度也快不了多少呀?呵呵,別急呀,偶除錯的時候記錄的程式碼是上面的N倍!:-( 現在偶就來演示 快速手脫Krypton 0.5加殼的程式 :-) 。當然,最快的脫殼方式是用 飛葉流楓 大俠的Krykiller0.5脫殼機啦。偶用Krykiller0.5試脫幾個加殼的程式正常,但是脫Krypton 0.5主程式後發現脫殼後的主程式功能不正常了。不清楚是偶操作的原因還是怎麼了。 下面開始啦! :-)
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
二、WinXP的spider.exe 蜘蛛紙牌 去你的WINDOWSsystem32目錄下找
偶實在是找不到能夠成功加Krypton殼的常用程式了,只好找幾個不常用的。只選了“K-Protect on API”加殼,否則無法執行。Krypton挺挑剔,一般 VC++和彙編寫的程式比較容易加殼成功。
――――――――――――――――――――――――
010C9000 54 push esp
====>進入OD後斷在這!
010C9001 E8 00000000 call spider.010C9006
F9執行,程式會在異常處中斷。
003003E1 8918 mov dword ptr ds:[eax],ebx
====>第1次異常
Shift+F9透過異常,2次程式執行。好了,Try Again,按1次Shift+F9,停下來。
彈出數十個對話方塊,一一確定之。
0030CBC8 DF59 9C fistp word ptr ds:[ecx-64]
====>第2次異常在這兒! :-)
0030CBCB 83C1 E7 add ecx,-19
0030CBCE 9D popfd
0030CBCF FFE1 jmp ecx
――――――――――――――――――――――――
OK,現在不需要跳來跳去的跟蹤了!CTR+F在“整個區段”查詢命令:jmp edx
0030EB08 6240 C5 bound eax,qword ptr ds:[eax-3B]
0030EB0B 2BDF sub ebx,edi
0030EB0D F9 stc
0030EB0E 1C D3 sbb al,0D3
0030EB10 41 inc ecx
0030EB11 A8 6A test al,6A
0030EB13 - FFE2 jmp edx ; spider.01008726
====>找到這裡!Very Good!F2此處下斷!
Shift+F9 跳過第2次異常,砰――程式在0030EB13處斷下!F8過去看看吧 :-)
01008726 6A 60 push 60
====>偶來到這裡!這裡就是OEP啦!:-)
====>在這兒用LordPE完全DUMP這個程式
01008728 68 60160001 push spider.01001660
0100872D E8 BE100000 call spider.010097F0
執行ImportREC,選擇這個程式。把OEP改為00008726, 點IT AutoSearch,點“Get Import”,函式無效,右鍵選“Krypton0.4-0.5外掛”追蹤,OK,全部修復!FixDump,正常執行!600K ->1.37M !太大了,用LordPE開啟區段把krypton和_!_!_!_刪除,然後再用LordPE重建PE,1.37M->522K 僅比原程式多了1K!COOL
――――――――――――――――――――――――――――――
三、WinXP的regedt32.exe 也是登錄檔編輯器 去你的WINDOWSsystem32目錄下找
01046000 54 push esp
====>進入OD後斷在這!
01046001 E8 00000000 call regedt32.01046006
F9執行,程式會在異常處中斷。
002C03E1 8918 mov dword ptr ds:[eax],ebx ; regedt32.01001200
====>第1次異常
Shift+F9透過異常,2次程式執行。好了,Try Again,按1次Shift+F9,停下來。
彈出數十個對話方塊,一一確定之。
002CCBC8 DF59 9C fistp word ptr ds:[ecx-64]
====>第2次異常在這兒! :-)
OK,閃電尋找OEP!CTR+F在“整個區段”查詢命令:jmp edx
002CEB08 6240 C5 bound eax,qword ptr ds:[eax-3B]
002CEB0B 2BDF sub ebx,edi
002CEB0D F9 stc
002CEB0E 1C D3 sbb al,0D3
002CEB10 41 inc ecx
002CEB11 A8 6A test al,6A
002CEB13 FFE2 jmp edx ; regedt32.01001088
====>找到這裡!Very Good!F2此處下斷!
Shift+F9 跳過第2次異常,砰――程式在002CEB13處斷下!F8過去看看吧 :-)
01001088 55 push ebp
====>偶來到這裡!這裡就是OEP啦!:-)
====>在這兒用LordPE完全DUMP這個程式
01001089 8BEC mov ebp,esp
0100108B 83EC 44 sub esp,44
0100108E 56 push esi
0100108F FF15 08100001 call dword ptr ds:[1001008]
修復輸入表、最佳化PE檔案 方法 同上!
―――――――――――――――――――――――――――――――――
四、Win98的Notepad 不好意思,偶的98下的記事本可以在XP下執行 :-)
00450000 54 push esp
====>進入OD後斷在這!
00450001 E8 00000000 call NOTEPAD.00450006
F9執行,程式會在異常處中斷。
004703E1 8918 mov dword ptr ds:[eax],ebx ; Notepad.00407000
====>第1個異常
Shift+F9透過異常,2次程式執行。好了,Try Again,按1次Shift+F9,停下來。
0047CBC8 DF59 9C fistp word ptr ds:[ecx-64]
====>第2次異常在這兒! :-)
OK,閃電尋找OEP!CTR+F在“整個區段”查詢命令:jmp edx
0047EB08 6240 C5 bound eax,qword ptr ds:[eax-3B]
0047EB0B 2BDF sub ebx,edi
0047EB0D F9 stc
0047EB0E 1C D3 sbb al,0D3
0047EB10 41 inc ecx
0047EB11 A8 6A test al,6A
0047EB13 - FFE2 jmp edx ; Notepad.004010CC
====>找到這裡!Very Good!F2此處下斷!
Shift+F9 跳過第2次異常,砰――程式在0047EB13處斷下!F8過去看看吧 :-)
004010CC 55 db 55
====>偶來到這裡!這裡就是OEP啦!:-)
====>在這兒用LordPE完全DUMP這個程式
修復輸入表、最佳化PE檔案 方法 同上!
――――――――――――――――――――――――――――――
【Krypton 0.5加殼程式脫殼總結】:
1、按前面的方法設定Ollydbg的“忽略異常”的選項
2、在持續執行前1次的異常處(一般是第2次)搜尋“jmp edx”命令!找到如下程式碼處:
0047EB08 6240 C5 bound eax,qword ptr ds:[eax-3B]
0047EB0B 2BDF sub ebx,edi
0047EB0D F9 stc
0047EB0E 1C D3 sbb al,0D3
0047EB10 41 inc ecx
0047EB11 A8 6A test al,6A
0047EB13 - FFE2 jmp edx //此處設斷點!
3、Shift+F9 跳過異常,程式在jmp edx處斷下
4、F8過去,就到了OEP的地方!拿出你的LordPE脫殼吧!
5、修復輸入表方法見上! 快不快? 呵呵 :-)
注:這個方法適用於用Krypton 0.5加殼的程式,Krypton主程式的脫殼方法見上。
錯誤之處歡迎大家指正!偶是脫殼菜鳥,虛心學習。
――――――――――――――――――――――――――――――
, _/
/| _.-~/ _ , 青春都一餉
( /~ / ~-._ |
`\ _/ ~ ) 忍把浮名
_-~~~-.) )__/;;,. _ //'
/'_, --~ ~~~- ,;;___( (.-~~~-. 換了破解輕狂
`~ _( ,_..-- ( ,;'' / ~-- /._`
/~~//' /' `~ ) /--.._, )_ `~
" `~" " `" /~'` `\~~
" " "~' ""
Cracked By 巢水工作坊――fly [OCN][FCG]
2003-10-04 02:40
標 題:討論
時 間:2003年10月04日 11:39
詳細資訊:
<tr>
fxyang 寫道: tr> <tr>我在OD中在OEP中直接dump下來就可以執行,不需要修復,加殼的regedt32.exe 也可以用同樣的方法。 tr>
另外Krypton 0.5的主程式我也用同樣的方法脫出來了。
嘿嘿,這樣用OD直接DUMP出來Krypton 0.5的主程式,可以執行?不會吧........主程式可是有K-LOCK的啊.在它的說明書這樣寫道:
; -------------------------------------------------------------------------
Programmer code for manual K-Execution :
; -------------------------------------------------------------------------
db 0ebh,0eh
db 'KDES'
db 00,00,00,00,00
db 00,00,00,00,00
;這裡放上你的程式碼
db 0ebh,0eh
db 'KDEE'
db 00,00,00,00,00
db 00,00,00,00,00
The KDES code indicates the beginning of the K-Execution, it means that
this part once executed will be deleted.
The KDEE code must be placed at the end of the routine which shall be
included into the K-Execution.
; -------------------------------------------------------------------------
db 0ebh,0eh
db 'KEES'
db 00,00,00,00,00
db 00,00,00,00,00
;這裡放上你的程式碼
db 0ebh,0eh
db 'KEEE'
db 00,00,00,00,00
db 00,00,00,00,00
The KEES code indicates the beginning of the K-Execution, it means that
this part of the code once executed will NOT be deleted (it can be used
more than once then).
當你在入口點DUMP的時候,程式程式碼還沒有完全解壓縮完啊!我想這樣DUMP出來的程式一定不能執行吧.就算是引入表修復了也是不能執行的.當程式執行到上面的K-EXE程式碼的時候,它會跳到殼中去再次解壓縮,所以我說要如果不是自己寫一個程式來解壓縮程式碼的話,是不可能脫殼的.
相關文章
- Krypton
0.5加殼程式脫殼及輸入表修復記2004-10-06
- 用Ollydbg手脫Petite
V2.2加殼的DLL2004-12-27
- 脫殼----對用pecompact加殼的程式進行手動脫殼
(1千字)2000-07-30
- SoftDefender主程式脫殼2015-11-15
- 用Armadillo標準加殼的程式的脫殼和引入表修復方案---OLLYDBG (8千字)2015-11-15
- 用Arm3.75加殼的cc
版+iat亂序主程式的脫殼 (1)2004-10-02
- International CueClub主程式脫殼(Softwrap殼)2004-09-12
- 脫殼----對用Petite2.2加殼的程式進行手動脫殼的一點分析
(5千字)2000-07-27
- 用OD對Aspr加殼程式的手動脫殼及修復 (7千字)2015-11-15
- Armadillo 3.6主程式脫殼2015-11-15
- 壹次脫殼法――Armadillo 雙程式標準殼 快速脫殼2015-11-15
- ExeStealth 常用脫殼方法 + ExeStealth V2.72主程式脫殼2015-11-15
- 用TRW快速手脫Armadillo V2.20加殼程式――Win98的Calc.exe、Notepad.exe等2015-11-15
- KRYPTON RECOVERS FROM A NEW TYPE OF 51% NETWORK ATTACK2018-06-24
- EncryptPE
2003.5.18 主程式脫殼2004-06-19
- Alex
Protector V1.0 脫殼――alexprot.exe 主程式2004-10-17
- XcR V0.11 脫殼――XcR.ExE 主程式2015-11-15
- DAEMON Protect 0.6.7脫殼――protect beta-last.exe主程式2015-11-15AST
- 對Crunch v1.1加殼程式的手動脫殼及反跟蹤程式碼的一點分析
(15千字)2000-10-02
- iOS逆向學習之五(加殼?脫殼?)2019-10-10iOS
- Lock98主程式脫殼筆記 (1千字)2015-11-15筆記
- PeX V0.99b脫殼――PeX.exe主程式2015-11-15
- VGCrypt PE Encryptor V0.75脫殼――Vgcrypt.exe
主程式2015-11-15GC
- 手動脫殼的教程(由petite v2.2加殼) (4千字)2001-11-26
- 用ollydbg跟蹤te!lock加殼的軟體
(2千字)2015-11-15
- 幻影 V2.33 脫殼+修復――dbpe.exe主程式2015-11-15
- 偽 SVK Protector 1.32 脫殼+修復――SVK Protector
DEMO 1.32 主程式2015-11-15
- Visual Protect V3.54 脫殼 ―― VisualProtect.exe
主程式2015-11-15
- 小甜餅 --- 有關新版Asprotect加殼程式的脫殼的又一種思路
(798字)2000-09-10
- 以殼解殼--SourceRescuer脫殼手記破解分析2004-11-16
- 用ollydbg跟蹤asproctect1.2加殼的軟體
(1千字)2015-11-15
- iOS應用程式的脫殼實現原理淺析2019-03-04iOS
- [翻譯]利用程式碼注入脫殼2015-11-15
- 對Crunch v1.1主程式檔案的脫殼方法 ---ljtt2000-11-30
- Protection Plus V4.X 脫殼――SoftwareKey V1.1 主程式2015-11-15
- 手動脫殼ASProtect 1.23beta21之Aspack2.12的主程式and暗樁分析2015-11-15
- ACProtect 1.21專業版主程式的脫殼2015-11-15
- 同益起名大師
3.29 脫殼加爆破2004-09-22