-
-
[原创]向PE文件中添加ShellCode
-
发表于:
2018-5-17 18:11
8339
-
最烦打代码了,但是貌似代码是最高效的方式……
之前手动往PE文件中注入代码添加ShellCode,最近手动往PE文件中注入代码,貌似就是捆绑吧………………
工具:一个想添加ShellCode的程序,VS2013
步骤为VS中的注释
-/******************************************************************************************/
//步骤分为五个 */
//1,将文件读取到缓冲区,用pFileBuffer接收吗,构造ShellCode(); */
//2,根据对齐的情况来,将接收的FileBuffer 手动转换为ImageBuffer; */
//3,向已经转换完成的ImageBuffer的代码空白区; */
//4,补充完ShellCode; */
//5,更改OEP; */
/*******************************************************************************************/
ps:貌似PE文件的类型在这两个头文件中
#include <atlbase.h>
#include <atlstr.h>
这里我用的程序是win自带的notepad;
首先将文件读入缓冲区;
这个是单独的函数路径是在头文件中定义的,将文件读到内存中之后用FileBuffer接收。返回的文件的长度,注意的地方是要把在本函数中使用的空间最后变为NULL;这个时候的数据是按文件对齐排列在内存中的,需要把文件对齐拉伸为内存对齐。
第二个函数为FileBufferToImageBuffer;文件对齐转换为内存对齐,起始位置的地址从0转换为ImageBase;
转换时需要先复制头信息,节表信息,PE文件头部没有对齐 只是起始位置改变。当复制节表表示的内容时需要每个节每个节填充;
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!