
مُعرّف تطبيقات أندرويد للحزم والحمايات والمُشوِّهات والغرائب - PEiD لأندرويد
يمنحك APKiD معلومات حول كيفية إنشاء ملف APK. إنه يحدد العديد من المترجمات والحزم والمُبهمات وغيرها من الأشياء الغريبة. إنه PEiD لنظام أندرويد.

لمزيد من المعلومات حول استخدام هذه الأداة، اطّلع على:
pip install apkid
يمكنك أيضًا تشغيل APKiD باستخدام Docker! بالطبع، يتطلب ذلك تثبيت git و Docker.
إليك كيفية استخدام Docker:
git clone https://github.com/rednaga/APKiD
cd APKiD/
docker build . -t rednaga:apkid
docker/apkid.sh ~/reverse/targets/android/example/example.apk
[+] APKiD 2.1.0 :: from RedNaga :: rednaga.io
[*] example.apk!classes.dex
|-> compiler : dx
usage: apkid [-h] [-v] [-t TIMEOUT] [-r] [--scan-depth SCAN_DEPTH]
[--entry-max-scan-size ENTRY_MAX_SCAN_SIZE] [--typing {magic,filename,none}] [-j]
[-o DIR]
[FILE [FILE ...]]
APKiD - Android Application Identifier v2.1.2
positional arguments:
FILE apk, dex, or directory
optional arguments:
-h, --help show this help message and exit
-v, --verbose log debug messages
scanning:
-t TIMEOUT, --timeout TIMEOUT Yara scan timeout (in seconds)
-r, --recursive recurse into subdirectories
--scan-depth SCAN_DEPTH how deep to go when scanning nested zips
--entry-max-scan-size ENTRY_MAX_SCAN_SIZE max zip entry size to scan in bytes, 0 = no limit
--typing {magic,filename,none} method to decide which files to scan
output:
-j, --json output scan results in JSON format
-o DIR, --output-dir DIR write individual results here (implies --json)
إذا صادفت ملف APK أو DEX لا يتعرف عليه APKiD، يُرجى فتح مشكلة على GitHub وإخبارنا بـ:
نحن منفتحون على أي نوع من المفاهيم التي قد تكون لديك لـ "شيء مثير للاهتمام" لاكتشافه، لذا لا تقصر نفسك على الحزم أو المترجمات أو المبهمات فقط. إذا كانت هناك خدعة مثيرة للاهتمام لمضاد التفكيك أو مضاد الآلة الافتراضية أو مضاد أي شيء آخر، فيُرجى إنشاء مشكلة.
مرحب بطلبات السحب. إذا كنت تقدم قاعدة جديدة، تأكد من تضمين تجزئة ملف APK / DEX حتى نتمكن من فحص القاعدة.
هذه الأداة متاحة بموجب ترخيص مزدوج: ترخيص تجاري مناسب للمشاريع مغلقة المصدر، ورخصة GPL يمكن استخدامها في البرامج مفتوحة المصدر.
اعتمادًا على احتياجاتك، يجب عليك اختيار أحدهما واتباع سياساته. تفاصيل السياسات والاتفاقيات لكل نوع ترخيص متاحة في ملفي LICENSE.COMMERCIAL و LICENSE.GPL.
إذا كنت ترغب في تثبيت أحدث إصدار من أجل إجراء تغييرات، أو تطوير قواعدك الخاصة، وما إلى ذلك، فما عليك سوى استنساخ هذا المستودع، وتجميع القواعد، وتثبيت الحزمة في الوضع القابل للتحرير:
git clone https://github.com/rednaga/APKiD
cd APKiD
python prep-release.py
pip install -e .[dev,test]
إذا لم يعمل ما سبق بسبب أخطاء الإذن المعتمدة على جهازك المحلي ومكان تثبيت Python، فجرّب استخدام العلامة --user. هذا ضروري على الأرجح إذا كنت لا تستخدم بيئة افتراضية:
pip install -e .[dev,test] --user
إذا قمت بتحديث أي من القواعد، تأكد من تشغيل prep-release.py لإعادة تجميعها.
إذا كنت تستخدم Windows، فقم بتثبيت Yara 3.11.0 و yara-python-dex قبل التجميع:
pip install yara-python==3.11.0
pip install wheel
pip wheel --wheel-dir=yara-python-dex git+https://github.com/MobSF/yara-python-dex.git
pip install --no-index --find-links=yara-python-dex yara-python-dex
عند إصدار إصدار جديد، تأكد من تحديث الإصدار في ملف apkid/init.py.
أما بالنسبة لتشغيل الاختبارات، فاطّلع على .travis.yml لترى كيف يتم إعداد بيئات التطوير والاختبار وتشغيل الاختبارات.
قم بتحديث القواعد المترجمة، وملف readme، وبناء الحزمة، ورفعها إلى PyPI:
./prep-release.py readme
rm -f dist/*
python setup.py sdist bdist_wheel
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
لمزيد من المعلومات، راجع تغليف المشاريع.