这是Argus-SAF的官方记者。
对于Argus-SAF进行测试和播放,您可以从我们的Argus-SAF-Playground项目中分配,该项目具有基本的设置,该设置具有Argus-SAF增强项目的基本设置,其中包括如何执行不同类型的分析的演示代码。
Argus-SAF/
+--src/main/scala/org.argus.saf/Main.scala Main class for argus-saf CLI.
+--jawa Core static analysis data structures, "*.class"&"*.jawa" file managing, jawa compiler, class hierarchy, method body resolving, flow analysis, etc.
+--amandroid Android resource parsers, information collector, decompiler, environment method builder, flow analysis, etc.
+--jnsaf Java native interface analysis.
+--nativedroid Annotation based analysis using angr symbolic execution engine.
通过编辑build.sbt来依赖爪哇:
libraryDependencies += "com.github.arguslab" %% "jawa" % VERSION
通过编辑build.sbt来依赖amandroid:
libraryDependencies += "com.github.arguslab" %% "amandroid" % VERSION
请注意:依赖于Amandroid会自动将JAWA添加为依赖关系。如果使用Maven或Gradle,则应将其转换为相应的格式。
要求:Java 10
$ java -jar argus-saf_***-version-assembly.jar
为了参与Argus-SAF开发,您需要:
安装以下软件:
将此存储库分配并克隆到您的计算机
$ git clone https://github.com/arguslab/Argus-SAF.git
打开Intellij Idea, File -> New -> Project from existing sources (如果是从初始窗口: Import Project ),请指向Argus -SAF存储库所在的目录,然后将其导入为SBT project 。
导入完成后,请转到Argus-SAF回购目录并运行
$ git checkout .idea
为了获取工件并为IDEA项目运行配置。
[可选]为了使argus-saf更平滑,您应该将堆尺寸的2GB给予编译器过程。
如果使用Scala编译服务器(默认): Settings > Languages & Frameworks > Scala Compile Server > JVM maximum heap size
如果禁用了Scala编译服务器: Settings > Build, Execution, Deployment > Compiler > Build process heap size
从命令行构建Argus-SAF:转到Argus-SAF repo目录并运行
$ tools/bin/sbt clean compile test
$ tools/bin/sbt assembly
安装JN-Saf和NativeDroid :
$ tools/scripts/install.sh
您可以通过以下方式安装一个:
$ tools/scripts/install.sh jnsaf
$ tools/scripts/install.sh nativedroid
安装JN-Saf和NativeDroid之后。跑步:
$ tools/scripts/benchmark_cli.sh droidbench
$ tools/scripts/benchmark_cli.sh iccbench
$ tools/scripts/benchmark_cli.sh nativeflowbench
$ tools/scripts/install.sh nativedroid
$ python nativedroid/nativedroid/server/native_droid_server.py /tmp/binaries nativedroid/nativedroid/data/sourceAndSinks/NativeSourcesAndSinks.txt nativedroid/data/sourceAndSinks/TaintSourcesAndSinks.txt
Bazel的整合正在进行中。暂时忽略所有构建文件。
为了为Argus-SAF做出贡献,请向我们发送此存储库的叉子请求请求!
有关构建和开发Argus-SAF的更多信息,还请查看我们的贡献指南。提供了优秀想法的人在撰稿人中列出。
如果您不知道该贡献什么,则可以使用help wanted标签来检查问题跟踪器,并声称一个可以帮助自己热身的Argus-SAF。