Deobfuscator工具:掌握ollvm与多平台去混淆技术

需积分: 10 3 下载量 5 浏览量 更新于2024-12-04 收藏 102KB ZIP 举报
资源摘要信息:"deobfuscator:打破ollvm" 标题中的"deobfuscator"指的是一个专门设计用来打破或绕过软件保护技术的工具,特别是针对通过OLLVM(Obfuscator-LLVM)实现的代码混淆。OLLVM是一种用于混淆C/C++代码的工具,它通过各种技术手段使得反编译后的代码难以理解,以此来提高逆向工程的难度,增强软件的安全性。 描述中提到了该去混淆器具有以下特征: - 支持多种架构,包括x86、x86_64、ARM和ARM64。 - 包含两种发动机的泄气模式,这意味着它可以使用不同的算法来处理混淆代码。 - 灵活的补丁模式,允许用户根据需要定制去混淆过程。 - 方便携带,意味着该工具是独立的,易于在不同环境中部署和使用。 - 支持伪造控制流去模糊(de-flattening),这是一种处理混淆代码中常见的控制流平坦化技术。 - 允许手动添加块分析,增加了解析控制流复杂度的灵活性。 - 提供了IDAPro插件,以便与反混淆器交互,并可视化地标记块,从而方便逆向工程师理解程序的控制流程。 使用方法是简单的,只需使用Python3.7或更高版本,安装必要的依赖包,然后运行Python脚本。具体步骤包括修改main.py文件中的起始地址和文件名,然后执行命令`python3 main.py`。此外,用户可以在emulator.search_path指定策略0或1来处理不同的展平情况。 标签中提到的"arm64", "deobfuscator", "ollvm", "deflat", "deollvm", "Python"均为与去混淆器相关的关键词。"arm64"指的是与ARM64架构的兼容性,"deobfuscator"是工具的主要用途,"ollvm", "deflat"和"deollvm"则与OLLVM混淆技术及相关的去混淆技术相关联,"Python"标识了该工具的开发语言。 压缩包子文件的文件名称列表中只有一个文件"deobfuscator-master",这表示该去混淆器的源代码包被命名为"deobfuscator-master",意味着用户可能需要从源代码开始编译并使用该工具。 从描述中可以提取的详细知识点如下: 1.OLLVM简介: OLLVM是一种基于LLVM框架的代码混淆工具,它提供了多种代码转换技术来实现控制流平坦化、指令替换、垃圾代码注入等混淆策略。OLLVM特别被用于保护应用程序,防止未授权的逆向工程分析。 2.代码混淆与去混淆: 代码混淆是一种安全手段,它通过改变代码的结构和逻辑来防止逆向工程。混淆后的代码在视觉和逻辑上都变得更加复杂,但仍然保持其功能。去混淆则是识别和还原混淆代码的过程,目的是理解和分析原始代码的逻辑。 3.支持的架构: 去混淆器支持的架构包括x86和x86_64(分别代表32位和64位的Intel架构),以及ARM和ARM64(分别代表ARM的32位和64位架构)。这些架构的广泛支持表明去混淆器具有良好的跨平台能力,能够应对不同的目标系统。 4.泄气模式与补丁模式: 泄气模式可能指的是算法中去除代码中无用或复杂的部分,使之变得简单易懂。补丁模式可能涉及对程序进行必要的修改以达到去混淆的目的。这两种模式的存在增加了去混淆器的灵活性,使其能够应对不同风格和复杂度的混淆代码。 5.手动添加块分析: 手动添加块分析功能允许用户参与到去混淆的过程中,用户可以手动指定某些代码块进行分析,这对于自动去混淆过程中难以处理的复杂情况具有重要意义。 6.IDAPro插件支持: IDAPro是流行的一款逆向工程工具,去混淆器提供了一个插件,以便用户可以在IDAPro环境中与去混淆器进行交互,利用插件的可视化功能来更好地理解被混淆的代码结构和流程。 7.系统要求与依赖项: 使用去混淆器需要Python 3.7或更高版本,并且需要安装qiling、angr、termcolor、capstone和keystone等Python包。这些依赖项涵盖了各种功能,比如模拟执行、二进制分析等,它们是去混淆器实现其功能的软件基础。 8.使用实例: 实际使用去混淆器时,用户需要修改main.py文件中的设置,包括起始地址和目标文件名。此外,用户还需要指定emulator.search_path的策略值,以适配不同的代码展平情况。 综合以上信息,我们可以知道deobfuscator工具是一个为分析经过OLLVM混淆的程序设计的去混淆工具,它能够处理多种不同架构的代码,并且提供了丰富的功能和高度的定制性,以适应不同复杂度的去混淆需求。
佳同学
  • 粉丝: 35
  • 资源: 4583
上传资源 快速赚钱