هذا هو الشكوى الرسمية ل 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 ، فيجب عليك ترجمته إلى التنسيق المقابل.
متطلبات: جافا 10
$ java -jar argus-saf_***-version-assembly.jar
من أجل المشاركة في تطوير Argus-SAF ، تحتاج إلى:
تثبيت البرنامج التالي:
مفترق هذا المستودع واستنساخه على جهاز الكمبيوتر الخاص بك
$ git clone https://github.com/arguslab/Argus-SAF.git
افتح Idea Intellij ، حدد File -> New -> Project from existing sources (إذا كان من النافذة الأولية: Import Project ) ، أشير إلى الدليل حيث يكون مستودع Argus -SAF ثم استيراده كمشروع SBT project .
عند الانتهاء من الاستيراد ، انتقل إلى دليل Argus-Saf Repo و Run
$ git checkout .idea
من أجل الحصول على القطع الأثرية وتشغيل التكوينات لمشروع Idea.
[اختياري] لبناء Argus-SAF أكثر سلاسة ، يجب أن تعطي 2 جيجابايت من حجم الكومة لعملية التحويل البرمجي.
إذا كنت تستخدم خادم مجموعة 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 و Run
$ 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 ، يرجى أيضًا الاطلاع على إرشاداتنا للمساهمة. يتم سرد الأشخاص الذين قدموا أفكارًا ممتازة في المساهم.
إذا كنت لا تعرف ما الذي تساهم فيه ، فيمكنك الخروج من Tracker Possion Track مع تسمية help wanted ، والمطالبة بمساعدة نفسك في الاحماء مع Argus-SAF.