找telock加殼的importtable的方法

ID:21350405

大?。?8.00 KB

頁數:4頁

時間:2018-10-21

找telock加殼的importtable的方法_第1頁
找telock加殼的importtable的方法_第2頁
找telock加殼的importtable的方法_第3頁
找telock加殼的importtable的方法_第4頁
資源描述:

《找telock加殼的importtable的方法》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。

1、找TELock加殼的ImportTable的方法~教育資源庫  目的:在內存中將FlashFXP未被破壞的IT完整地提取出來(至于找TELock的OEP、修復的方法等,zombieys、hying、liotta已經講得很詳細了)  第一步:找到IT的位置  找IT自然要依賴于IT的結構特征。IT是個數組,數組中的每個元素是如下的一個結構(#include<inatingnullimportdescriptorDAGE_THUNK_DATA)};DAGE_DIRECTORY_ENTRY_BOUND_IMPORT(neestampofDLLboundto(Ol

2、dBIND)DAGE_IMPORT_DESCRIPTOR;  PELoader/unpacker在加載DLL時,過程大致如下:  1、先根據Name用LoadLibraryA加載一個DLL;  2、根據FirstThunk找到IMAGE_IMPORT_BY_NAME數組,用GetProcAddress取得該DLL中的相應函數的地址填入IAT。FirstThunk就是指向IAT。typedefstruct_IMAGE_IMPORT_BY_NAME{AGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME;  找IT的位置的過程和上面的過程

3、有些相反。利用調試器設bpxLoadLibraryA、bpxGetProcAddress斷點,我們能夠直接得到的條件是DLL文件名字符串及該串的內存地址、每個函數的Hint和函數名的內存地址、IAT的位置(即GetProcAddress的返回值所要寫入的位置),這樣就至少有3條途徑可以找到IT的位置,一是根據DLLName(在看雪教學中已有詳細描述),第二條途徑是根據Hint和函數名的地址,第三條則是根據IAT的位置,這3條途徑用的是同一種方法(這是找IT的一種通用方法,并不限于TELock加的殼)?! ?、用BPMBLoadLibraryAXDOd*(esp+

4、4)設斷點,看見加載oleaut32.dll:0023:00533DBC61656C6F323374756C6C642E00000000oleaut32.dll....0023:00533DCC6972615643746E61676E616870795465VariantChangeTyp0023:00533DDC00784565615600006E616972706F4374eEx...VariantCop0023:00533DEC646E4979000000006972615643746E61yInd....VariantC0023:00533DFC7261

5、656C00000000537379536E697274lear....SysStrin0023:00533E0C6E654C67000000004673795353656572gLen....SysFreeS0023:00533E1C6E69727400000067527379536C6C4165tring...SysReAll0023:00533E2C7453636F676E6972006E654C79530000ocStringLen...Sy  2、先嘗試第一條途徑。字符串oleaut32.dll的RVA為00133DBC,于是在內存中搜索這個RVA,希

6、望能夠找到存放有該RVA值的某個  IMAGE_IMPORT_DESCRIPTOR結構,也就等于是找到了IT。:scs:400000l178000bc,3d,13,00Patternnotfound  沒有找到。因為TELock已經把相應位置上的值清0了。(實際上也可以用下一個DLL的文件名來進行搜索,因為TELock此時尚未處理下一個DLL,  它不可能提前把下一個DLL的IMAGE_IMPORT_DESCRIPTOR結構清掉。)  3、再嘗試第2條途徑。注意到第一個函數VariantChangeTypeEx的Hint的地址是00533DCA,于是搜索RVA值

7、00133DCA,希望能夠找到FirstThunk  所指向的那個數組(其實該數組也就是IAT),進而再找到FirstThunk的位置。:scs:400000l178000ca,3d,13,00Patternfoundat001B:0053328C(0013328C)  找到之后看一下IAT。由于此時還未把GetProcAddress的返回值寫入IAT,所以此時IAT中存放的都是指向IMAGE_IMPORT_BY_NAME的指針(RVA)::dd53328c001B:0053328C00133DCA00133DE000133DF200133E02.=...=..

8、.=...>..0

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。
关闭