行客 发表于 2019-1-28 22:14:18

PE的空白区域添加代码

本帖最后由 行客 于 2019-1-29 18:28 编辑

同时实现了以下函数;并实现了向第一个节空白区添加代码。

刚刚调测通过。

/**
* 将文件读取到缓冲区
* @paramlpszFile    要读取的文件路径
* @parampFileBuffer FileBuffer指针
* @return             读取失败返回0,否则返回实际读取的大小
*/
DWORD ReadPEFile(IN LPSTR lpszFile, OUT LPVOID* pFileBuffer);

/**
* 将文件从FileBuffer复制到ImageBuffer
* @parampFileBufferFileBuffer指针
* @parampImageBuffer ImageBuffer指针
* @return            读取失败返回0,否则返回复制的大小
*/
DWORD CopyFileBufferToImageBuffer(IN LPVOID pFileBuffer, OUT LPVOID* pImageBuffer);

/**
* 将内存中的数据复制到文件
* @parampMemBuffer MemBuffer指针
* @paramsize       要复制的大小
* @paramlpszFile   要储存的文件路径
* @return            读取失败返回0,否则返回复制的大小
*/
DWORD MemeryToFile(IN LPVOID pMemBuffer, IN size_t size, LPSTR lpszFile);

/**
* 将文件从FileBuffer复制到ImageBuffer
* @parampFileBufferFileBuffer指针
* @parampImageBuffer ImageBuffer指针
* @return            读取失败返回0,否则返回复制的大小
*/
DWORD CopyFileBufferToImageBuffer(IN LPVOID pFileBuffer, OUT LPVOID* pImageBuffer);

/**
* 将内存中的数据复制到文件
* @parampMemBuffer MemBuffer指针
* @paramsize       要复制的大小
* @paramlpszFile   要储存的文件路径
* @return            读取失败返回0,否则返回复制的大小
*/
DWORD MemeryToFile(IN LPVOID pMemBuffer, IN size_t size, LPSTR lpszFile);

/**
* 往第一个节空白区添加代码
*/
VOID TestAddCodeInCodeSec();

/* ========================================================= */

**** Hidden Message *****

jackz007 发表于 2019-1-28 22:22:26

    学习一下

行客 发表于 2019-1-28 22:31:21

jackz007 发表于 2019-1-28 22:22
学习一下

这个对于理解PE文件结构还是有帮助的

pansy_nine 发表于 2019-2-22 16:49:52

mark学习

qwera 发表于 2021-6-30 17:03:12

学习一下
页: [1]
查看完整版本: PE的空白区域添加代码