كل ما تحتاج معرفته حول استخراج APK
تعرّف على ملفات APK، كيف يعمل الاستخراج، وما يمكنك اكتشافه داخل تطبيقات أندرويد.
تنقل سريع
ما هو ملف APK؟
APK هو اختصار لـ Android Package Kit. هو تنسيق الملف الذي يستخدمه أندرويد لتوزيع وتثبيت التطبيقات. فكر فيه كحاوية تحتوي على كل ما يحتاجه تطبيق أندرويد ليعمل على جهازك.
كل تطبيق أندرويد تقوم بتنزيله من متجر جوجل بلاي أو أي مصدر آخر يأتي كملف APK. عندما تضغط على "تثبيت"، يقوم أندرويد باستخراج محتويات هذا الـ APK وإعداد التطبيق على جهازك.
ما هو استخراج وفك تجميع APK؟
استخراج APK هو عملية فك ضغط ملف APK للوصول إلى محتوياته. عندما تستخدم مستخرج APK، فأنت في الواقع تقوم بفك ضغط الـ APK لتظهر لك جميع الملفات، الكود، الموارد، والملفات الثابتة بداخله.
الفك التجميعي يذهب خطوةً أبعد. فهو يحول الكود المترجم إلى صيغة قابلة للقراءة. تُترجم تطبيقات أندرويد إلى بايت كود (ملفات DEX)، ويحول الفك التجميعي هذا إلى كود Smali، وهو أسهل للفهم والتحليل.
يستخدم هذا المستخرج أداة APKtool، وهي أداة مفتوحة المصدر قوية تتعامل مع كل من الاستخراج والفك التجميعي، لتمنحك وصولًا إلى كود وموارد قابلة للقراءة.
ما هو ملف XAPK؟
XAPK هو تنسيق ملف أنشأته متاجر التطبيقات الخارجية مثل APKPure. هو أساسًا أرشيف ZIP يحتوي على ملفات APK متعددة مجمعة معًا. يُستخدم هذا التنسيق للتطبيقات الكبيرة التي تحتاج لتوزيع محتواها عبر ملفات متعددة.
عادةً يحتوي ملف XAPK على APK أساسي (التطبيق الرئيسي)، وAPKs مقسمة (لأجهزة ذات تكوينات مختلفة مثل أحجام الشاشة ومعماريات المعالجات)، وأحيانًا ملفات OBB (بيانات إضافية مثل موارد الألعاب).
مستخرج APK الخاص بنا يتعامل تلقائيًا مع ملفات XAPK. عندما ترفع XAPK، تقوم الأداة باستخراجه، وتحديد الـ APK الأساسي (النسخة الشاملة)، ثم تفك تجميعه باستخدام APKtool. تحصل على نفس النتائج كما لو قمت بتحميل APK عادي، دون خطوات إضافية.
كيف يعمل مستخرج APK؟
مستخرج APK الخاص بنا مدعوم بأداة APKtool، وهي المعيار الصناعي لفك تجميع APK. إليك كيفية عمله:
- رفع الملف: بسحب وإفلات ملف .apk أو .xapk أو بالنقر لتصفح الجهاز.
- معالجة تلقائية: إذا قمت برفع XAPK، نستخرجها تلقائيًا ونحدد الـ APK الأساسي. ثم تنفّذ الأداة أمر APKtool لفك تجميع الـ APK.
- استخراج الموارد: جميع الصور، التخطيطات، السلاسل النصية، والموارد الأخرى تُفك تشفيرها إلى صيغها الأصلية.
- فك تجميع الكود: يتم تحويل بايت كود DEX المترجم إلى كود Smali قابل للقراءة.
- مستعرض الملفات: تصفح جميع الملفات المستخرجة مباشرة في المتصفح، كما في مستعرض ملفات.
- عرض وتنزيل: انقر على أي ملف لعرض محتواه مع تمييز الصياغة، أو نزّل الملفات التي تحتاجها.
تتم العملية بالكامل بأمان على الخادم، وتُحذف ملفاتك تلقائيًا بعد المعالجة.
فهم بنية ملف APK
عند استخراج APK باستخدام مستخرجنا، ستلاحظ بنية مجلدات محددة. هذه البنية قياسية في جميع تطبيقات أندرويد، رغم أن بعض التطبيقات قد تحتوي على مجلدات مخصصة إضافية.
فهم هذه البنية يساعدك على التنقل بين الملفات المستخرجة والعثور على ما تبحث عنه بدقة.
المجلدات الشائعة التي ستجدها
بعد استخدام مستخرج APK، عادةً ما ستظهر لك هذه المجلدات:
res/
يحتوي على جميع موارد التطبيق مثل الصور (drawables)، التخطيطات (ملفات XML)، السلاسل، الألوان، الأبعاد، والأنماط. هنا تجد معظم العناصر البصرية وتعريفات واجهة المستخدم.
smali/
يحتوي على الكود المفكك بصيغة Smali. Smali هو تمثيل قابل للقراءة للبايت كود Dalvik. كل فئة Java تصبح ملف .smali. هنا يكمن منطق التطبيق.
lib/
يحتوي على المكتبات الأصلية (.so) المترجمة لمعمارية معالجات مختلفة مثل arm64-v8a، armeabi-v7a، x86، وx86_64. عادةً تُكتب هذه المكتبات بلغة C أو C++ لأداء عالي.
assets/
يحتوي على ملفات أصلية يمكن للتطبيق الوصول إليها. قد تشمل قواعد بيانات، خطوط، ملفات إعداد، أو أي ملفات أخرى يحتاجها التطبيق. على عكس ملفات res/، فإن assets لا تُجمع.
META-INF/
يحتوي على توقيع APK وملفات الشهادة. يتحقق هذا المجلد من أصالة التطبيق وسلامته.
original/
يحتوي على الملفات الأصلية التي جاءت مع الـ APK قبل فك التجميع، بما في ذلك AndroidManifest.xml وملفات توقيع META-INF.
unknown/
أحيانًا يحتوي على موارد لم يتمكن APKtool من فك تشفيرها. تُحفظ هذه الملفات بصيغتها الأصلية.
الملفات الشائعة التي ستجدها
في الجذر المستخرج للـ APK، ستجد عدة ملفات هامة:
AndroidManifest.xml
أهم ملف في أي تطبيق أندرويد. يصف اسم الحزمة، الأذونات، الأنشطة، الخدمات، وأكثر. يصبح هذا الملف بصيغة XML قابلة للقراءة بعد فك التجميع.
apktool.yml
ملف إعدادات أنشأته APKtool يحتوي على بيانات حول عملية فك التجميع، بما في ذلك نسخة APKtool المستخدمة ومعلومات عن الـ APK الأصلي.
resources.arsc
ملف ثنائي مُجمع يحتوي على جميع قيم موارد التطبيق مثل السلاسل، الأبعاد، والألوان. يقوم APKtool بفك تشفيره إلى ملفات XML قابلة للقراءة في مجلد res/.
classes.dex, classes2.dex, إلخ.
هذه هي ملفات البايت كود المترجمة (إذا لم يتم فك تجميعها بالكامل). تحتوي على كود التطبيق بصيغة Dalvik Executable.
أنواع الملفات ومحتوياتها
عند استخراج APK، ستصادف أنواعًا مختلفة من الملفات. إليك ما يحتويه كل نوع:
ملفات التخطيط، السلاسل، الألوان، الأنماط، وAndroidManifest. تُعرّف واجهة المستخدم وإعدادات التطبيق.
كود Java المفكك بصيغة Smali. يمثل منطق ووظائف التطبيق.
الصور والرموز المستخدمة في واجهة التطبيق.
المكتبات الأصلية المكتوبة بلغة C/C++ لأداء عمليات حرجة.
ملفات إعداد أو بيانات يستخدمها التطبيق.
ملفات قواعد البيانات التي تخزن بيانات التطبيق محليًا.
ملفات الخطوط المخصصة المستخدمة في واجهة التطبيق.
لماذا يستخدم مستخرج APK؟
هناك العديد من الأسباب المشروعة لاستخراج وفك تجميع ملفات APK:
- التعلم والتعليم: يمكن للمطورين معرفة كيفية بناء التطبيقات الأخرى، مشاهدة أفضل الممارسات، وفهم أنماط البرمجة والهياكل المختلفة.
- البحث الأمني: يمكن للباحثين الأمنيين تحليل التطبيقات للثغرات، فحص الكود المشبوه، أو التحقق من أن التطبيق يفي بما يدعيه.
- استخراج موارد التطبيق: الوصول إلى الصور، الأيقونات، الأصوات، وملفات الوسائط الأخرى من التطبيقات لأغراض تصميم أو استخدام مشروع.
- الترجمة والتعريب: يمكنك استخراج سلاسل النصوص لإنشاء ترجمات لتطبيقات لا تدعم لغتك.
- تصحيح تطبيقاتك: يمكن للمطورين فك تجميع APKات الإنتاج الخاصة بهم لرؤية كيف حولت عملية البناء الكود إلى ملفات نهائية.
- التحقق من التوافق: معرفة الحد الأدنى لإصدار أندرويد المطلوب، الأذونات المطلوبة، والميزات المستخدمة.
- استعادة الموارد: استخراج الصور، الأصوات، أو غيرها من الأصول من التطبيقات لأغراض مشروعة (مع احترام حقوق النشر).
- فهم بنية التطبيق: دراسة كيفية تنظيم التطبيقات الناجحة لتحسين ممارسات التطوير الخاصة بك.
تذكر دائمًا احترام حقوق الملكية الفكرية واستخدام مستخرج APK بمسؤولية.
الخاتمة
أنت الآن تعرف كل ما يهم حول استخراج وفك تجميع APK. يجعل مستخرج APK هذه العملية بسيطة للغاية - فقط ارفع ملف APK الخاص بك، وفي ثوانٍ ستحصل على كل الكود، الموارد، والأصول داخل الملف.
سواء كنت مطورًا يريد التعلم من تطبيقات أخرى، باحث أمان يحلل سلوك التطبيقات، أو مجرد فضولي حول طريقة عمل تطبيقات أندرويد، فإن أداة مستخرج APK تمنحك القدرة على استكشاف أي ملف APK بسرعة وسهولة.
هل أنت مستعد للبدء؟ ببساطة اسحب وأفلت ملف APK الخاص بك في منطقة الرفع أعلاه، ودع مستخرج APK يقوم بسحره!
إخلاء المسؤولية
يرجى قراءة إخلاء المسؤولية هذا بعناية قبل استخدام أداة مستخرج APK.
تم توفير أداة مستخرج APK لأغراض تعليمية وبحثية فقط. باستخدامك لهذه الأداة، أنت تقر وتوافق على أنك المسؤول الوحيد عن ضمان توافق استخدامك مع جميع القوانين السارية، الأنظمة، وشروط خدمة أي تطبيقات تقوم باستخراجها.
قد يخضع فك تجميع أو استخراج ملفات APK لقوانين حقوق النشر، تراخيص البرمجيات، وحقوق الملكية الفكرية. يجب عليك استخدام هذه الأداة فقط على ملفات APK التي لديك ترخيص قانوني لتحليلها، مثل تطبيقاتك الخاصة، البرمجيات المفتوحة المصدر، أو التطبيقات التي لديك إذن صريح من صاحب حقوق النشر.
نحن لا نشجع ولا ندعم أي أنشطة غير قانونية، بما في ذلك على سبيل المثال لا الحصر انتهاك حقوق النشر، قرصنة البرمجيات، الهندسة العكسية لأغراض خبيثة، أو خرق أي اتفاقيات ترخيص برمجيات. استخدام هذه الأداة يكون على مسؤوليتك الخاصة بالكامل.
تتخلى شركة Mesozoic Media ومطورو أداة مستخرج APK عن أي مسؤولية عن أي أضرار، خسائر، أو عواقب قانونية قد تنشأ عن استخدامك لهذه الأداة. وهذا يشمل، على سبيل المثال لا الحصر، أي أضرار مباشرة أو غير مباشرة، عرضية، تبعية، أو تعويضية.
باستخدامك لهذه الأداة، توافق على تحمل كامل المسؤولية عن أفعالك واستخدام مستخرج APK بطريقة قانونية، أخلاقية، ومسؤولة. إذا كنت لا توافق على هذه الشروط، يرجى عدم استخدام الأداة.