随笔分类 -  加密与解密

摘要:PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。它是跨win32平台的,只要运行在Windows上,不管是在什么... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(968) 评论(0) 推荐(0) 编辑
摘要:这篇文章主要转载自小甲鱼的加密解密部分,然后补充加上我自己的少许内容,原文地址–>传送门 下面的内容主要是围绕这个图来进行 MS-DOS头部这个头部是为了兼容早期的DOS系统,PE文件的第一个字节起始于一个传统的MS-DOS头,被称为IMAGE_DOS_HEADER,这个结构体完整的... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(399) 评论(0) 推荐(0) 编辑
摘要:在前面几节中经常提到相对虚拟地址RVA,在这篇博客中主要说明这个概念。本来是想接着转载小甲鱼的,但是我自己根据这篇文章和他的视频来学习的时候,发现在RVA与文件的相对偏移地址进行转化的时候,那块我看不懂,不知道为什么要这样转化,而且前面很多东西都反复讲了好多遍,比如对齐的问题,所以,... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(441) 评论(0) 推荐(0) 编辑
摘要:本文转自小甲鱼的PE文件详解系列原文传送门 到此为止,小甲鱼和大家已经学了许多关于 DOS header 和 PE header 的知识。接下来就该轮到SectionTable (区块表,也成节表)。 越学越多的结构,大家可能觉得PE挺乱挺杂的哈,所以这里插播下一下必要知识的详细注释... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(390) 评论(0) 推荐(0) 编辑
摘要:本文转自小甲鱼的PE文件详解系列传送门PE文件到内存的映射在执行一个PE文件的时候,windows 并不在一开始就将整个文件读入内存的,二十采用与内存映射文件类似的机制。 也就是说,windows 装载器在装载的时候仅仅建立好虚拟地址和PE文件之间的映射关系。 当且仅当真正执行到某个... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(237) 评论(0) 推荐(0) 编辑
摘要:本文转自小甲鱼的PE文件相关教程,原文传送门 咱接着往下讲解IMAGE_OPTIONAL_HEADER32 结构定义即各个属性的作用! 接着我们来谈谈 IMAGE_OPTIONAL_HEADER 结构,正如名字的意思,这是一个可选映像头,是一个可选的结构。 但是呢,实际上上节课我们讲... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(184) 评论(0) 推荐(0) 编辑
摘要:在PE结构中最重要的就是区块表和数据目录表,上节已经说明了如何解析区块表,下面就是数据目录表,在数据目录表中一般只关心导入表,导出表和资源这几个部分,但是资源实在是太复杂了,而且在一般的病毒木马中也不会存在资源,所以在这个工具中只是简单的解析了一下导出表和导出表。这节主要说明导入表,... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(338) 评论(0) 推荐(0) 编辑
摘要:PE文件中所有节的属性都被定义在节表中,节表由一系列的IMAGE_SECTION_HEADER结构排列而成,每个结构用来描述一个节,结构的排列顺序和它们描述的节在文件中的排列顺序是一致的。 具有相同属性的数据被安排到同一个区块中。 区块表的结构为IMAGE_SECTION_HEAD... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(277) 评论(0) 推荐(0) 编辑
摘要:之前在学习PE文件格式的时候,是通过自己查看各个结构,自己一步步计算各个成员在结构中的偏移,然后在计算出其在文件中的偏移,从而找到各个结构的值,但是在使用C语言编写这个工具的时候,就比这个方便的多,只要将对应的指针类型转化为各个结构类型,就可以使用指针中的箭头来直接寻址到结构中的各个... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(1566) 评论(0) 推荐(0) 编辑
摘要:之前自己学习了PE文件的格式,后来自己写了个PE文件的解析器,这段时间工作上刚好要用到它,老板需要能查看某个exe中加载的dll的一个工具,我在使用之前自己写的这个东西的时候,发现很多东西都忘记了,所以,我在这回顾下当时的思路,并记录下来,方便以后直接使用。也算是回顾下之前学习的内容... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(664) 评论(0) 推荐(0) 编辑
摘要:本篇文章转载自小甲鱼的一篇日志,原文地址 我们知道,Windows 将程序的各种界面定义为资源,包括加速键(Accelerator)、位图(Bitmap)、光标(Cursor)、对话框(Dialog Box)、图标(Icon)、菜单(Menu)、串表(String Table)、工具... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(240) 评论(0) 推荐(0) 编辑
摘要:本文转载自小甲鱼PE文件详解系列教程原文传送门 当应用程序需要调用DLL中的函数时,会由系统将DLL中的函数映射到程序的虚拟内存中,dll中本身没有自己的栈,它是借用的应用程序的栈,这样当dll中出现类似于mov eax, [1000000]这样直接寻址的代码时,由于事先并不知道它会... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(164) 评论(0) 推荐(0) 编辑
摘要:本文转载自小甲鱼PE文件讲解系列原文传送门 这次主要说明导出表,导出表一般记录着文件中函数的地址等相关信息,供其他程序调用,常见的.exe文件中一般不存在导出表,导出表更多的是存在于dll文件中。一般在dll中保存函数名称以及它的地址,当某个程序需要调用dll中的函数时,如果这个dl... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(277) 评论(0) 推荐(0) 编辑
摘要:这篇文章转载自小甲鱼的PE文件详解系列原文传送门 之前简单提了一下节表和数据目录表,那么他们有什么区别? 其实这些东西都是人为规定的,一个数据在文件中或者在内存中的位置基本是固定的,通过数据目录表进行索引和通过节表进行索引都是可以找到的,也可以这么说,同一个数据在节表和数据目录表中都... 阅读全文
posted @ 2017-10-24 20:55 masimaro 阅读(1439) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示