Ceci est un reporior officiel pour l'Argus-Saf.
Pour tester et jouer avec Argus-SAF, vous pouvez se débarrasser de notre projet Argus-saf-Playground, qui ont la configuration de base pour un projet amélioré Argus-Saf avec des codes de démonstration de la façon d'effectuer différents types d'analyses.
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.
Dépendre de la jawa en modifiant build.sbt :
libraryDependencies += "com.github.arguslab" %% "jawa" % VERSION
Dépendre de l'amandroid en modifiant build.sbt :
libraryDependencies += "com.github.arguslab" %% "amandroid" % VERSION
Notez que: dépendre de l'amandroid ajoutera automatiquement Jawa comme dépendance. Si vous utilisez Maven ou Gradle, vous devez le traduire au format correspondant.
Exigence: Java 10
$ java -jar argus-saf_***-version-assembly.jar
Afin de participer au développement d'Argus-Saf, vous devez:
Installez le logiciel suivant:
Fourk ce référentiel et le cloner sur votre ordinateur
$ git clone https://github.com/arguslab/Argus-SAF.git
Ouvrez Intellij Idea, sélectionnez File -> New -> Project from existing sources (If From Initial Window: Import Project ), indiquez le répertoire où se trouve le référentiel Argus-Saf, puis l'importez-le en tant que SBT project .
Une fois l'importation terminée, accédez à Argus-Saf Repo Directory et exécutez
$ git checkout .idea
Afin d'obtenir des artefacts et d'exécuter des configurations pour Idea Project.
[Facultatif] Pour construire Argus-Saf plus lisse, vous devez donner 2 Go de la taille du tas au processus du compilateur.
Si vous utilisez Scala Compile Server (par défaut): Settings > Languages & Frameworks > Scala Compile Server > JVM maximum heap size
Si le serveur de compilation Scala est désactivé: Settings > Build, Execution, Deployment > Compiler > Build process heap size
Construisez Argus-Saf à partir de la ligne de commande: accédez au répertoire de repo Argus-Saf et exécutez
$ tools/bin/sbt clean compile test
$ tools/bin/sbt assembly
Installez JN-Saf et NativeDroid :
$ tools/scripts/install.sh
Vous pouvez installer l'un ou l'autre par:
$ tools/scripts/install.sh jnsaf
$ tools/scripts/install.sh nativedroid
Après l'installation de JN-Saf et NativeDroid . Courir:
$ 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
Intégration du bazel en cours. Ignorez tous les fichiers de construction pour l'instant.
Pour contribuer à l'Argus-Saf, veuillez nous envoyer une demande de traction de votre fourche de ce référentiel!
Pour plus d'informations sur la construction et le développement d'argus-saf, veuillez également consulter nos directives pour la contribution. Les personnes qui ont fourni d'excellentes idées sont répertoriées dans le contributeur.
Si vous ne savez pas quoi contribuer, vous pouvez consulter le tracker du problème avec help wanted Label et réclamer un pour vous aider à vous réchauffer avec Argus-Saf.