交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

admin 2025年3月5日11:01:41评论16 views字数 1671阅读5分34秒阅读模式
交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

交互式UI的优点:

  1. 支持自动分析

  2. 支持人工调整分析结果

  3. 支持人工调整修补结果

  4. 支持动态导航地址

交互式 UI 最大程度应对编译优化(例如共用尾部基本块、部分平坦化、多分发器)、定制变种修改(状态变量复杂化、过程间加密等)带来的分析困难挑战。

本期课程将带你深入解析二进制混淆技术,重点讲解 Angr 符号执行 的实战应用。我们将拆解多种常见的混淆手法,如 间接跳转字符串混淆虚假控制流控制流平坦化 和 跨函数混淆,帮助你理解这些技术在真实环境中的应用。课程从混淆器的设计角度,分析多种优秀开源混淆器的实现。你还将学习多种先进的二进制分析工具,包括 angr、capstone、keystone、unicorn等分析框架,以及用于修补二进制的 lief 框架。

无论你是安全研究者还是逆向分析爱好者,这门课程都能帮助你更高效地理解和对抗二进制混淆!

实战内容

  • 字符串混淆分析与修复
  • 变种间接跳转多出口分析与修复
  • 过程间混淆分析与修复
  • 控制流平坦化分析与修复

课程目录

(已完结)

  • 1-混淆与反混淆基础概念

  • 2-约束求解与 angr 符号执行

  • 3-污点分析框架构建与实战

  • 4-模拟执行 unicorn 与 angr

  • 5-反汇编框架 capstone

  • 6-汇编框架 keystone

  • 7-IDAPython 编程与基本块分析

  • 8-实战静态分析反混淆

  • 9-IDA 微码基本块优化器

  • 10-llvm 核心概念与混淆开发

  • 11-Goron 间接跳转混淆原理分析

  • 12-符号执行分析间接跳转混淆

  • 13-符号执行分析IPO过程间混淆

  • 14-控制流平坦化建模

  • 15-符号执行分析控制流平坦化

  • 16-控制流平坦化修补

交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

课程目标

学习高级程序自动化分析方法,自动化去除变种间接跳转(例如多个出口的 BR 跳转)混淆、变种控制流平坦化混淆(例如多个主分发器)。

反混淆三部曲:自动分析 -> 自动修补 -> 验证

  1. 分析:实现自动化混淆分析脚本;
  2. 修补:实现自动化混淆修补脚本;
  3. 验证:验证反混淆修补后的程序能够正常运行且无混淆特征。
交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

控制流平坦化混淆后的 tinfl_decompress 函数,伪代码有 6k 行,逆向分析困难,通过课程教授的方法和脚本,能够还原为清晰结构,与无混淆代码接近一致的伪代码。

交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

 aarch 64 指令集 ollvm 的主分发器可能出现大量嵌套、平行的结构,传统模拟执行方案很难覆盖所有情况,课程采用符号执行对分析混淆函数,利用符号执行对反混淆问题进行抽象处理,极大增反混淆方法的加适用性。

经过脚本反混淆后,目标函数结构清晰,与无混淆情况下反编译效果一致。

交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

双出口的 BR 跳转

交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

修补后能够完整反编译代码

交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

清晰、统一的控制流建模架构

间接跳转多出口路径探索

br_state_1 = run_until_br(proj, init_state, csel_selector=1br_state_2 = run_until_br(proj, init_state, csel_selector=2

控制流平坦化多出口路径探索

succ_state1 = run_until_lists(proj, init_state, csel_selector=1)succ_state2 = run_until_lists(proj, init_state, csel_selector=2)

课程收获

技术与能力收获

  • 系统掌握 Angr 符号执行框架
  • 系统掌握 keystone 、capstone、unicorn 框架基础方法
  • 掌握常见混淆自动化分析方法
  • 掌握编译原理中用于二进制自动逆向工程的方法
  • 掌握 llvm 混淆开发、定制以及移植方法
  • 掌握 IDAPython 进阶编程技术
  • 掌握 IDA 微码(Microcode) 基础知识

代码与工具收获

  • 支持多分发器的控制流平坦化通用反混淆脚本 (aarch64)
  • 支持多出口的间接跳转混淆通用反混淆脚本(aarch64)
  • 混淆与反混淆实验环境

实验使用的框架:llvm + angr + unicorn + keystone + capstone  + lief + pwntools

报名

课程价格:999

报名咨询:后台回复 “课程”

原文始发于微信公众号(二进制磨剑):交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月5日11:01:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   交互式反混淆:打造最强控制流平坦化分析交互式插件 | 第三期 | 混淆与反混淆https://cn-sec.com/archives/3797952.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息