AegiScan 开源项目教程

AegiScan 开源项目教程

AegiScanA Static Dataflow Analysis Framework for iOS Applications.项目地址:https://gitcode.com/gh_mirrors/ae/AegiScan

项目介绍

AegiScan 是一个针对 iOS 应用程序二进制文件的静态数据流分析框架,旨在辅助漏洞扫描。AegiScan 利用自顶向下的类型传播来解析 Objective-C MsgSend 调用,从而重建调用图。然后,它为每个函数生成代码属性图(CPG),以建立上下文敏感的数据流。通过调用图,AegiScan 整合不同函数的 CPG,进行全面的跨过程分析。此外,AegiScan 恢复优化过程中丢失的信息(如应用程序瘦身),并将其纳入分析中。

项目快速启动

环境准备

  • IDA Pro 7.4+(推荐 8.3+)
  • Docker

快速启动步骤

  1. 克隆项目

    git clone https://github.com/alibaba/AegiScan.git
    cd AegiScan
    
  2. 启动 Neo4j 数据库

    cd db
    docker-compose up -d
    
  3. 运行分析任务

    cd src
    ida64 -A -S"[Path to ida_runner.py] [parameters]" -L"[Path to your log file]" "[Path to your idb]"
    

    例如:

    ida64 -A -S"ida_runner.py service /Path/to/cases" -L"/Path/to/cases/out/service.log" "/Path/to/cases/services/osanalyticshelper.i64"
    

应用案例和最佳实践

案例分析

AegiScan 提供了两个示例二进制文件用于分析:

  1. macOS 系统服务

    AegiScan/cases/os/System/Library/CoreServices/osanalyticshelper
    
  2. 私有框架

    AegiScan/cases/os/System/Library/PrivateFrameworks/OSAnalytics.framework/Versions/A/OSAnalytics
    

最佳实践

  • 生成 IDB 文件

    ida64 -A -B /path/to/service
    
  • 放置 IDB 文件

    case/services 目录
    
  • 执行数据流分析

    cd AegiScan/src
    ida64 -A -S"/Path/to/ida_runner.py service /Path/to/cases" -L"/Path/to/cases/out/service.log" '/Path/to/cases/services/osanalyticshelper.i64'
    

典型生态项目

AegiScan 作为一个静态数据流分析框架,可以与其他工具和项目集成,以增强其功能和应用范围。以下是一些可能的生态项目:

  • IDA Pro 插件

    • genmc:显示 Hex-Rays Microcode
    • IDACode:通过 VSCode 调试 idapython
    • IPyIDA:在 IDA Pro 中使用 ipython
  • 图数据库

    • Neo4j:用于存储和查询分析结果
  • 漏洞扫描工具

    • 自定义扫描器:基于 AegiScan 提供的 API 开发

通过这些生态项目的集成,AegiScan 可以更全面地应用于各种安全分析和漏洞扫描任务中。

AegiScanA Static Dataflow Analysis Framework for iOS Applications.项目地址:https://gitcode.com/gh_mirrors/ae/AegiScan

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞿勋利Godly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值