Ini adalah reporitori resmi untuk Argus-saf.
Untuk tes dan bermain dengan Argus-SAF, Anda dapat membayar dari proyek Argus-saf-playground kami, yang memiliki pengaturan dasar untuk proyek yang ditingkatkan Argus-SAF dengan kode demo tentang cara melakukan berbagai jenis analisis.
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.
Bergantung pada jawa dengan mengedit build.sbt :
libraryDependencies += "com.github.arguslab" %% "jawa" % VERSION
Bergantung pada amandroid dengan mengedit build.sbt :
libraryDependencies += "com.github.arguslab" %% "amandroid" % VERSION
Perhatikan bahwa: Bergantung pada Amandroid akan secara otomatis menambahkan Jawa sebagai ketergantungan. Jika Anda menggunakan Maven atau Gradle, Anda harus menerjemahkannya ke format yang sesuai.
Persyaratan: Java 10
$ java -jar argus-saf_***-version-assembly.jar
Untuk mengambil bagian dalam pengembangan Argus-SAF, Anda perlu:
Instal perangkat lunak berikut:
Garpu repositori ini dan kloning ke komputer Anda
$ git clone https://github.com/arguslab/Argus-SAF.git
Buka IntelliJ Idea, pilih File -> New -> Project from existing sources (jika dari Window Awal: Import Project ), arahkan ke direktori di mana repositori Argus -SAF berada dan kemudian mengimpornya sebagai SBT project .
Saat mengimpor selesai, buka direktori repo Argus-saf dan jalankan
$ git checkout .idea
Untuk mendapatkan artefak dan menjalankan konfigurasi untuk proyek IDEA.
[Opsional] Untuk membangun argus-saf lebih halus Anda harus memberikan ukuran 2GB dari heap untuk proses kompiler.
Jika Anda menggunakan Server Compile Scala (default): Settings > Languages & Frameworks > Scala Compile Server > JVM maximum heap size
Jika Server Kompilasi Scala dinonaktifkan: Settings > Build, Execution, Deployment > Compiler > Build process heap size
Bangun Argus-Saf dari Baris Perintah: Pergi ke Direktori Repo Argus-Saf dan Jalankan
$ tools/bin/sbt clean compile test
$ tools/bin/sbt assembly
Instal JN-Saf dan NativeDroid :
$ tools/scripts/install.sh
Anda dapat menginstal salah satunya dengan:
$ tools/scripts/install.sh jnsaf
$ tools/scripts/install.sh nativedroid
Setelah menginstal JN-Saf dan NativeDroid . Berlari:
$ 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
Integrasi Bazel sedang berlangsung. Abaikan semua file build untuk saat ini.
Untuk berkontribusi pada argus-saf, silakan kirim permintaan tarik dari garpu repositori ini!
Untuk informasi lebih lanjut tentang membangun dan mengembangkan ARGUS-SAF, silakan lihat panduan kami untuk berkontribusi. Orang -orang yang memberikan ide -ide bagus terdaftar dalam kontributor.
Jika Anda tidak tahu harus berkontribusi apa, Anda dapat memeriksa pelacak masalah dengan label help wanted , dan mengklaim satu untuk membantu diri Anda pemanasan dengan Argus-SAF.