Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
NinjaDroid — هندسة عكسية نينجا لحزم APK على أندرويد | Kitploit
أدوات/GitHubGitHub/rovellipaolo/ninjadroid
أمان أندرويدالتحليل الثابتالهندسة العكسيةأمن الجوالتحليل الملفات الثنائية
GitHubrovellipaolo/ninjadroid

NinjaDroid

هندسة عكسية نينجا لحزم APK على أندرويد

عرض المستودع
2874823منذ 4 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

نينجا درويد

نينجا درويد (NinjaDroid) هي أداة بسيطة لهندسة عكسية لحزم تطبيقات أندرويد (APK).

منشور على: https://snapcraft.io/ninjadroid```shell $ snap install ninjadroid --channel=beta

[![حالة البناء: إجراءات GitHub](https://github.com/rovellipaolo/NinjaDroid/actions/workflows/ci.yml/badge.svg)](https://github.com/rovellipaolo/NinjaDroid/actions)
[![تغطية الاختبار: Coveralls](https://coveralls.io/repos/github/rovellipaolo/NinjaDroid/badge.svg)](https://coveralls.io/github/rovellipaolo/NinjaDroid)
[![الرخصة: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

[![احصل عليه من متجر Snap](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/ninjadroid)

![NinjaDroid](https://assets.kitploit.com/production/public/readmes/4568/71f6e3768aa2e887064c58d1d0355577f24435dfe238892a763269d312e5057d.gif "فيديو تعريفي لـ NinjaDroid")



## نظرة عامة

يستخدم NinjaDroid مكتبة [AXMLParser](https://github.com/appknox/pyaxmlparser) مع سلسلة من نصوص Python المبنية على أدوات `aapt` و`keytool` و`string` وغيرها لاستخراج مجموعة من المعلومات من حزمة APK معينة، مثل:

- قائمة ملفات APK: اسم الملف، الحجم، MD5، SHA-1، SHA-256 وSHA-512
- معلومات `AndroidManifest.xml`: اسم التطبيق، اسم الحزمة، الإصدار، SDKs، الأذونات، الأنشطة، الخدمات، مستقبلات البث، ...
- معلومات الشهادة الرقمية `CERT.RSA/DSA`: الرقم التسلسلي، الصلاحية، البصمة، المُصدر والمالك
- قائمة عناوين URL وأوامر shell وسلاسل نصية عامة أخرى مشفرة بشكل ثابت داخل ملفات `classes.dex`

علاوة على ذلك، يستخدم NinjaDroid أدوات [apktool](https://github.com/iBotPeaches/Apktool) و[dex2jar](https://github.com/pxb1988/dex2jar) لاستخراج وتخزين:

- ملف تقرير JSON، الذي يحتوي على جميع معلومات APK المستخرجة
- ملف `AndroidManifest.xml` (بفضل `apktool`)
- ملف الشهادة الرقمية `CERT.RSA/DSA`
- ملفات `classes.dex`
- ملف _.jar_ المُترجم (بفضل `dex2jar`)
- ملفات smali المفككة (بفضل `apktool`)
- مجلدات `assets/` و`res/` مع محتواها (بفضل `apktool`)



## بناء

الخطوة الأولى هي استنساخ مستودع NinjaDroid، أو تنزيل شيفرته المصدرية.```shell
$ git clone https://github.com/rovellipaolo/NinjaDroid
$ cd NinjaDroid

لدى NinjaDroid عدة طرق للتشغيل: أصليًا في بيئتك المحلية، عبر Docker، أو كـ Flatpak (تجريبي)، أو كـ Snap (تجريبي).

أصليًا

لتشغيل NinjaDroid على جهازك المحلي، تحتاج إلى تثبيت Python 3.5 أو أحدث، و Java 8 أو أحدث، و binutils.

اختياريًا، إذا كان لديك Android SDK مثبتًا محليًا، يمكنك استخدام إصدار SDK من aapt بدلاً من الإصدار المضمن. للقيام بذلك، تحتاج إلى تغيير موقع aapt في ملف ninjadroid/aapt/Aapt.py (أي __AAPT_EXEC_PATH = "ninjadroid/aapt/aapt").

Linux

ما عليك سوى تشغيل الأوامر التالية، والتي ستقوم بتثبيت جميع تبعيات Python (مع التأكد من أن aapt و apktool و dex2jar لها أذونات تنفيذ) وإضافة رابط رمزي ninjadroid إلى /usr/local/bin/.

git clone https://github.com/evilpan/ninjadroid
cd ninjadroid
pip install -r requirements.txt
chmod +x ninjadroid/aapt/aapt ninjadroid/apktool/apktool.jar ninjadroid/dex2jar/d2j-dex2jar.sh
ln -s $(pwd)/ninjadroid.py /usr/local/bin/ninjadroid
``````shell
$ make build-linux
$ make install
$ ninjadroid --help

MacOS

ما عليك سوى تشغيل الأوامر التالية، والتي ستقوم بتثبيت جميع تبعيات Python اللازمة (مع التأكد من أن aapt و apktool و dex2jar لها أذونات تنفيذية) وإضافة رابط رمزي ninjadroid إلى /usr/local/bin/.```shell $ make build-macos $ make install $ ninjadroid --help

### Docker
لتنفيذ NinjaDroid في Docker، تحتاج إلى `Docker` مثبت.
لبناء صورة Docker، قم بتشغيل الأوامر التالية:```shell
$ make build-docker
$ docker run --name ninjadroid ninjadroid:latest ninjadroid --help

لاحظ أنك تحتاج إلى ربط الدليل الذي يحتوي على حزمة APK الهدف بصورة Docker:```shell $ mkdir apks $ cp /path/to/your/package.apk apks/package.apk $ docker run --name ninjadroid -it --rm -v $(pwd)/apks:/apks ninjadroid:latest ninjadroid /apks/package.apk -aj

وينطبق الأمر نفسه أيضًا على دليل الإخراج عند استخدام الخيار `-e`/`--extract`، والذي تحتاج أيضًا إلى منحه أذونات:```shell
$ mkdir output
$ chmod 777
$ docker run --name ninjadroid --rm -v $(pwd)/apks:/apks -v $(pwd)/output:/output ninjadroid:latest ninjadroid /apks/package.apk -ae /output

فلاتباك (تجريبي)

لتشغيل NinjaDroid كـ Flatpak، تحتاج إلى تثبيت Flatpak و flatpak-builder. ما عليك سوى تشغيل الأوامر التالية، والتي ستقوم بتثبيت جميع تبعيات Flatpak المطلوبة:```shell $ make build-flatpak $ flatpak-builder --run flatpak/build flatpak/com.github.rovellipaolo.NinjaDroid.yaml ninjadroid --help

**ملاحظة:** خيار `-e`/`--extract` لا يعمل بشكل صحيح حالياً (انظر: https://github.com/rovellipaolo/NinjaDroid/issues/21).


### Snap (تجريبي)
لتشغيل NinjaDroid كـ Snap، تحتاج إلى تثبيت `Snap` و`snapcraft`.
ما عليك سوى تشغيل الأوامر التالية، والتي ستقوم بتثبيت جميع تبعيات Snap المطلوبة:```shell
$ make build-snap
$ make install-snap
$ ninjadroid --help

ملاحظة: لا يعمل الخيار -e/--extract بشكل صحيح عند تثبيت snap دون استخدام الخيار --devmode (انظر: https://github.com/rovellipaolo/NinjaDroid/issues/20).

اختبار

بعد تكوينه (انظر قسم "التثبيت")، يمكنك أيضًا تشغيل الاختبارات والتحقق من النمط كما يلي.

محلي

لتشغيلها على جهازك المحلي، أطلق الأوامر التالية:```shell $ make test $ make regression $ make checkstyle

يمكنك أيضًا تشغيل الاختبارات مع التغطية عن طريق تشغيل الأمر التالي:```shell
$ make test-coverage

و/أو قم بتكوين checkstyle ليعمل تلقائياً عند كل git commit عن طريق إطلاق الأمر التالي:``` $ make install-githooks

### Docker
لتشغيلها في Docker، قم بتشغيل الأوامر التالية:```shell
$ make test-docker
$ make regression-docker
$ make checkstyle-docker

Flatpak

لتشغيل اختبارات الانحدار في Flatpak، قم بتشغيل الأمر التالي:```shell $ make regression-flatpak

### Snap
لتشغيل اختبارات الانحدار في Snap، قم بتشغيل الأمر التالي:```shell
$ make regression-snap

الاستخدام

تنزيل الأداة