這是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。