bytecodedl
أداة تحليل ثابت التصريح لـ JVM Bytecode المستندة إلى Datalog مثل CodeQL
لماذا bytecodedl
تطور اسم Bytecodedl من CodeQl. يتوافق Bytecode مع الكود و DL يتوافق مع QL. إنها أداة تحليل ثابت التصريح ، وذلك أساسًا للتعويض عن الأسف بأن CodeQL لا يمكنه تحليل Bytecode مباشرة.
هذا المشروع له غرضان رئيسيان:
- الغرض من التدريس هو مساعدتك في البدء في التحليل الثابت. سيوضح هذا المشروع كيفية تنفيذ بعض خوارزميات التحليل الثابت من خلال Datalog. بالمقارنة مع التحليل الثابت الضروري ، هذه الطريقة أبسط بكثير. بعد تعلم المبادئ الأساسية ، يمكنك أيضًا تقديم القواعد بنفسك.
- لتحسين كفاءة الحفر ، لا يمكن للباحثين الأمن عمومًا الحصول على رمز المصدر. في معظم الحالات ، يمكنهم فقط تحليل حزمة JAR ، ثم إلقاء نظرة على الكود المنقلب من خلال IDEA. الكفاءة منخفضة نسبيا. آمل أن تكون وظيفة البحث ووظيفة تحليل الرسم البياني ووظيفة تحليل البقع التي توفرها BYTECODEDL تحسين كفاءة الحفر للباحثين الأمن.
ثَبَّتَ
- قم بتنزيل أو بناء المولد
- تثبيت Souffle
- تثبيت neo4j
عامل ميناء
يمكنك استخدام Docker الذي قمنا بإنشائه مثل Docker-corm.yml
سمات
الاستخدام
انظر مجلد المستندات
يدعم
ما هي المشكلات التي واجهتها أثناء الاستخدام يمكن القيام بها من خلال
ثلاث طرق لتعليقاتنا
البرنامج المساعد
- فكرة
- BYTECODEDL HELPER BDLH
- Plugin intellij-datalog لغة داتالوج
شكر وتقدير
- بفضل المعلمين Li Yue و Tan Tian من جامعة نانيانغ ، الذين قدموا مجال التحليل الثابت من خلال دورة تحليل البرنامج التي قدموها.
- بفضل DOOP ، يتم توفير generator.jar SOOT.JAR.