上一页 1 2 3 4 5 6 7 8 ··· 17 下一页
摘要: 一、流程 1、打开文件 2、将文件读取到缓冲区(File-> FileBuffer) 3、将文件拉伸(FileBuffer->ImageBuffer) 4、修改SizeOfImage的大小(你要扩大多少,需要内存对齐) 5、申请一块SizeOfImage大小的内存(pNewImageBuffer) 阅读全文
posted @ 2021-12-08 15:54 lnterpreter 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 一、入口函数 File → Win32 Application → A simple Win32 application. 二、打印 在win32中没有控制台,所以需要输出需要手动添加一个头文件 Tools.h void __cdecl OutputDebugStringF(const char * 阅读全文
posted @ 2021-12-07 23:42 lnterpreter 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 一、ASCII表 1、ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。 2、标准 ASCII 码使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号,以及在美式英语中使用的特殊控制字符。 3、扩展 ASCII 码允许将每个字符的第 阅读全文
posted @ 2021-12-07 21:44 lnterpreter 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一、创建动态链接库 File → new → Win32 Dynamic-Link Library → A simple DLL project → New Class 二、写函数 int Plus(int x,int y) { return x+y; } int Sub(int x,int y) 阅读全文
posted @ 2021-12-07 17:35 lnterpreter 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 一、流程 1、打开文件 2、将文件读取到缓冲区 3、判断空闲区是否有足够的空间存储一个新节 4、将NT头到节表往上提 5、新增一个节表 6、修改节表名 7、修改内存中的偏移地址 8、修改新增的节在文件中对齐的大小 9、修改新增节的真实大小 10、修改新增节在文件中的偏移 11、修改新增节属性(可执行 阅读全文
posted @ 2021-12-07 15:07 lnterpreter 阅读(91) 评论(0) 推荐(1) 编辑
摘要: 一、节表 #define IMAGE_SIZEOF_SHORT_NAME 8 typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; //ASCII字符串 可自定义 只截取8个 可以8个字节都是名字 uni 阅读全文
posted @ 2021-12-07 12:58 lnterpreter 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 一、NT头 1、PE标识 2、标准PE头 3、扩展PE头 二、标准PE头 ypedef struct _IMAGE_FILE_HEADER { WORD Machine; * //可以运行在什么样的CPU上 任意:0 Intel 386以及后续:14C x64:8664 WORD NumberOfS 阅读全文
posted @ 2021-12-06 17:11 lnterpreter 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 一、什么是可执行文件 1、可执行文件(executable file)指的是可以由操作系统进行加载执行的文件。 2、可执行文件的格式: Windows平台: PE(Portable Executable)文件结构 Linux平台: ELF(Executable and Linking Format) 阅读全文
posted @ 2021-12-06 16:49 lnterpreter 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 一、打开文件 FILE *pF = fopen("c:/notepad.exe","rb"); FILE *pW = fopen("c:/notepad1.exe","wb"); 二、判断打开文件是否失败 if(!pF) { printf("打开文件失败"); return 0; } 三、获取文件大 阅读全文
posted @ 2021-12-05 23:35 lnterpreter 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 一、宽度 正常类型的宽度 点击查看代码 #include "stdafx.h" void test() { char x; short y; int z; x = 1; y = 2; z = 3; } int main(int argc, char* argv[]) { test(); getcha 阅读全文
posted @ 2021-12-05 16:13 lnterpreter 阅读(100) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 17 下一页