Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
droidlysis — أداة تحليل أولي آلي لتطبيقات Android تقوم بفك تجميع العينات، واستخراج الخصائص عبر مطابقة الأنماط القابلة للتكوين، وتنظيم المخرجات لتسريع عمليات الهندسة العكسية وتحليل البرامج الضارة. | Kitploit
أدوات/GitHubGitHub/cryptax/droidlysis
أمان أندرويدالتحليل الثابتالهندسة العكسيةجمع المعلوماتتحليل البرمجيات الخبيثةأمن الجوال
GitHubcryptax/droidlysis

droidlysis

أداة تحليل أولي آلي لتطبيقات Android تقوم بفك تجميع العينات، واستخراج الخصائص عبر مطابقة الأنماط القابلة للتكوين، وتنظيم المخرجات لتسريع عمليات الهندسة العكسية وتحليل البرامج الضارة.

عرض المستودع
31149منذ 10 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

DroidLysis

DroidLysis هي أداة تحليل مسبق لتطبيقات أندرويد: تقوم بتنفيذ المهام المتكررة والمملة التي نقوم بها عادةً في بداية أي هندسة عكسية. تقوم بتفكيك عينة الأندرويد، وتنظيم المخرجات في أدلة، والبحث عن نقاط مشبوهة في الكود للنظر إليها. يساعد المخرجات مهندس الهندسة العكسية على تسريع الخطوات الأولى للتحليل.

يمكن استخدام DroidLysis مع حزم أندرويد (apk)، وملفات Dalvik التنفيذية (dex)، وملفات Zip (zip)، وملفات Rar (rar)، أو أدلة من الملفات.

تثبيت DroidLysis

  1. تثبيت حزم النظام المطلوبة
root@kitploit:~
sudo apt-get install default-jre git python3 python3-pip unzip wget libmagic-dev libxml2-dev libxslt-dev
  1. تثبيت أدوات فك تجميع أندرويد
  • Apktool ,
  • Baksmali، واختيارياً
  • Dex2jar و
root@kitploit:~
$ mkdir -p ~/softs
$ cd ~/softs
$ wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.9.3.jar
$ wget https://bitbucket.org/JesusFreke/smali/downloads/baksmali-2.5.2.jar
$ wget https://github.com/pxb1988/dex2jar/releases/download/v2.4/dex-tools-v2.4.zip
$ unzip dex-tools-v2.4.zip 
$ rm -f dex-tools-v2.4.zip 
  1. الحصول على DroidLysis من مستودع Git (مفضل) أو من pip

قم بالتثبيت من Git في بيئة افتراضية من Python (python3 -m venv، أو بيئات pyenv الافتراضية إلخ).

root@kitploit:~
$ python3 -m venv venv
$ source ./venv/bin/activate
(venv) $ pip3 install git+https://github.com/cryptax/droidlysis

بدلاً من ذلك، يمكنك تثبيت DroidLysis مباشرةً من PyPi (pip3 install droidlysis).

  1. قم بتكوين conf/general.conf. تأكد بشكل خاص من تغيير /home/axelle بأدلةك المناسبة.
root@kitploit:~
[tools]
apktool = /home/axelle/softs/apktool_2.9.3.jar
baksmali = /home/axelle/softs/baksmali-2.5.2.jar
dex2jar = /home/axelle/softs/dex-tools-v2.4/d2j-dex2jar.sh
keytool = /usr/bin/keytool
...
  1. قم بتشغيله:
root@kitploit:~
python3 ./droidlysis3.py --help

التكوين

ملف التكوين هو ./conf/general.conf (يمكنك التبديل إلى ملف آخر باستخدام الخيار --config). هنا تقوم بتكوين موقع الأدوات الخارجية المختلفة (مثل Apktool)، واسم ملفات الأنماط (افتراضياً ./conf/smali.conf، ./conf/wide.conf، ./conf/arm.conf، ./conf/kit.conf) واسم ملف قاعدة البيانات (يُستخدم فقط إذا قمت بتحديد --enable-sql)

تأكد من تحديد المسارات الصحيحة لأدوات فك التجميع، وإلا لن تجدها DroidLysis.

الاستخدام

يستخدم DroidLysis Python 3. لتشغيله والحصول على الخيارات:

root@kitploit:~
droidlysis --help

على سبيل المثال، اختبره على APK Signal:

root@kitploit:~
droidlysis --input Signal-website-universal-release-6.26.3.apk --output /tmp --config /PATH/TO/DROIDLYSIS/conf/general.conf

مخرجات DroidLysis:

  • ملخص على وحدة التحكم (انظر الصورة أعلاه)
  • العينة المفكوكة والمعالجة مسبقاً في دليل فرعي من دليل المخرجات الخاص بك. يُسمى الدليل الفرعي باستخدام اسم الملف ورقم sha256 الخاص بالعينة. على سبيل المثال، إذا قمنا بتحليل تطبيق Signal ووضعنا --output /tmp، فسيتم كتابة التحليل إلى /tmp/Signalwebsiteuniversalrelease4.52.4.apk-f3c7d5e38df23925dd0b2fe1f44bfa12bac935a6bc8fe3a485a4436d4487a290.
  • قاعدة بيانات (افتراضياً، SQLite droidlysis.db) تحتوي على الخصائص التي لاحظتها.

الخيارات

احصل على الاستخدام مع droidlysis --help

  • يمكن أن يكون الإدخال ملفاً أو دليلاً من الملفات للبحث فيه بشكل متكرر. يعرف DroidLysis كيفية معالجة حزم أندرويد، وملفات DEX و ODEX و ARM التنفيذية، و ZIP، و RAR. لن يفشل DroidLysis في أنواع الملفات الأخرى (إلا في حالة وجود خطأ...) لكنه لن يتمكن من فهم المحتوى.

  • عند معالجة أدلة الملفات، من المفيد عادةً نقل العينات المعالجة إلى موقع آخر لمعرفة ما تمت معالجته. يتم التعامل مع هذا بواسطة الخيار --movein. أيضًا، إذا كنت مهتمًا فقط بالإحصائيات، فيجب عليك على الأرجح مسح دليل المخرجات الذي يحتوي على معلومات مفصلة لكل عينة: هذا هو الخيار --clearoutput. إذا كنت تريد تخزين جميع الإحصائيات في قاعدة بيانات SQL، فاستخدم --enable-sql (انظر هنا)

  • لا يقوم تحليل DroidLysis بفحص SDK الطرف الثالث المعروف افتراضيًا، أي أنه على سبيل المثال لن يبلغ عن أي نشاط مشبوه منها. إذا كنت تريد فحصها، فاستخدم الخيار --no-kit-exception. يؤدي هذا عادةً إلى إنشاء العديد من الخصائص المكتشفة للعينة، حيث أن SDK (مثل الإعلانات) تستخدم العديد من واجهات برمجة التطبيقات المميزة (احصل على موقع GPS، احصل على IMEI، احصل على IMSI، HTTP POST...).

دليل مخرجات العينة (--output DIR)

يحتوي هذا الدليل على (عند الاقتضاء):

  • AndroidManifest.xml قابل للقراءة
  • الموارد القابلة للقراءة في res
  • المكتبات lib، الأصول assets
  • كود Smali المفكك: smali (وغيرها)
  • معلومات بيانات الحزمة: META-INF
  • محتويات الحزمة عند فك ضغطها ببساطة في ./unzipped
  • الملف التنفيذي DEX classes.dex (وغيرها)، وتحويله إلى jar: classes-dex2jar.jar، وفك ضغطه في ./unjarred

يتم إنشاء الملفات التالية بواسطة DroidLysis:

  • autoanalysis.md: يسرد كل نمط اكتشفه DroidLysis وأين.
  • report.md: نفس ما طُبع على وحدة التحكم

إذا كنت لا تحتاج إلى إنشاء دليل مخرجات العينة، فاستخدم الخيار --clearoutput.

استيراد المتتبعات من Exodus إلخ (--import-exodus)

root@kitploit:~
$ python3 ./droidlysis3.py --import-exodus --verbose
Processing file: ./droidurl.pyc ...
DEBUG:droidconfig.py:Reading configuration file: './conf/./smali.conf'
DEBUG:droidconfig.py:Reading configuration file: './conf/./wide.conf'
DEBUG:droidconfig.py:Reading configuration file: './conf/./arm.conf'
DEBUG:droidconfig.py:Reading configuration file: '/home/axelle/.cache/droidlysis/./kit.conf'
DEBUG:droidproperties.py:Importing ETIP Exodus trackers from https://etip.exodus-privacy.eu.org/api/trackers/?format=json
DEBUG:connectionpool.py:Starting new HTTPS connection (1): etip.exodus-privacy.eu.org:443
DEBUG:connectionpool.py:https://etip.exodus-privacy.eu.org:443 "GET /api/trackers/?format=json HTTP/1.1" 200 None
DEBUG:droidproperties.py:Appending imported trackers to /home/axelle/.cache/droidlysis/./kit.conf

يتم إلحاق المتتبعات من Exodus غير الموجودة في kit.conf الأولي الخاص بك إلى ~/.cache/droidlysis/kit.conf. قارن بين الملفين وتحقق من المتتبعات التي ترغب في إضافتها.

قاعدة بيانات SQLite{#sqlite_database}

إذا كنت تريد معالجة دليل من العينات، فربما تود تخزين الخصائص التي وجدها DroidLysis في قاعدة بيانات، لتحليل النتائج والاستعلام عنها بسهولة. في هذه الحالة، استخدم الخيار --enable-sql. سيؤدي هذا تلقائيًا إلى تفريغ جميع النتائج في قاعدة بيانات باسم droidlysis.db، في جدول باسم samples. كل إدخال في الجدول يتعلق بعينة معينة. كل عمود هو خصائص يتتبعها DroidLysis.

على سبيل المثال، لاسترداد جميع أسماء الملفات ومجموع SHA256 وخصائص smali لقاعدة البيانات:

root@kitploit:~
sqlite> select sha256, sanitized_basename, smali_properties from samples;
f3c7d5e38df23925dd0b2fe1f44bfa12bac935a6bc8fe3a485a4436d4487a290|Signalwebsiteuniversalrelease4.52.4.apk|{"send_sms": true, "receive_sms": true, "abort_broadcast": true, "call": false, "email": false, "answer_call": false, "end_call": true, "phone_number": false, "intent_chooser": true, "get_accounts": true, "contacts": false, "get_imei": true, "get_external_storage_stage": false, "get_imsi": false, "get_network_operator": false, "get_active_network_info": false, "get_line_number": true, "get_sim_country_iso": true,
...

أنماط الخصائص

يمكن تكوين وتوسيع ما يكتشفه DroidLysis في ملفات دليل ./conf.

يتكون النمط من:

  • اسم علامة: مثال send_sms. هذا لتسمية الخاصية. يجب أن يكون فريدًا عبر ملف .conf.
  • نمط: هذا تعبير عادي يتم مطابقته. مثال: ;->sendTextMessage|;->sendMultipartTextMessage|SmsManager;->sendDataMessage. في ملف smali.conf، تتم مطابقة هذا التعبير العادي على كود Smali. في هذه الحالة بالذات، هناك 3 طرق مختلفة لإرسال رسائل SMS من الكود: sendTextMessage و sendMultipartTextMessage و sendDataMessage.
  • وصف (اختياري): يشرح أهمية الخاصية وما تعنيه.
root@kitploit:~
[send_sms]
pattern=;->sendTextMessage|;->sendMultipartTextMessage|SmsManager;->sendDataMessage
description=إرسال رسائل SMS

استيراد متتبعات خصوصية Exodus

تحتفظ Exodus Privacy بقائمة من SDKs المختلفة التي من المثير استبعادها من تحليلنا عبر conf/kit.conf. أضف الخيار --import_exodus إلى سطر أوامر droidlysis: هذا سيحلل المتتبعات الموجودة التي تعرفها Exodus Privacy والتي ليست موجودة بعد في kit.conf الخاص بك. أخيرًا، سيقوم بإلحاق جميع المتتبعات الجديدة إلى ~/.cache/droidlysis/kit.conf.

بعد ذلك، قد ترغب في ترتيب ملف kit.conf الخاص بك:

root@kitploit:~
import configparser
import collections
import os

config = configparser.ConfigParser({}, collections.OrderedDict)
config.read(os.path.expanduser('~/.cache/droidlysis/kit.conf'))
# ترتيب جميع الأقسام أبجديًا
config._sections = collections.OrderedDict(sorted(config._sections.items(), key=lambda t: t[0] ))
with open('sorted.conf','w') as f:
    config.write(f)

نص JEB لخصائص smali

يساعدك هذا النص في البحث عن الطرق على واجهة JEB التي تحتوي على كود يطابق نمط smali والتنقل بسهولة إلى تلك الوظائف. عند تحميل النص وتحديد ملف details.md بين ملفات تحليل droidlysis، سيظهر مربع بحث. بمجرد نقله، يمكنك بسهولة إظهار نافذة البحث مرة أخرى باستخدام اختصار تنفيذ النص الأخير.

  • JEB > ملف > نصوص > محدد النص > script/DroidlysisSearch.py
  • JEB > ملف > نصوص > تشغيل آخر نص

التحديثات

  • v3.4.7 - إزالة Procyon، دمج عدة PR #24 و #25، إضافة اكتشاف أكثر تفصيلاً لإساءة استخدام إمكانية الوصول
  • v3.4.6 - اكتشاف ميزة البيان التي تقوم تلقائيًا بتحميل APK عند التثبيت
  • v3.4.5 - إنشاء ملف kit.conf مستخدم قابل للكتابة
  • v3.4.4 - إصلاح الخلل #14
  • v3.4.3 - استخدام ملفات التكوين
  • v3.4.2 - إضافة استيراد متتبعات خصوصية Exodus
  • v3.4.1 - إزالة الاعتماد على Androguard
  • v3.4.0 - دعم Multidex
  • v3.3.1 - تحسين اكتشاف سلاسل Base64
  • v3.3.0 - تفريغ البيانات إلى JSON
  • v3.2.1 - اكتشاف عنوان IP
  • v3.2.0 - Dex2jar اختياري
  • v3.1.0 - اكتشاف سلاسل Base64
تنزيل الأداة