2021年3月2日

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