`
cfree
  • 浏览: 18544 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

压缩与脱壳-PE文件格式 四

DOS 
阅读更多
Optional Header
  我们已经学习了关于 DOS header 和 PE header 中部分成员的知识。这里是 PE header 中最后、最大或许也是最重要的成员, optional header 。


  回顾一下, optional header 结构是 IMAGE_NT_HEADERS 中的最后成员。包含了 PE 文件的逻辑分布信息。该结构共有 31 个域,一些是很关键,另一些不太常用。这里只介绍那些真正有用的域。

  这儿有个关于 PE 文件格式的常用术语 : RVA

  RVA 代表相对虚拟地址。 知道什么是虚拟地址吗?相对那些简单的概念而言,RVA有些晦涩。简言之,RVA是虚拟空间中到参考点的一段距离。我打赌您肯定熟悉文件偏移量: RVA就是类似文件偏移量的东西。当然它是相对虚拟空间里的一个地址,而不是文件头部。举例说明,如果PE文件装入虚拟地址(VA)空间的400000h处,且进程从虚址401000h开始执行,我们可以说进程执行起始地址在RVA 1000h。每个RVA都是相对于模块的起始VA的。

  为什么PE文件格式要用到RVA呢? 这是为了减少PE装载器的负担。因为每个模块多有可能被重载到任何虚拟地址空间,如果让PE装载器修正每个重定位项,这肯定是个梦魇。相反,如果所有重定位项都使用RVA,那么PE装载器就不必操心那些东西了: 它只要将整个模块重定位到新的起始VA。这就象相对路径和绝对路径的概念: RVA类似相对路径,VA就象绝对路径。




  • 大小: 128.1 KB
分享到:
评论

相关推荐

    PE文件中脱壳技术的研究

    4. **提取原始代码**:一旦确定了脱壳点,就可以从内存中提取出未加壳的代码,或者修改原始PE文件以跳过壳的执行流程。 #### 结论 脱壳技术是软件安全领域的重要组成部分,尤其是在对抗恶意软件时。通过对PE文件的...

    PE文件的UPX脱壳算法的实现

    都会使计算机产生安全隐患或者使软件的核心技术被窃取,所以保护PE文件不被修改是一件很重要的工作,当前通常采用加壳的方法对PE文件进行保护,这其中UPX是具有代表性的压缩类外壳。 本文首先对PE文件格式进行了全面...

    脱壳工具UPX -EXE/Dll资源压缩工具-UPX-4.2.2

    UPX是一个着名的压缩壳,主要功能是压缩PE文件(比如exe,dll等文件),有时候也可能被病毒用于免杀。壳upx是一种保护程序。 ........................ UPX是大家熟悉的EXE/Dll资源压缩工具,也称作可执行文件压缩...

    PE万能脱壳工具想脱什么脱什么!!!

    PE文件格式是Windows操作系统中用于执行程序的标准格式,包括可执行文件(.exe)、动态链接库(.dll)等。PE脱壳工具能够识别并处理这些文件中的各种壳技术,例如UPX、ASPack、PECompact等。这些壳通常用于压缩程序...

    upx脱壳机--用于upx类脱壳

    UPX(UPX UnPacker eXtended)是一款广泛使用的可执行文件压缩工具,它能够将PE(Portable Executable,Windows平台上的可执行文件格式)文件进行压缩,从而减小程序的体积,提高分发效率。然而,这也为逆向工程和...

    PECompact脱壳工具

    在计算机安全领域,PECompact是一款知名的可执行文件打包和压缩工具,它能够将Windows下的PE(Portable Executable)格式文件进行压缩,从而减小文件体积,提高分发效率。然而,这样的压缩过程也使得一些恶意软件...

    脱壳基础知识入门--强烈推荐

    总结以上内容,脱壳是逆向工程的重要组成部分,需要掌握PE文件格式、SEH机制、调试工具的使用,以及对各种加密算法和保护技术的理解。只有对这些基础知识和高级技术有了充分的认识,才能在软件安全和逆向工程的道路...

    Aspack stripper 自动脱壳 ASPack 2.12 - Alexey Solodovnikov.rar

    Aspack stripper就是这样的一个工具,它的主要功能是对使用ASPack 2.12版本压缩的可执行文件进行自动脱壳。这个工具的存在,使得安全分析人员能够揭示被压缩和混淆的原始代码,从而更好地理解软件的工作原理,检查...

    .Net 脱壳 反混淆神器De4dot-3.1.41592最新版

    使用它可以成功地脱掉了Dotfuscator、MaxToCode处理过的程序,至于其它的加壳/反混淆工具比如说Xenocode、ThemIDA等我还没有进行过实验,之后我将计划研究各类加壳/反混淆工具的脱壳方法,我深信De4Dot能够给我带来...

    UPX加脱壳工具源码

    2. **脱壳机制**:脱壳工具的核心在于正确地解压UPX壳并恢复原始的未压缩PE文件。源码可能会包含解压算法,根据UPX的压缩格式进行还原。 3. **内存操作**:由于程序可能已经在内存中运行,脱壳工具可能需要在内存中...

    解密之脱壳入门.pdf

    对于想要深入理解脱壳技术的学习者来说,熟悉PE文件格式至关重要。 **PE文件格式简介** - **定义**:PE格式由微软开发,用于定义Windows平台上可执行文件(如.EXE、.DLL等)的结构。 - **关键特性**:PE文件包含了...

    实现通用脱壳机

    - **静态与动态分析的兼容性**:构建一个可以在静态分析时重建有效PE文件,并在动态分析时执行的PE文件。 - **防止恶意软件检测**:确保脱壳过程不会被恶意软件检测到,避免分析过程中的干扰。 - **兼容性问题**:...

    ASPack_2.12脱壳机

    这个过程涉及到对PE(Portable Executable)文件格式的理解,包括节区、导入表、导出表等关键结构。脱壳机通过识别和解析ASPack的特定标志和模式来实现这一目标。 在安全社区中,ASPack常被视为一种双刃剑。一方面...

    Un-ASPACK2.1和2.2脱壳机 汉化版

    ASPACK是一款著名的软件压缩和加壳工具,由Andrey Breslav开发,它能将可执行文件进行压缩,减小其体积,同时增加反调试和反静态分析的特性,使得程序更加难以逆向工程分析。ASPACK 2.1和2.2是该工具的两个较早版本...

    free upx 脱壳工具

    你可以用它来压缩或解压缩PE(Windows)、ELF(Linux)或DOS格式的可执行文件。例如,将一个.exe文件压缩,可以使用以下命令: ``` upx -q your_program.exe ``` 如果想要脱壳,只需添加`-d`参数: ``` upx -qd your...

    红黑全能自动脱壳机——全能脱壳机

    这个工具的工作原理,它的壳特征和编译器特征保存在HackFans.txt里面,能识别出来的壳,基本上都有对应的脱壳函数,用壳特征脱壳,可以脱壳,对于一些不好特殊的壳你可以用OEP侦测来脱壳,这要依赖编译器特征,你也可以自己...

    万用脱壳机 RL!dePacker

    dePacker具有自动化特性,但深入理解PE文件格式和逆向工程原理将有助于更有效地使用该工具。 五、学习与进阶 掌握RL!dePacker不仅需要熟悉工具本身,还需要了解相关的逆向工程知识,如汇编语言、调试技术、PE文件...

    UPX加壳、脱壳工具的UPX加壳、脱壳工具的

    但这需要深入理解PE文件格式和UPX壳的内部机制。 2. 自动脱壳工具:存在许多自动化工具如UPX-unpacker、PE-bear等,它们能识别并移除UPX壳,恢复原始可执行文件。例如,我们可以使用UPX-iT.EXE这个工具尝试对加壳...

Global site tag (gtag.js) - Google Analytics