Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Argus-SAF — 基于Scala的静态分析框架,用于Android和Java字节码,具有流分析、反编译和通过符号执行进行本地代码分析的功能。 | Kitploit
工具/GitHubGitHub/arguslab/argus-saf
Android安全静态分析代码分析移动安全二进制分析
GitHubarguslab/argus-saf

Argus-SAF

基于Scala的静态分析框架,用于Android和Java字节码,具有流分析、反编译和通过符号执行进行本地代码分析的功能。

查看仓库
1995434年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Argus-SAF: Argus 静态分析框架

License Build Status

这是 Argus-SAF 的官方仓库。

要测试和使用 Argus-SAF,你可以从我们的 Argus-SAF-playground 项目 fork,该项目包含了 Argus-SAF 增强项目的基本设置,并提供了演示代码来展示如何执行不同类型的分析。

仓库结构

root@kitploit:~
Argus-SAF/
+--src/main/scala/org.argus.saf/Main.scala     argus-saf CLI 的主类
+--jawa         核心静态分析数据结构,"*.class" 和 "*.jawa" 文件管理、jawa 编译器、类层次结构、方法体解析、流分析等。
+--amandroid    Android 资源解析器、信息收集器、反编译器、环境方法构建器、流分析等。
+--jnsaf        Java 原生接口分析。
+--nativedroid  基于 angr 符号执行引擎的注解驱动分析。

将 Argus-SAF 作为库使用

依赖 Jawa Maven Central 通过编辑 build.sbt:

root@kitploit:~
libraryDependencies += "com.github.arguslab" %% "jawa" % VERSION

依赖 Amandroid Maven Central 通过编辑 build.sbt:

root@kitploit:~
libraryDependencies += "com.github.arguslab" %% "amandroid" % VERSION

注意:依赖 Amandroid 会自动将 Jawa 添加为依赖。如果你使用 Maven 或 Gradle,应将其转换为相应的格式。

获取 Argus-SAF CLI 工具

要求:Java 10

  1. 进入 binaries 文件夹。
  2. 下载 argus-saf_***-version-assembly.jar
  3. 通过以下命令获取使用说明:
root@kitploit:~
$ java -jar argus-saf_***-version-assembly.jar

开发 Argus-SAF

要参与 Argus-SAF 的开发,你需要:

  1. 安装以下软件:

    • IntelliJ IDEA 14 或更高版本,以及兼容的 Scala 插件
  2. Fork 本仓库并克隆到你的电脑

root@kitploit:~
$ git clone https://github.com/arguslab/Argus-SAF.git
  1. 打开 IntelliJ IDEA,选择 File -> New -> Project from existing sources (如果从初始窗口,则是 Import Project),指向 Argus-SAF 仓库所在的目录,然后以 SBT project 导入。

  2. 导入完成后,进入 Argus-SAF 仓库目录并运行

root@kitploit:~
$ git checkout .idea

以获取 IDEA 项目的构件和运行配置。

  1. [可选] 为了使 Argus-SAF 构建更流畅,建议为编译器进程分配 2GB 的堆空间。

    • 如果你使用 Scala 编译服务器(默认): Settings > Languages & Frameworks > Scala Compile Server > JVM maximum heap size

    • 如果 Scala 编译服务器已禁用: Settings > Build, Execution, Deployment > Compiler > Build process heap size

  2. 从命令行构建 Argus-SAF:进入 Argus-SAF 仓库目录并运行

root@kitploit:~
$ tools/bin/sbt clean compile test
  1. 生成 fat jar:进入 Argus-SAF 仓库目录并运行
root@kitploit:~
$ tools/bin/sbt assembly

安装 JN-Saf 和 NativeDroid

安装 JN-Saf 和 NativeDroid:

root@kitploit:~
$ tools/scripts/install.sh

你可以单独安装其中一个:

root@kitploit:~
$ tools/scripts/install.sh jnsaf
$ tools/scripts/install.sh nativedroid

运行基准测试

安装 JN-Saf 和 NativeDroid 后,运行:

root@kitploit:~
$ tools/scripts/benchmark_cli.sh droidbench
$ tools/scripts/benchmark_cli.sh iccbench
$ tools/scripts/benchmark_cli.sh nativeflowbench

启动 JN-SAF 进行原生分析

  1. 安装 nativedroid:
root@kitploit:~
$ tools/scripts/install.sh nativedroid
  1. 启动 nativedroid 服务:
root@kitploit:~
$ python nativedroid/nativedroid/server/native_droid_server.py /tmp/binaries nativedroid/nativedroid/data/sourceAndSinks/NativeSourcesAndSinks.txt nativedroid/data/sourceAndSinks/TaintSourcesAndSinks.txt
  1. 使用 NativeDroidClient.scala 与 nativedroid 服务通信以执行原生分析。

故障排除:

  1. 如果 Intellij 中的 Python 代码显示无法解析的导入,你应该手动将 nativedroid 文件夹作为 Python 模块导入并设置 Python SDK。 建议使用 Python 虚拟环境安装 nativedroid 及其所需的 Python 包。

Bazel 构建

Bazel 集成正在进行中。暂时忽略所有 BUILD 文件。

如何贡献

要为 Argus-SAF 做出贡献,请从你的仓库 fork 向我们发送 拉取请求!

有关构建和开发 Argus-SAF 的更多信息,请查看我们的 贡献指南。提供优秀想法的人员列在 贡献者 中。

贡献什么

如果你不知道贡献什么, 可以查看带有 help wanted 标签的 问题跟踪器,认领一个问题来帮助你熟悉 Argus-SAF。

下载工具