随笔分类 -  PE文件结构

TLS反调试
摘要:TLS反调试 TLS TLS是Thread Local Storage的缩写,线程局部存储,主要是为了解决多线程中的变量同步的问题 TLS的意义 进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有的线程都生效。这是一个优点也是一个 阅读全文
posted @ 2021-03-02 01:50 Sna1lGo 阅读(296) 评论(0) 推荐(0)
PE文件分析——重定义表
摘要:PE文件分析——重定义表 在PE文件的字节码中有一些写死的地址,如: 使用这些内存地址需要在当前的模块下,如果该PE文件在其他模块下被加载,则其内存地址对应的内容并非当前的内容。 而这些地址又写死了,所以需要修复,为了方便修复,PE提供了一个重定位表,来存储这些写死的地址对应的信息,帮助修复。 重定 阅读全文
posted @ 2021-03-02 00:26 Sna1lGo 阅读(157) 评论(0) 推荐(0)
PE文件解析-导入表
摘要:PE文件解析-导入表 调用dll文件函数的原理 程序在调用dll文件函数的时候,并不是把函数编译到当前程序中, 而是把函数的地址保存到了当前文件中 在文件当中,对应的函数地址部分存放的是函数名称 一个进程空间的exe dll文件如何被加载到内存 1 LoadLibraryA显示加载DLL文件,OS把 阅读全文
posted @ 2021-03-01 01:23 Sna1lGo 阅读(1098) 评论(0) 推荐(0)
PE文件解析-导出表
摘要:PE文件解析-导出表 可选PE头中的最后一个字段的数据目录表里面存放了很多PE文件的核心元素,一共是16个元素,最后一个是空的,只有前15个有内容: 数据目录表的第一个元素就是导出表。导出表存放的就是导出的函数,提供一个共外部使用的到处函数的一个表。导出表在可选PE头中的最后一项的数据目录表中的第一 阅读全文
posted @ 2021-02-26 21:02 Sna1lGo 阅读(455) 评论(0) 推荐(0)
PE文件解析-区段头
摘要:PE文件解析-区段头 有几个区段,就会有几个对应的区段头。区段头存放区段的信息,相当于一本书的目录。 如何访问区段头 通过DOS头拿到NT头,然后再通过NT头拿到标准PE头,标准PE头中存放了PE头的大小,然后通过内存偏移来找到区段头。 也可以利用Windows封装的结构体来处理 void CPeU 阅读全文
posted @ 2021-02-26 15:05 Sna1lGo 阅读(419) 评论(0) 推荐(0)
PE文件解析-PE头解析-2-可选PE头
摘要:PE文件解析-PE头解析-2-可选PE头 其中的空白是为了对齐时的填充值。默认硬盘的对齐是200H,在内存中的默认对齐是1000H 可选PE头 typedef struct _IMAGE_OPTIONAL_HEADER { // // Standard fields. //​ WORD Magic; 阅读全文
posted @ 2021-02-25 15:22 Sna1lGo 阅读(721) 评论(0) 推荐(0)
PE文件解析-PE头解析-1-文件头,PE头
摘要: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 阅读(357) 评论(0) 推荐(0)
PE文件解析-DOS头解析
摘要:PE文件解析-DOS头解析 PE文件是指windows下的可执行文件:.exe .dll(动态链接库) .sys(驱动程序)这类文件 PE文件概览 PE文件大致分类 可以分为DOS头,PE头和区块 DOS头 DOS头对于现在的Windows已经没啥用了,只是用来标记后面的。 DOS头其实就是一个结构 阅读全文
posted @ 2021-02-24 13:25 Sna1lGo 阅读(381) 评论(1) 推荐(0)