自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

菜鳥脫殼之脫殼的基礎(chǔ)知識:DUMP的原理

安全 數(shù)據(jù)安全
當(dāng)外殼的執(zhí)行完畢后,會跳到原來的程序的入口點,即Entry Point,也可以稱作OEP!當(dāng)一般加密強度不是很大的殼,會在殼的末尾有一個大的跨段,跳向OEP,類似一個殼與程序入口點的“分界線!當(dāng)我們到達了程序的OEP,我們就需要進行DUMP程序了,那么什么時候去DUMP一個程序呢?

當(dāng)外殼的執(zhí)行完畢后,會跳到原來的程序的入口點,即Entry Point,也可以稱作OEP!當(dāng)一般加密強度不是很大的殼,會在殼的末尾有一個大的跨段,跳向OEP,類似一個殼與程序入口點的“分界線!當(dāng)我們到達了程序的OEP,我們就需要進行DUMP程序了,那么什么時候去DUMP一個程序呢?這里我引用了fly的一句話!

“手動脫殼理想的最佳dump時機是指殼已經(jīng)把程序代碼包括資源等數(shù)據(jù)全部解密、輸入表等數(shù)據(jù)還原但還未填充系統(tǒng)函數(shù)地址、DLL則還未重定位,此時dump出來的文件只需修正OEP、ImportTableRVA等信息即可正常運行完成脫殼。”

并不是所有的程序都要到達OEP才能進行脫殼的,只要把壓縮的全部的代碼數(shù)據(jù)釋放到內(nèi)存中,初始化一些必需的項目,我們就可以選擇合適的DUMP點了!

那么何為DUMP呢?DUMP用中文翻譯過來,就是轉(zhuǎn)存,也就是抓取內(nèi)存鏡像,就是把內(nèi)存指定地址的映像文件讀取出來,然后用文件等形式保存下來!

我們比較常用的DUMP軟件有LordPE、PETools等工具。這些工具基本都是利用Module32Next來獲取將要唄Dump進程的信息,我們打開MSDN來查看下這個函數(shù)的原型:

BOOL WINAPI Module32Next(   HANDLE hSnapshot,    LPMODULEENTRY32 lpme  );

我們再來看看他的參數(shù):

Parameters

hSnapshot

Handle to the snapshot returned from a previous call to the CreateToolhelp32Snapshot function.  //由前面的CreateToolhelp32Snapshot 函數(shù)返回的快照

lpme

Pointer to a MODULEENTRY32 structure.  //是指向MODULEENTRY32 的指針

我們再在MSDN上面看看MODULEENTRY32的結(jié)構(gòu)是什么樣子的:

typedef struct tagMODULEENTRY32 {

DWORD   dwSize;                            // 這個結(jié)構(gòu)的大小

DWORD   th32ModuleID;

DWORD   th32ProcessID;         //  進程的標(biāo)識符

DWORD   GlblcntUsage;

DWORD   ProccntUsage;

BYTE  * modBaseAddr;       // 進程的映像基址

DWORD   modBaseSize;       //   進程的影響大小

HMODULE hModule;       //   進程的句柄

char    szModule[MAX_MODULE_NAME32 + 1];

char    szExePath[MAX_PATH];  } MODULEENTRY32;

typedef MODULEENTRY32 *  PMODULEENTRY32;  typedef MODULEENTRY32 *  LPMODULEENTRY32;

LordPE就是利用這個結(jié)構(gòu)中的modBaseSize和modBaseAddr 得到進程的映像大小和基址,然后調(diào)用ReadProcessMemory來讀取進程內(nèi)所保存的數(shù)據(jù),LordPE不用進程的文件頭,直接讀取原始的文件的文件頭來用,讀取內(nèi)存數(shù)據(jù)后,再把進程中的數(shù)據(jù)保存到硬盤文件里。

OllyDbg的一個插件OllyDump,也支持DUMP功能,使用起來也比較簡單方便,但是不方便DUMP取DLL文件的鏡像!

責(zé)任編輯:藍雨淚 來源: 紅黑聯(lián)盟
相關(guān)推薦

2012-12-03 11:59:31

2012-12-03 13:30:19

脫殼OEP

2018-10-25 15:13:23

APP脫殼工具

2015-09-09 09:38:40

脫殼手工脫殼軟件逆向

2017-05-24 22:11:46

脫殼工具PIN安全工具

2021-04-01 10:40:22

網(wǎng)絡(luò)安全軟件

2016-11-14 19:15:37

Android

2023-07-04 07:31:06

MapReduce數(shù)據(jù)處理編程模型

2011-07-14 23:34:56

SEO

2021-11-05 15:31:01

UbuntuLinux

2011-07-29 11:32:16

路由PIM

2011-05-20 13:52:31

2013-03-27 15:56:05

Android開發(fā)Andriod繪圖

2011-11-04 17:26:12

2021-08-18 16:09:39

NestJS

2015-10-10 16:31:58

2009-12-11 10:38:22

策略路由原理

2023-07-14 15:10:17

PythonAsyncIO庫

2010-04-15 13:19:29

Oracle架構(gòu)

2022-08-08 11:53:02

區(qū)塊鏈CIO
點贊
收藏

51CTO技術(shù)棧公眾號