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

2021年3月3日

摘要: 文件映射 文件映射的概念: 文件映射(Mapping)是一种将文件内容映射到进程虚拟内存的技术 映射成功的文件可以用视图,来引用这段内存,从而达到操作位于此段内存中的文件的目的 文件映射最大的一个特点:可以在不同的进程间共享数据(跨进程) 文件映射和正常操作文件的区别 正常操作文件 CreateFi 阅读全文
posted @ 2021-03-03 01:07 Sna1lGo 阅读(383) 评论(0) 推荐(0)
 
摘要: 虚拟内存 每个进程都有4GB的虚拟内存运行空间 内存分页的概念: 操作系统管理内存是将内存分成一页一页来管理,每一页的大小是4K,也就是0x1000,4G的内存共有1M页 使用了分页机制之后,4G的地址空间被分成了固定大小的页,每一页或者被映射到物理内存,或者被映射到硬盘上的交换文件中,或者没有映射 阅读全文
posted @ 2021-03-03 00:34 Sna1lGo 阅读(249) 评论(0) 推荐(0)

2021年3月2日

摘要: 内存管理-堆 windows32位下,每个进程都有自己独立的4G内存空间,高2G是操作系统内核使用,低2G是供用户使用。 每个进程中使用的都是虚拟地址,虚拟机地址到物理地址的转换由操作系统完成,所以我们无法在自己的进程当中访问其他进程的内存。 对于不同的进程Windows尽量保证同一份数据,在物理内 阅读全文
posted @ 2021-03-02 19:49 Sna1lGo 阅读(143) 评论(0) 推荐(0)
 
摘要: TLS反调试 TLS TLS是Thread Local Storage的缩写,线程局部存储,主要是为了解决多线程中的变量同步的问题 TLS的意义 进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有的线程都生效。这是一个优点也是一个 阅读全文
posted @ 2021-03-02 01:50 Sna1lGo 阅读(294) 评论(0) 推荐(0)
 
摘要: 1 #include<Windows.h> 2 #include<iostream> 3 using namespace std; 4 _declspec(thread) int g_number = 100; 5 HANDLE hEvent1 = CreateEvent(NULL, FALSE, 阅读全文
posted @ 2021-03-02 01:21 Sna1lGo 阅读(380) 评论(0) 推荐(0)
 
摘要: PE文件分析——重定义表 在PE文件的字节码中有一些写死的地址,如: 使用这些内存地址需要在当前的模块下,如果该PE文件在其他模块下被加载,则其内存地址对应的内容并非当前的内容。 而这些地址又写死了,所以需要修复,为了方便修复,PE提供了一个重定位表,来存储这些写死的地址对应的信息,帮助修复。 重定 阅读全文
posted @ 2021-03-02 00:26 Sna1lGo 阅读(157) 评论(0) 推荐(0)

2021年3月1日

摘要: PE文件解析-导入表 调用dll文件函数的原理 程序在调用dll文件函数的时候,并不是把函数编译到当前程序中, 而是把函数的地址保存到了当前文件中 在文件当中,对应的函数地址部分存放的是函数名称 一个进程空间的exe dll文件如何被加载到内存 1 LoadLibraryA显示加载DLL文件,OS把 阅读全文
posted @ 2021-03-01 01:23 Sna1lGo 阅读(1094) 评论(0) 推荐(0)

2021年2月26日

摘要: PE文件解析-导出表 可选PE头中的最后一个字段的数据目录表里面存放了很多PE文件的核心元素,一共是16个元素,最后一个是空的,只有前15个有内容: 数据目录表的第一个元素就是导出表。导出表存放的就是导出的函数,提供一个共外部使用的到处函数的一个表。导出表在可选PE头中的最后一项的数据目录表中的第一 阅读全文
posted @ 2021-02-26 21:02 Sna1lGo 阅读(454) 评论(0) 推荐(0)
 
摘要: PE文件解析-区段头 有几个区段,就会有几个对应的区段头。区段头存放区段的信息,相当于一本书的目录。 如何访问区段头 通过DOS头拿到NT头,然后再通过NT头拿到标准PE头,标准PE头中存放了PE头的大小,然后通过内存偏移来找到区段头。 也可以利用Windows封装的结构体来处理 void CPeU 阅读全文
posted @ 2021-02-26 15:05 Sna1lGo 阅读(417) 评论(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 阅读(252) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 39 下一页