版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、黑鷹基地破解提高班脫殼總結(jié)課1、 自校驗(yàn)bpx CreateFileAbpx GetFileSizebpx SetFilePointerbpx ExitProcessbpx rtcFileLen方法:開(kāi)雙 OD ,一個(gè)打開(kāi)加殼程序,一個(gè)打開(kāi)脫殼修復(fù)后的程序,比較進(jìn)行。2、 脫殼2.1 Armadillo1.Debug-Blocker(阻止調(diào)試器 2.CopyMem-|(雙進(jìn)程 3.Enable Import Table Elimination (輸入表亂序 4.Enable Strategic Code Splicing(遠(yuǎn)地址跳 修改 VirtualAlloc 返回地址 , 使其把挪移的代碼
2、放到無(wú)用的殼區(qū)段; Dump后補(bǔ)上那個(gè)包含挪移代碼的殼申請(qǐng)的內(nèi)存段;5.Enable Nanomites Processing (通常所謂的 CC6.Enable Memory-Patching Protections(內(nèi)存校驗(yàn) 使用到得輔助工具:Armlnline 0.96 FinalArmadillo Find Protected 1.3需要記錄的1、 程序入口頭兩個(gè)字節(jié)2、 OEP 入口頭兩個(gè)字節(jié)3、 Chlid PID4、 OEP Address5、 IAT Table總步驟分為1、 Go to OEP2、 Get TAT Table3、 Copy IAT4、 Paste IAT5、
3、Fix Import Table Elimination / Code Splicing6、 Dump7、 Fix Dump8、 Fix Nanomites ProcessingXP SP1 上基本上是 GetModuleHandleA+5 , XP SP2 是 GetModuleHandleA+9 ,目的只有一個(gè) 就是斷在 GetModuleHandleA 處的第一個(gè) je 跳轉(zhuǎn)上2.2、 ACProtect不使用 ImportREC 脫殼一總的來(lái)說(shuō)歸納為:兩斷點(diǎn),五修改,兩記錄,兩糾正在 .idata/.data段下內(nèi)存寫(xiě)入斷點(diǎn),到達(dá) and dword ptr ds:esi+C,0處開(kāi)始
4、進(jìn)行五修改,同 時(shí)記錄好輸入表的 RV A ,在 .text 段下內(nèi)存訪問(wèn) /F2斷點(diǎn),到達(dá) OEP (有 Stolen Code另算 , 記錄好 OEP 地址,最后 LoadPE 脫殼,糾正 OEP ,糾正 Import Table2.3、 ASProtect1. Emulate standard system functions (易 2. Advanced Import protection (中 3. Stonlen OEP (脫 Asprotect 難點(diǎn)就在這,體力 +毅力 +技巧 +時(shí)間 4. SDK (脫 Asprotect 難點(diǎn)就在這,體力 +毅力 +技巧 +時(shí)間 5. 初始化
5、表與庫(kù)函數(shù) (Delphi 程序 (易手動(dòng)甚為麻煩我們借助腳本來(lái)完成前面 2步需要注意的是:1. 腳本運(yùn)行完成后,如果在 KERNEL32函數(shù)范圍內(nèi)有個(gè)別分散的函數(shù)沒(méi)有修復(fù) -GetProcAddress2. 如果不在 KERNEL32函數(shù)范圍內(nèi)并且集中有 2個(gè)以上包括 2個(gè)集中函數(shù)沒(méi)有修 復(fù),那就是需要修復(fù) SDK 。總的步驟:1. 利用腳本處理 IAT ,到達(dá) Stolen OEP Start2. 脫殼修復(fù)抓取3. 分析 Stolen 區(qū)段(Stolen Code10、 VM2、 Route Check14. 補(bǔ)區(qū)段5. 修復(fù) Route Check6. 部分程序還有自校驗(yàn)(如果不能運(yùn)行的
6、話7. 若軟件使用的是 ASP 注冊(cè)機(jī)制,則 Patch 注冊(cè)名2.4、 DLL 脫殼方法步驟和 EXE 脫殼基本無(wú)異,唯一不同的是需要處理重定位1、 重定位基址一般情況下,都會(huì)有一個(gè)處理重定位基址的 Magic Jump,處理了 Magic Jump之后, 后面就不需要我們手動(dòng)糾正基址了, 如果沒(méi)有處理 Magic Jump, 那么就需要手動(dòng)糾正 基址為到達(dá) OEP 后 DLL 當(dāng)前的基址。另外,關(guān)于 DLL 脫殼的重定位基址的 Magic Jump怎么去找?一是通過(guò)前人經(jīng)驗(yàn)積累,二是自己重新探索!2、 重定位基址Exp:UPXCtrl+S:xchg ah,alrol eax,10xchg
7、ah,al二add eax,esiExp:ASPackCtrl+Ssub ecx,8shr ecx,1Exp:ArmadilloBp GetTickCountCtrl+S:Push eaxXchg cx,cxPop eaxStr3、 快速修復(fù) DLL 的重定位表基本可以概括為:一運(yùn)行,一關(guān)閉,一單步, Dump&Fix,利用 PETools 的重定位修 復(fù)插件修復(fù)2.5、 E 語(yǔ)言的問(wèn)題目前 E 語(yǔ)言分兩個(gè)版本,第一版 PEID 查殼是 E language *(現(xiàn)在比較少了 ,第二版 PEID 查殼是 Microsoft Visual C+ 6.0 overlay。 問(wèn)題就在第二版上
8、, 由于入口特征基本和 VC+6.0一摸一樣,所以, PEID 才會(huì)以為他是 Microsrft Visual C+ 6.0overlay。通常有兩種方法判 別:1、 搜索字符串, E 語(yǔ)言程序會(huì)用到兩個(gè)庫(kù)(krnln.fnr , krnln.fne 2、 OEP 一般是 3831所以,加了殼的 E 語(yǔ)言程序,脫殼后是需要處理附加數(shù)據(jù)的。2.6、關(guān)于 UPX+Armadillo雙層殼由于加殼壓縮需要顧及到兼容性問(wèn)題,稍有設(shè)置不好,加殼程序無(wú)法運(yùn)行!在壓縮殼里面 UPX 殼的兼容性是最好之一,所以,一般雙層殼里面的那一層有很多是 使用 UPX 。關(guān)于 UPX+Armadillo, 第一步, 我們
9、依然通過(guò) Armadillo 常規(guī)方法處理 Magic Jump, 輸入表處理好之后,一般有 2種方法到達(dá) OEP 。1、 通過(guò) Armadillo 常規(guī)到達(dá) OEP 的方法到達(dá) OEP ,當(dāng)然這個(gè) OEP 只是里面一層 UPX 的入口,接下來(lái)就用 ESP 定律2、 忽悠區(qū)段法,直接在 UPX0(第 2區(qū)段 -00401000 下斷,運(yùn)行即可,就會(huì)停 在 OEP 附近(此時(shí)是在 UPX0區(qū)段,或者單步走,或者找 popad->F4經(jīng)驗(yàn):1、 在處理 Magic Jump的時(shí)候,這一類 Armadillo, 基本是 GetModuleHandleA 中斷一次 便是返回時(shí)機(jī)2、 最后修復(fù)的時(shí)
10、候, IAT 一定是全部有效 (在 RV A 和 SIZE 準(zhǔn)確的前提下 , 為什么? (課后思考2.7、一些其他的相關(guān)經(jīng)驗(yàn)三Bp VirtualAllocBp VirtualProtectBp VirtualFree手動(dòng)修改 PE 頭手動(dòng)修改入口(一般稱為入口加花手動(dòng)修改區(qū)段值VFP 程序的專用加殼軟件mov dword ptr fs:0,espint3noppop dword ptr fs:0add esp 4PEID 顯示:ASPack 2.x(without poly->Alexey Solodovrrkov一般 OD 載入后,會(huì)提示“錯(cuò)誤的或者未知的 32位執(zhí)行程序” ,然后,就中斷在系統(tǒng) ntdll 模塊的 retn 上,呈現(xiàn)出退出狀。解決方法:1、 換用英文 OD (不是所有的英文 OD 都可以2、 事先使用 UPack_Fixer修復(fù) PE 頭 (不是所有的在加殼狀態(tài)下可以修復(fù)的 在包含欄內(nèi),無(wú)注釋的那一個(gè)區(qū)段 F2, Shift+F9中斷后, Ctrl+B:0A F6 89 54,修改下 面的 je 為 Jmp(Magic Jump, IAT 即可全部有效。否則,事后需要打開(kāi)加殼軟件,使用等級(jí) 3和插件修復(fù)。需要使用到以下資源工具ExeScope,PE Exporer,Reshacker, Restorator XN Reso
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年月招商引資工作計(jì)劃范文
- 初中七年級(jí)班主任計(jì)劃
- 高一數(shù)學(xué)函數(shù)應(yīng)用教學(xué)計(jì)劃模板
- 2025醫(yī)院護(hù)士長(zhǎng)下半年工作計(jì)劃
- 石幢社區(qū)二〇一一年退管工作計(jì)劃
- 企業(yè)文化工作計(jì)劃
- 2025秋季農(nóng)村小學(xué)德育工作計(jì)劃
- 六年級(jí)教師教學(xué)計(jì)劃
- 有關(guān)心理健康教育工作計(jì)劃范文
- 《行政立法行為》課件
- 期末試卷-2024-2025學(xué)年語(yǔ)文四年級(jí)上冊(cè)統(tǒng)編版
- 期末測(cè)評(píng)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 制冷設(shè)備拆除方案
- 九年級(jí)物理下冊(cè) 第十五章 電功和電熱 二 電功率教案 (新版)蘇科版
- 10以內(nèi)連加減口算練習(xí)題完整版274
- 小學(xué)體育教案《50米快速跑(途中跑)》
- 第六單元測(cè)試卷(單元卷)-2024-2025學(xué)年六年級(jí)上冊(cè)統(tǒng)編版語(yǔ)文
- 公路工程設(shè)計(jì)規(guī)范
- 2024年人教版小學(xué)四年級(jí)英語(yǔ)(上冊(cè))期末試卷附答案
- 第9課《創(chuàng)新增才干》第2框《積極投身創(chuàng)新實(shí)踐》【中職專用】中職思想政治《哲學(xué)與人生》(高教版2023基礎(chǔ)模塊)
- 食品經(jīng)營(yíng)安全管理制度目錄
評(píng)論
0/150
提交評(píng)論