丁同亚的博客
夺朱非正色
摘要: 1.为什么有这个重定位表? 因为有些地址在编译的时候已经写死了,并不是相对imageBase的偏移,这样的话当程序加载到非imageBase的位置时,导致这些地址没法用,所以编译器搞了个重定位表,告诉加载程序那些地址是写死的,需要修改 修改的话:计算一下RVA,然后 计算出新的imageBase下的 阅读全文
posted @ 2025-03-16 18:25 丁同亚的博客 阅读(40) 评论(0) 推荐(0)
摘要: 一晚上光搞这个了................... /** 导入表注入DLL *******注意 导入的DLL中要导出对应的函数。 */ void* importTableInject(BYTE* fileBuffer,char* dallname){ //新增一个节,用来放挪动后的导入表,在挪 阅读全文
posted @ 2025-03-14 21:16 丁同亚的博客 阅读(17) 评论(0) 推荐(0)
摘要: 今天开始进入C++学习了,之前的这周末复习下 侧重与底层原理 当把函数放到结构体里面,编译器会帮我们传递一个参数:结构体的地址 this指针本质就是对象地址 2.无论是public还是private,他们声明的成员在编译后没有区别,是放在一起的. 3.virtual 虚函数,含有虚函数的类声明的对象 阅读全文
posted @ 2025-03-10 20:19 丁同亚的博客 阅读(10) 评论(0) 推荐(0)
摘要: void* importTableResolve(void* fileBuffer){ PE pe = resolvePE(fileBuffer); //导入表是数据目录的第二项 int importTableFOA = VA2FA(fileBuffer, pe.dataDir[1].value); 阅读全文
posted @ 2025-03-09 11:44 丁同亚的博客 阅读(8) 评论(0) 推荐(0)
摘要: 新增节 1.先判断是否有空间增加一个节表,满足sizeOfHeaders >= sectionTable[last] + 0x28*3 2.malloc(fileSize+newSectionSize);memset(0);memcpy(newfileBuffer,fileBuffer,fileSi 阅读全文
posted @ 2025-03-09 10:54 丁同亚的博客 阅读(20) 评论(0) 推荐(0)
摘要: 1.数据目录里存的地址都是RVA内存相对地址,需要转换成文件地址 才能在 fileBuffer中找到 2.windows定义了 _IMAGE_EXPORT_DIRECTORY 这么一个结构体来描述导出表 3. typedef struct _IMAGE_EXPORT_DIRECTORY { DWOR 阅读全文
posted @ 2025-03-07 20:59 丁同亚的博客 阅读(34) 评论(0) 推荐(0)
摘要: 1.静态链接库的创建,创建的时候比较简单,不需要导出什么的 2.静态链接库的使用 1.通过配置vs(配置三项,头文件路径,lib文件目录和lib文件名称) 添加头文件路径 右键主项目 → 属性 → C/C++ → 附加包含目录,添加静态库头文件所在目录(如 ../mylib) 链接库文件 在 属性 阅读全文
posted @ 2025-03-06 19:53 丁同亚的博客 阅读(77) 评论(0) 推荐(0)
摘要: 思路就是在最后一个节后面添加数据 1.修改 sizeOfImage 2.最后一个节的 文件对气后大小和内存真实大小 ,注意增加的尺寸需要文件对齐 // ExpandSection.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "PE.h" 阅读全文
posted @ 2025-03-05 20:55 丁同亚的博客 阅读(10) 评论(0) 推荐(0)
摘要: 1.首先获取 代码节内存中的实际大小,文件中的对齐后大小 00 02 10 F0 内存中尺寸10 00 内存对齐后起始位置00 02 20 00 文件大小(对齐后)10 00 文件对齐后起始位置 文件大小(对齐后) > 内存中尺寸 可以添加代码(小于的话意味着不存在空白区) 2.计算添加代码的位置 阅读全文
posted @ 2025-03-04 19:56 丁同亚的博客 阅读(10) 评论(0) 推荐(0)
摘要: 代码如下: // clonefile.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #define _CRT_SECURE_NO_WARNINGS // 必须放在文件最顶部 #include <iostream> #include <iomanip> // 包含 i 阅读全文
posted @ 2025-03-02 20:43 丁同亚的博客 阅读(23) 评论(0) 推荐(0)