
逆向
AG_
这个作者很懒,什么都没留下…
展开
-
【逆向】Windows可执行文件简述(一)
操作系统中的文件是一种抽象的机制,提供了一种在磁盘上保存信息而且方便以后读取的方法。在Windows操作系统中,一个用户可以最直接体会到的文件的形式就是以.exe、.dll等为扩展名的可执行文件。伴随着Windows操作系统的不断进步,其可执行文件的格式也发生了巨大变化。这期间主要有4个过程:DOS中出现的最简单的以.com为扩展名的可执行文件和以.exe为扩展名的MZ格式(MZ是MZ格式的主要作转载 2017-10-30 09:34:00 · 1574 阅读 · 0 评论 -
【逆向】Windows可执行文件简述(二)
如果PSP中的第一个FCB含有一个有效驱动器标识符,则置AL为00h,否则为0FFh。MS-DOS还置AH为00h或0FFh,这依赖于第二个FCB是否含有一个有效驱动器标识符。 建造PSP后,MS-DOS在PSP后立即开始(偏移100h)加载com文件,它置SS、DS和ES为PSP的段地址,接着创建一个堆栈。为了创建这个堆栈,MS-DOS置SP为0000h。如果没有分配64K内存,则要转载 2017-10-30 09:36:53 · 539 阅读 · 0 评论 -
【逆向】Windows可执行文件简述(三)
4.LE格式在Windows3.x的时代,从DOS启动Windows,Windows在把机器转到保护模式之前需要在实模式下做一些初始化。实模式的16位代码必须和32位代码一起放在可执行文件中。旧的DOS下的可执行文件和NE格式的可执行文件无法满足这个要求,于是从Win 3.x起到Win 9x,产生了一种新型的可执行文件格式LE,它只适用于工作于系统底层的、同时包含16位代码和32位代码的VxD转载 2017-10-30 09:38:16 · 448 阅读 · 0 评论 -
【逆向】PE文件的基本结构(1)--总体介绍和dos头
1 概论 看历史;COM文件,EXE文件,LE格式的可执行文件(Linear executable/线性可执行文件),Windows 9x中的VxD驱动程序也使用LE格式,因为这些驱动程序中也同时包括16位和32位代码。而在Windows 9x,Windows NT,Windows 2000下,纯32位的可执行文件都使用微软设计的一种新的文件格式——PE格式(Portable Exec转载 2017-10-30 09:39:16 · 361 阅读 · 0 评论 -
【逆向】PE文件的基本结构(2)-- NT头
1 PE文件头(NT文件头)从DOS文件头的_lfanew字段(文件头偏移003ch)得到真正的PE文件头位置[$0000 0100]后,现在来看看它的定义,PE文件头是由IMAGE_NT_HEADERS结构定义的:PImageNtHeaders = ^TImageNtHeaders;_IMAGE_NT_HEADERS = packed record [$0100]S转载 2017-10-30 09:41:23 · 352 阅读 · 0 评论 -
【逆向】PE文件的基本结构(3)--节表和RVA换算
PE文件中所有节的属性都被定义在节表中,节表由一系列的IMAGE_SECTION_HEADER结构排列而成,每个结构用来描述一个节,结构的排列顺序和它们描述的节在文件中的排列顺序是一致的。全部有效结构的最后以一个空的IMAGE_SECTION_HEADER结构作为结束,所以节表中总的IMAGE_SECTION_HEADER结构数量等于节的数量加一。节表总是被存放在紧接在PE文件头的地方。I转载 2017-10-30 09:42:25 · 498 阅读 · 0 评论 -
【逆向】PE文件的基本结构(4) --导入表
导入表的位置和大小可以从PE文件头中IMAGE_OPTIONAL_HEADER32结构的数据目录字段中获取,对应的项目是DataDirectory字段的第2个IMAGE_DATA_DIRECTORY结构,从结构的VirtualAddress字段得到导入表的RVA值。导入表由一系列的IMAGE_IMPORT_DESCRIPTOR结构组成,结构的数量取决于程序要使用的DLL文件的数量,每个结构转载 2017-10-30 09:43:23 · 316 阅读 · 0 评论