菜鳥脫殼之脫殼的基礎知識(二)——DUMP的原理當外殼的執行完畢后,會跳到原來的程序的入口點,即Entry Point,也可以稱作OEP!當一般加密強度不是很大的殼,會在殼的末尾有一個大的跨段,跳向OEP,類似一個殼與程序入口點的“分界線!當我們到達了程序的OEP,我們就需要進行DUMP程序 ...
.上節說的是單步跟蹤法,這節講的是利用堆棧平衡 ESP定律 來進行脫殼 想必大家都聽說過ESP定律這個大名吧 ESP定律運用的就是堆棧平衡原理 一般的加殼軟件在執行時,首先要初始化,保存環境 保存各個寄存器的值 ,一般利用PUSHAD 相當於把eax,ecx,edx,ebx,esp,ebp,esi,edi都壓棧 ,當加殼程序的外殼執行完畢以后,再來恢復各個寄存器的內容,通常會用POPAD 相當與把 ...
2013-07-05 00:19 0 7060 推薦指數:
菜鳥脫殼之脫殼的基礎知識(二)——DUMP的原理當外殼的執行完畢后,會跳到原來的程序的入口點,即Entry Point,也可以稱作OEP!當一般加密強度不是很大的殼,會在殼的末尾有一個大的跨段,跳向OEP,類似一個殼與程序入口點的“分界線!當我們到達了程序的OEP,我們就需要進行DUMP程序 ...
前面講了如何尋找OEP和脫殼,有的時候,Dump出來的時候不能正常運行,是因為還有一個輸入表沒有進行處理,一些加密殼會在IAT加密上面大做文章,用HOOK - API的外殼地址來代替真是的IAT的地址,讓脫殼者無法正確的還原程序的原始IAT,使得程序不能被破解,所以我們處理這些被加密IAT的地址 ...
一步直達法 所謂的一步直達法就是利用殼的特征。殼一般在執行完殼代碼之后需要跳轉到OEP處,而這個跳轉指令一般是call ,jmp ,push retn類型的指令,而且因為殼代碼所在的區段和OEP代碼所在的區段一般屬於不同的區段,所以我們可以通過搜索這些特殊指令的機器碼並查看其跳轉范圍,如果跳轉 ...
面我們就學習一下“ESP定律”,ESP定律是在脫殼中運用最廣泛的一種方法,適用於大部分程序脫殼。什么是ESP定律我們不用深究,就當作是一個名字吧。畢竟一個工具不能脫很多殼,但ESP定律卻可以脫掉大部分的殼。這次我們利用OD手動脫殼。下面我們OD載入程序。這個提示框,我們點擊“否 ...
脫殼第一講,手工脫殼ASPack2.12的殼.ESP定律 一丶什么是ESP定律 首先我們要明白什么是殼.殼的作用就是加密PE的. 而ESP定律就是殼在加密之前,肯定會保存所有寄存器環境,而出來的時候,則會恢復所有寄存器的環境. 這個就成為ESP定律.(當然我個人理解.可能有更好 ...
基本知識 加殼程序 1、殼是什么? 加殼是可執行程序資源壓縮,是保護文件的常用手段。加殼過的程序可以直接運行,但是不能查看源代碼,要經過脫殼才可以查看源代碼。 2、加殼的原理是什么?殼是怎么運作的? 加殼是利用特殊的算法,對EXE、DLL文件里的資源進行壓縮、加密。類似 ...
OEP:程序的入口點,軟件加殼就是隱藏了OEP(或者用了假的OEP), 只要我們找到程序真正的OEP,就可以立刻脫殼。 PUSHAD (壓棧) 代表程序的入口點, POPAD (出棧) 代表程序的出口點,與PUSHAD相對應,一般找到這個,OEP就在附近。 常見尋找OEP脫殼 ...
脫殼——UPX脫殼原理 脫殼步驟 1 找到OEP 2 dump(導出)內存文件 3 修復 1 找到OEP 1 程序運行先從殼代碼運行,殼代碼執行完之后會跳轉到真正的OEP,也就是是說第一步,首先要找到真正的OEP 如何找到OEP 大部分情況下,殼代碼 ...