上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 39 下一页

2021年2月26日

摘要: PE文件解析-区段头 有几个区段,就会有几个对应的区段头。区段头存放区段的信息,相当于一本书的目录。 如何访问区段头 通过DOS头拿到NT头,然后再通过NT头拿到标准PE头,标准PE头中存放了PE头的大小,然后通过内存偏移来找到区段头。 也可以利用Windows封装的结构体来处理 void CPeU 阅读全文
posted @ 2021-02-26 15:05 Sna1lGo 阅读(345) 评论(0) 推荐(0) 编辑
 
摘要: 1 #ifndef __CPEUTIL_H__ 2 #define __CPEUTIL_H__ 3 #include<Windows.h> 4 #include<iostream> 5 class CPeUtil 6 { 7 public: 8 CPeUtil(); 9 ~CPeUtil(); 10 阅读全文
posted @ 2021-02-26 14:18 Sna1lGo 阅读(217) 评论(0) 推荐(0) 编辑

2021年2月25日

摘要: 1 #include<iostream> 2 #include<Windows.h> 3 using namespace std; 4 5 /* 6 获取可执行程序PE结构的流程 7 1 将一个可执行程序完整拷贝给一个缓冲区来处理 8 2 获取DOS头内容 9 3 利用DOS头中的lfanew偏移找 阅读全文
posted @ 2021-02-25 15:31 Sna1lGo 阅读(161) 评论(0) 推荐(0) 编辑
 
摘要: PE文件解析-PE头解析-2-可选PE头 其中的空白是为了对齐时的填充值。默认硬盘的对齐是200H,在内存中的默认对齐是1000H 可选PE头 typedef struct _IMAGE_OPTIONAL_HEADER { // // Standard fields. //​ WORD Magic; 阅读全文
posted @ 2021-02-25 15:22 Sna1lGo 阅读(614) 评论(0) 推荐(0) 编辑
 
摘要: PE文件解析-PE头解析 PE头又叫NT头,是PE文件真正的头部,DOS头只是用来为了兼容以前的DOS系统。 PE头位于DOS Stub后面,以PE00作为起始标记 类似于DOS头的MZ DOS Stub DOS Stub就是DOS头结束到PE头的开始中间的区域,基本上是垃圾区域没啥用,但是加壳的时 阅读全文
posted @ 2021-02-25 00:44 Sna1lGo 阅读(327) 评论(0) 推荐(0) 编辑
 
摘要: 1 #include<iostream> 2 #include<Windows.h> 3 using namespace std; 4 5 int main() 6 { 7 HANDLE hFile = CreateFile(L"E:\\Project_Sum\\CC++\\test\\test\\ 阅读全文
posted @ 2021-02-25 00:42 Sna1lGo 阅读(115) 评论(0) 推荐(0) 编辑

2021年2月24日

摘要: PE文件解析-DOS头解析 PE文件是指windows下的可执行文件:.exe .dll(动态链接库) .sys(驱动程序)这类文件 PE文件概览 PE文件大致分类 可以分为DOS头,PE头和区块 DOS头 DOS头对于现在的Windows已经没啥用了,只是用来标记后面的。 DOS头其实就是一个结构 阅读全文
posted @ 2021-02-24 13:25 Sna1lGo 阅读(327) 评论(1) 推荐(0) 编辑
 
摘要: 1 #include<iostream> 2 #include<Windows.h> 3 using namespace std; 4 5 int main() 6 { 7 HANDLE hFile = CreateFile(L"E:\\Project_Sum\\CC++\\test\\test\\ 阅读全文
posted @ 2021-02-24 12:49 Sna1lGo 阅读(424) 评论(0) 推荐(0) 编辑

2021年2月21日

摘要: 虚函数逆向分析 虚函数的机制 在C++中的类中有虚函数时,编译器会将该类的所有虚函数首地址保存在一张表里面,这张表被称为虚函数地址表,同时会在类中的首四个字节添加一个虚表指针来指向虚函数表的首地址。 分析构造函数可以很清楚的看到: 00F718D0 push ebp 00F718D1 mov ebp 阅读全文
posted @ 2021-02-21 15:37 Sna1lGo 阅读(197) 评论(0) 推荐(0) 编辑
 
摘要: 虚函数内存模型 纯虚函数 在有些情况下,在基类中不对虚函数给出有意义的实现,仅当做统一的变成接口来使用,它的实现留给该基类的派生类去做,这种称为纯虚函数 纯虚函数相当于一个接口模板,一个类中如果定义了纯虚函数,则这个类被称为抽象类,C++规定抽象类不能直接实例化对象 派生类继承父类的纯虚函数后,若给 阅读全文
posted @ 2021-02-21 01:48 Sna1lGo 阅读(164) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 39 下一页