이것은 Argus-SAF의 공식 기호입니다.
Argus-SAF를 테스트하고 플레이하려면 Argus-SAF-Playground Project에서 포크 할 수 있습니다. Argus-SAF-Playground Project는 다양한 종류의 분석을 수행하는 방법에 대한 데모 코드가 포함 된 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 : 편집하여 Jawa에 의존합니다.
libraryDependencies += "com.github.arguslab" %% "jawa" % VERSION
build.sbt : 편집하여 Amandroid에 의존합니다.
libraryDependencies += "com.github.arguslab" %% "amandroid" % VERSION
참고 : Amandroid에 의존하면 자 와와가 자동으로 종속성을 추가합니다. Maven 또는 Gradle을 사용하는 경우 해당 형식으로 번역해야합니다.
요구 사항 : Java 10
$ java -jar argus-saf_***-version-assembly.jar
Argus-SAF 개발에 참여하려면 다음을 수행해야합니다.
다음 소프트웨어를 설치하십시오.
이 저장소를 포크하고 컴퓨터로 복제하십시오
$ git clone https://github.com/arguslab/Argus-SAF.git
File -> New -> Project from existing sources Import Project SBT project
가져 오기가 완료되면 Argus-SAF Repo 디렉토리로 이동하여 실행하십시오.
$ git checkout .idea
아티팩트를 얻고 아이디어 프로젝트를위한 구성을 실행하기 위해.
[선택 사항] Argus-SAF를 더 부드럽게 만들려면 2GB의 힙 크기를 컴파일러 프로세스에 제공해야합니다.
Scala Compile Server (기본값) : Settings > Languages & Frameworks > Scala Compile Server > JVM maximum heap size 사용하는 경우
Scala Compile 서버가 비활성화 된 경우 : 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로 자신을 데우도록 도와달라고 주장 할 수 있습니다.