
فك التعبئة الساكنة للبرمجيات الخبيثة المصرفية الشائعة لنظام أندرويد.
kavanoz (جرة بالتركية) هي أداة لفك تغليف البرمجيات الخبيثة المصرفية الشائعة لنظام أندرويد بشكل ثابت (static). هل سبق أن أردت الحصول على الحمولة من برمجية خبيثة مغلّفة دون تشغيل محاكي أندرويد؟ ولا أنا كذلك :) لكن هذه أداة على أي حال.

pip install kavanoz
لتثبيتها من المصدر، استنسخ المستودع وقم بتثبيت قابل للتعديل باستخدام -e. وهذا يعني أنه إذا عدّلت أو أضفت إضافات جديدة إلى المشروع، فسيتم استخدامها دون إعادة التثبيت.
git clone https://github.com/eybisi/kavanoz.git
cd kavanoz
pip install -e .
من سطر الأوامر
kavanoz /tmp/filepath
يمكنك استخدام المعامل -vvv لطباعة سجلات مفصّلة (مفيد لتصحيح أخطاء الإضافات).
كمكتبة بايثون
from kavanoz.core import Kavanoz
from kavanoz import utils
utils.set_log("DEBUG")
k = Kavanoz(apk_path="tests/test_apk/coper.apk")
for plugin_result in k.get_plugin_results():
if plugin_result["status"] == "success":
print("Unpacked")
print(plugin_result)
break
تأكد من تثبيت kavanoz كحزمة قابلة للتعديل (editable) باستخدام -e. لإضافة إضافات جديدة، فقط أنشئ ملفًا جديدًا في مجلد loader. وسّع كلاس Unpacker من ملف unpack_plugin.py. عرّف دالة start_decrypt مع التنفيذ الخاص بك.
def start_decrypt(self, apk_object: APK, dexes: "list[DEX]"):
أضف الدالة التالية للسماح بالخروج المبكر من الإضافة.
def lazy_check(self,apk_object:APK, dexes: "list[DEX]"):
إذا نجح الاستخراج، عيّن self.decrypted_payload_path إلى مسار الملف المستخرج. يمكنك استخدام الدوال المساعدة من كلاس unpacker:
تأكد من تشغيل python -m unittest قبل فتح طلب سحب (PR). للحصول على ملفات apk الاختبارية، استخدم الأمر git lfs pull.
self.dexes تحتوي على كائنات dex. يمكنك الحصول على الكلاس باستخدام dex.get_class(smali_annotation_of_class).self.apk_object.get_files().application = self.apk_object.get_attribute_value("application", "name") للحصول على كلاس التطبيق المعرّف في ملف manifest.apkdetect.com لتوفيرهم عينات فريدة للعمل عليها.