Это официальное репорторий для 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.
Зависит от Jawa, редактируя build.sbt :
libraryDependencies += "com.github.arguslab" %% "jawa" % VERSION
Зависит от Amandroid, редактируя build.sbt :
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, выберите File -> New -> Project from existing sources (если из начального окна: Import Project ), укажите на каталог, где находится репозиторий Argus -SAF, а затем импортируйте его как SBT project .
При завершении импорта перейдите в Directory Argus-Saf Repo и запустите
$ git checkout .idea
Чтобы получить артефакты и запустить конфигурации для Idea Project.
[Необязательно] Чтобы создать Argus-SAF более гладкий, вы должны дать 2 ГБ размера кучи процессу компилятора.
Если вы используете Scala Compile Server (по умолчанию): Settings > Languages & Frameworks > Scala Compile Server > JVM maximum heap size
Если Scala Compil Server отключен: 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
Интеграция Базеля в прогрессе. На данный момент игнорируйте все файлы сборки.
Чтобы внести свой вклад в Argus-Saf, пожалуйста, отправьте нам запрос на привлечение из вашей вилки этого репозитория!
Для получения дополнительной информации о создании и разработке Argus-SAF, пожалуйста, ознакомьтесь с нашими рекомендациями для участия. Люди, которые предоставили отличные идеи, перечислены в участнике.
Если вы не знаете, что внести вклад, вы можете проверить трекер проблемы с help wanted и претендовать на один, чтобы помочь себе согреться с Argus-Saf.