الملف ذو الامتداد apk. ما هو ملف APK وكيفية تثبيته على جهاز Android

ملف apk (حزمة Android) هو تطبيق مؤرشف قابل للتنفيذ لأجهزة Android. تم تطوير هذا التنسيق بواسطة شركة Open Handset Alliance بالتعاون مع Google.

يتم تجميع أي تطبيق Android وتعبئته في ملف يتضمن رمز البرنامج الكامل والأصول والموارد، بالإضافة إلى ملف بامتداد .manifest. يمكن أن يكون اسم التطبيق أي شيء، لكن الامتداد هو .APK فقط.

يتم تخزين مثل هذه الملفات في تطبيقات جوجلويمكن تنزيله منه على الهاتف الذكي أو الجهاز اللوحي لاستخدامه لاحقًا. يمكن للمستخدم أيضًا تثبيت ملف بالملحق .APK يدويًا. إنها غير مشفرة، فهي تنتمي إلى مجموعة تنسيق أرشيفي ZIP. في الحقيقة تطبيقات أندرويدالحزم عبارة عن أرشيفات مخصصة للتنفيذ في ما يسمى بالجهاز الظاهري.

كيفية فتح ".apk" على جهاز الكمبيوتر

من أجل فتح ملف بامتداد .APK على جهاز كمبيوتر شخصي أو كمبيوتر محمول يعمل بنظام التشغيل أنظمة ويندوز، سيحتاج Linux إلى برنامج أرشيفي 7-ZIP أو unzip أو Winrar. إذا كان لديك جهاز MacBook وMacOS، فستحتاج إلى برنامج يسمى "Archive Utility". كيفية فتح ملف apkعلى الحاسوب؟

كل ما تحتاجه هو تشغيل أحد البرامج المتاحة التي تعالج الأرشيفات واستخدامها لتفريغ تطبيق Android. قبل التفريغ، يوصي الخبراء بالتحقق من الأرشيف البرمجيات الخبيثة- الفيروسات.

وبالتالي، ليست هناك حاجة لتنزيل أي برامج نادرة، وعادة ما يكون لدى أي مستخدم تطبيقات لتفريغها.

في بعض الأحيان، لا تناسب بعض التطبيقات على Android المستخدم بطريقة ما. مثال على ذلك هو الإعلانات المتطفلة. ويحدث أيضًا أن البرنامج مفيد للجميع ولكن الترجمة فيه إما ملتوية أو غائبة تمامًا. أو، على سبيل المثال، البرنامج تجريبي، ولكن الحصول عليه النسخة الكاملةلا توجد إمكانية. كيفية تغيير الوضع؟

مقدمة

في هذه المقالة، سنتحدث عن كيفية تفكيك حزمة APK مع أحد التطبيقات، وسوف ننظر إليها الهيكل الداخلي، قم بتفكيك وتفكيك الكود الثانوي، وحاول أيضًا إجراء العديد من التغييرات على التطبيقات التي يمكن أن تجلب لنا فائدة أو أخرى.

للقيام بكل هذا بنفسك، ستحتاج على الأقل إلى معرفة أساسية بلغة Java، التي تُكتب بها تطبيقات Android، ولغة XML، المستخدمة في كل مكان في Android - بدءًا من وصف التطبيق نفسه وحقوق الوصول إليه إلى تخزين السلاسل التي سيتم عرضها على الشاشة. ستحتاج أيضًا إلى القدرة على استخدام برامج وحدة التحكم المتخصصة.

إذًا، ما هي حزمة APK التي يتم من خلالها توزيع جميع برامج Android؟

تفكيك التطبيق

في هذه المقالة، عملنا فقط مع كود التطبيق المفكك، ولكن إذا تم إجراء تغييرات أكثر جدية على التطبيقات الكبيرة، فسيكون فهم كود smali أكثر صعوبة. لحسن الحظ، يمكننا فك كود dex إلى كود Java، والذي، على الرغم من أنه ليس أصليًا ولم يتم تجميعه مرة أخرى، إلا أنه من الأسهل قراءة وفهم منطق التطبيق. للقيام بذلك، سنحتاج إلى أداتين:

  • dex2jar هو مترجم Dalvik bytecode إلى JVM bytecode، وعلى أساسه يمكننا الحصول على كود بلغة Java؛
  • jd-gui هو برنامج فك ترجمات بحد ذاته يسمح لك بالحصول على كود Java قابل للقراءة من كود JVM الثانوي. وكبديل، يمكنك استخدام جاد (www.varaneckas.com/jad)؛ على الرغم من أنها قديمة جدًا، إلا أنها في بعض الحالات تولد تعليمات برمجية أكثر قابلية للقراءة من Jd-gui.

هذه هي الطريقة التي ينبغي استخدامها. أولاً، أطلقنا dex2jar، مع تحديد المسار إلى حزمة APK كوسيطة:

% dex2jar.sh mail.apk

ونتيجة لذلك، ستظهر حزمة Java mail.jar في الدليل الحالي، والذي يمكن فتحه بالفعل في jd-gui لعرض كود Java.

ترتيب حزم APK واستلامها

حزمة تطبيقات Android هي في الأساس ملف ZIP عادي ولا يتطلب أي أدوات خاصة لعرض محتوياته أو استخراجه. يكفي أن يكون لديك برنامج أرشيفي - 7zip لنظام التشغيل Windows أو وحدة تحكم لفك الضغط على Linux. ولكن هذا يتعلق بالمغلف. ماذا يوجد في الداخل؟ في الداخل لدينا الحالة العامةهذا الهيكل:

  • معلومات التعريف/- يحتوي على شهادة رقمية للتطبيق، مع تحديد منشئه، والمجاميع الاختبارية لملفات الحزمة؛
  • الدقة/ - الموارد المختلفة التي يستخدمها التطبيق في عمله، مثل الصور والوصف التعريفي للواجهة، بالإضافة إلى البيانات الأخرى؛
  • AndroidManifest.xml- وصف التطبيق. يتضمن ذلك، على سبيل المثال، قائمة الأذونات المطلوبة نسخة أندرويدودقة الشاشة المطلوبة؛
  • classs.dex- كود ثانوي للتطبيق مُجمَّع للجهاز الظاهري Dalvik؛
  • الموارد.arsc- أيضًا موارد، ولكن من نوع مختلف - على وجه الخصوص، السلاسل (نعم، يمكن استخدام هذا الملف للترويس!).

الملفات والأدلة المدرجة موجودة، إن لم تكن كلها، فربما تكون موجودة في الغالبية العظمى من ملفات APK. ومع ذلك، هناك عدد قليل من الملفات/الأدلة غير الشائعة الجديرة بالذكر:

  • أصول- التناظرية للموارد. والفرق الرئيسي هو أنه للوصول إلى مورد ما، يجب عليك معرفة معرفه، ولكن يمكن الحصول على قائمة الأصول ديناميكيًا باستخدام طريقة AssetManager.list() في كود التطبيق؛
  • ليب- مكتبات Linux الأصلية المكتوبة باستخدام NDK (Native Development Kit).

يتم استخدام هذا الدليل من قبل الشركات المصنعة للألعاب، حيث يضع هناك محرك اللعبة المكتوب بلغة C/C++، وكذلك من قبل منشئي التطبيقات عالية الأداء (على سبيل المثال، جوجل كروم). اكتشفنا الجهاز. ولكن كيف يمكنك الحصول على ملف الحزمة الخاص بالتطبيق الذي تهتم به؟ نظرًا لأنه من غير الممكن التقاط ملفات APK من الجهاز بدون الجذر (وهي موجودة في الدليل /data/app)، ولا يُنصح دائمًا بالتجذير، فهناك ثلاث طرق على الأقل لتوصيل ملف التطبيق إلى جهاز الكمبيوتر الخاص بك:

  • ملحق تنزيل APK لمتصفح Chrome؛
  • التطبيق الحقيقي APK Leecher.
  • استضافة الملفات المختلفة وVarezniks.

أيهما يجب استخدامه هو مسألة ذوق؛ نحن نفضل استخدام تطبيقات منفصلة، ​​لذلك سنصف استخدام Real APK Leecher، خاصة أنه مكتوب بلغة Java وبالتالي سيعمل إما في Windows أو Nix.

بعد بدء البرنامج، تحتاج إلى ملء ثلاثة حقول: البريد الإلكتروني وكلمة المرور ومعرف الجهاز - واختيار اللغة. الأولان هما البريد الإلكتروني وكلمة المرور لحساب Google الخاص بك الذي تستخدمه على الجهاز. والثالث هو معرف الجهاز، ويمكن الحصول عليه عن طريق كتابة الرمز على برنامج الاتصال # #8255## ثم ابحث عن سطر معرف الجهاز. عند ملئه، ما عليك سوى إدخال المعرف بدون البادئة android.

بعد ملء البيانات وحفظها، تظهر غالبًا رسالة "خطأ أثناء الاتصال بالخادم". لا علاقة له بـ Google Play، لذا لا تتردد في تجاهله والبحث عن الحزم التي تهمك.

عرض وتعديل

لنفترض أنك عثرت على حزمة تثير اهتمامك، وقمت بتنزيلها وفك ضغطها... وعندما حاولت عرض بعض ملفات XML، تفاجأت باكتشاف أن الملف لم يكن نصًا. كيفية فكها وكيفية العمل مع الحزم بشكل عام؟ هل من الضروري حقًا تثبيت SDK؟ لا، ليس من الضروري تثبيت SDK على الإطلاق. في الواقع، تتطلب جميع خطوات استخراج حزم APK وتعديلها وتعبئتها الأدوات التالية:

  • أرشيف ZIPللتفريغ والتعبئة.
  • سمالي- مجمع/مفكك كود البايت للجهاز الظاهري Dalvik (code.google.com/p/smali);
  • ملائمة- أداة لتعبئة الموارد (افتراضيًا، يتم تخزين الموارد في شكل ثنائي لتحسين أداء التطبيق). مضمن في Android SDK، ولكن يمكن الحصول عليه بشكل منفصل؛
  • الموقع- أداة ل توقيع إلكترونيالحزمة المعدلة (bit.ly/Rmrv4M).

يمكنك استخدام كل هذه الأدوات بشكل منفصل، ولكن هذا غير مريح، لذلك من الأفضل استخدام برامج عالية المستوى مبنية على أساسها. إذا كنت تعمل على Linux أو Mac OS X، فهناك أداة تسمى apktool. انها تسمح لك لتفريغ الموارد في المظهر الأصلي(بما في ذلك ملفات XML وarsc الثنائية)، قم بإعادة بناء الحزمة باستخدام الموارد المتغيرة، ولكن لا تعرف كيفية توقيع الحزم، لذلك سيتعين عليك تشغيل أداة التوقيع يدويًا. على الرغم من أن الأداة المساعدة مكتوبة بلغة Java، إلا أن تثبيتها غير قياسي تمامًا. تحتاج أولاً إلى الحصول على ملف الجرة نفسه:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $export PATH=~/bin:$PATH

إذا كنت تعمل على نظام Windows، فهناك أداة ممتازة لها تسمى Virtious Ten Studio، والتي تقوم أيضًا بتجميع كل هذه الأدوات (بما في ذلك apktool نفسها)، ولكن بدلاً من واجهة CLI فهي توفر للمستخدم واجهة رسومية بديهية يمكنك من خلالها إجراء عمليات التفريغ والتفكيك والتفكيك ببضع نقرات. هذه الأداة عبارة عن أداة تبرع، أي أنه في بعض الأحيان تظهر نوافذ تطلب منك الحصول على ترخيص، ولكن في النهاية يمكن التسامح مع ذلك. لا فائدة من وصفها، لأنه يمكنك فهم الواجهة في بضع دقائق. ولكن يجب مناقشة أداة apktool بمزيد من التفاصيل نظرًا لطبيعة وحدة التحكم الخاصة بها.


دعونا نلقي نظرة على خيارات apktool. باختصار، هناك ثلاثة أوامر أساسية: d (فك التشفير)، b (إنشاء)، وإذا (تثبيت إطار العمل). إذا كان كل شيء واضحًا في الأمرين الأولين، فماذا تفعل العبارة الشرطية الثالثة؟ يقوم بتفكيك إطار عمل واجهة المستخدم المحدد، وهو أمر ضروري في الحالات التي تقوم فيها بتشريح أي حزمة نظام.

دعونا نلقي نظرة على الخيارات الأكثر إثارة للاهتمام في الأمر الأول:

  • - لا تقم بتفكيك ملفات dex؛
  • - لا تفريغ الموارد؛
  • - لا تقم بإدراج معلومات التصحيح في نتائج تفكيك ملف dex؛
  • --مسار الإطار- استخدم إطار عمل واجهة المستخدم المحدد بدلاً من الإطار المدمج في أداة apktool. الآن دعونا نلقي نظرة على خيارين للأمر b:
  • -F- التجميع القسري دون التحقق من التغييرات؛
  • - حدد المسار إلى aapt (أداة لإنشاء أرشيف APK)، إذا كنت تريد استخدامه من مصدر آخر لسبب ما.

يعد استخدام apktool أمرًا بسيطًا للغاية؛ للقيام بذلك، ما عليك سوى تحديد أحد الأوامر والمسار إلى APK، على سبيل المثال:

$ apktool د mail.apk

بعد ذلك، ستظهر جميع ملفات الحزمة المستخرجة والمفككة في دليل البريد.

تحضير. تعطيل الإعلانات

النظرية جيدة بالطبع، ولكن لماذا نحتاجها إذا كنا لا نعرف ماذا نفعل بالحزمة غير المعبأة؟ دعونا نحاول تطبيق النظرية لصالحنا، وهي تعديل بعض البرامج بحيث لا تظهر لنا إعلانات. على سبيل المثال، فليكن الشعلة الافتراضية - الشعلة الافتراضية. يعد هذا البرنامج مثاليًا بالنسبة لنا، لأنه مليء بالإعلانات المزعجة إلى أقصى حد، علاوة على ذلك، فهو بسيط بما يكفي حتى لا يضيع في غابة التعليمات البرمجية.


لذلك، باستخدام إحدى الطرق المذكورة أعلاه، قم بتنزيل التطبيق من السوق. إذا قررت استخدام Virtious Ten Studio، فما عليك سوى فتح ملف APK في التطبيق وفك ضغطه، وإنشاء مشروع (ملف -> مشروع جديد)، ثم تحديد استيراد ملف في قائمة سياق المشروع. إذا وقع اختيارك على apktool، فما عليك سوى تشغيل أمر واحد:

$ apktool d com.kauf.particle.virtualtorch.apk

بعد ذلك، ستظهر شجرة ملفات مشابهة لتلك الموضحة في القسم السابق في الدليل com.kauf.particle.virtualtorch، ولكن مع دليل smali إضافي بدلاً من ملفات dex وملف apktool.yml. يحتوي الأول على كود مفكك لملف dex القابل للتنفيذ الخاص بالتطبيق، والثاني يحتوي على معلومات الخدمة اللازمة لأداة apktool لتجميع الحزمة مرة أخرى.

المكان الأول الذي يجب أن ننظر إليه هو بالطبع AndroidManifest.xml. وهنا نواجه على الفور السطر التالي:

ليس من الصعب تخمين أنه المسؤول عن منح التطبيق أذونات استخدام الاتصال بالإنترنت. في الواقع، إذا أردنا فقط التخلص من الإعلانات، فسنحتاج على الأرجح إلى حظر التطبيق من الإنترنت. دعونا نحاول القيام بذلك. نحذف السطر المحدد ونحاول إنشاء البرنامج باستخدام apktool:

$ apktool b com.kauf.particle.virtualtorch

سيظهر ملف APK الناتج في الدليل com.kauf.particle.virtualtorch/build/. ومع ذلك، لن يكون من الممكن تثبيته، لأنه لا يحتوي على توقيع رقمي ومجاميع اختبارية للملف (ببساطة لا يحتوي على دليل META-INF/). يجب علينا التوقيع على الحزمة باستخدام الأداة المساعدة apk-signer. انطلقت. تتكون الواجهة من علامتي تبويب - في الأولى (Key Generator) نقوم بإنشاء المفاتيح، وفي الثانية (APK Signer) نقوم بالتوقيع. لإنشاء مفتاحنا الخاص، املأ الحقول التالية:

  • الملف الهدف- ملف إخراج مخزن المفاتيح؛ وعادةً ما يقوم بتخزين زوج واحد من المفاتيح؛
  • كلمة المرورو يتأكد- كلمة المرور للتخزين.
  • الاسم المستعار- اسم المفتاح الموجود في المخزن؛
  • كلمة المرور المستعارةو يتأكد- كلمة مرور المفتاح السري؛
  • صلاحية- مدة الصلاحية (بالسنوات). القيمة الافتراضية هي الأمثل.

الحقول المتبقية اختيارية بشكل عام - ولكن يجب ملء واحد منها على الأقل.


تحذير

لتوقيع تطبيق باستخدام apk-signer، يجب عليك تثبيت Android SDK وتحديد المسار الكامل له في إعدادات التطبيق.

يتم توفير جميع المعلومات لأغراض إعلامية فقط. لا يتحمل المحررون ولا المؤلف المسؤولية عن أي شيء ضرر محتملالناجمة عن مواد هذه المادة.

يمكنك الآن التوقيع على APK باستخدام هذا المفتاح. في علامة التبويب APK Signer، حدد الملف الذي تم إنشاؤه حديثًا، وأدخل كلمة المرور والاسم المستعار للمفتاح وكلمة المرور، ثم ابحث عن ملف APK وانقر فوق الزر "تسجيل" بجرأة. إذا سارت الأمور على ما يرام، سيتم التوقيع على الحزمة.

معلومات

نظرًا لأننا وقعنا على الحزمة بمفتاحنا الخاص، فسوف تتعارض مع التطبيق الأصلي، مما يعني أنه عندما نحاول تحديث البرنامج من خلال السوق، سنتلقى خطأ.

التوقيع الرقمي مطلوب فقط لبرامج الطرف الثالث، لذلك إذا كنت تقوم بالتعديل تطبيقات النظام، والتي يتم تثبيتها عن طريق النسخ إلى الدليل /system/app/، فلن تحتاج إلى التوقيع عليها.

بعد ذلك، قم بتنزيل الحزمة على هاتفك الذكي، وقم بتثبيتها وتشغيلها. فويلا، لقد انتهى الإعلان! ولكن بدلا من ذلك، ظهرت رسالة مفادها أننا لا نملك الإنترنت أو ليس لدينا الأذونات المناسبة. من الناحية النظرية، قد يكون هذا كافيًا، لكن الرسالة تبدو مزعجة، وبصراحة، لقد حالفنا الحظ بتطبيق غبي. من المرجح أن تقوم البرامج المكتوبة عادةً بتوضيح بيانات الاعتماد الخاصة بها أو التحقق من الاتصال بالإنترنت وبخلاف ذلك ترفض ببساطة التشغيل. كيف تكون في هذه الحالة؟ طبعا قم بتعديل الكود

عادةً ما يقوم مؤلفو التطبيق بإنشاء فئات خاصة لعرض الإعلانات وطرق الاتصال لهذه الفئات عند تشغيل التطبيق أو أحد "أنشطته" (بعبارات بسيطة، شاشات التطبيق). دعونا نحاول العثور على هذه الفئات. نذهب إلى دليل smali، ثم com (org يحتوي فقط على مكتبة الرسومات المفتوحة cocos2d)، ثم kauf (هذا هو مكانه، لأن هذا هو اسم المطور وكل أكواده البرمجية موجودة) - وها هو، دليل التسويق. نجد في الداخل مجموعة من الملفات ذات الامتداد smali. هذه فئات، وأبرزها فئة Ad.smali، ومن اسمها يسهل تخمين أنها هي التي تعرض الإعلانات.

يمكننا تغيير منطق عمله، ولكن سيكون من الأسهل بكثير إزالة الاستدعاءات لأي من أساليبه من التطبيق نفسه. لذلك، نترك دليل التسويق وننتقل إلى دليل الجسيمات المجاور، ثم إلى Virtualtorch. انتباه خاصالملف MainActivity.smali يستحق هذا. هذه فئة Android قياسية تم إنشاؤها بواسطة Android SDK وتثبيتها كنقطة دخول إلى التطبيق (مماثلة للوظيفة الرئيسية في لغة C). افتح الملف للتحرير.

يوجد بالداخل كود smali (المجمع المحلي). إنه أمر محير للغاية ويصعب قراءته نظرًا لطبيعته ذات المستوى المنخفض، لذلك لن نقوم بدراسته، ولكننا سنجد ببساطة جميع الإشارات إلى فئة الإعلان في الكود ونعلق عليها. ندخل سطر "إعلان" في البحث ونصل إلى السطر 25:

إعلان خاص ميداني:Lcom/kauf/marketing/Ad;

هنا يتم إنشاء حقل إعلان لتخزين كائن فئة الإعلان. نعلق بوضع علامة ### أمام السطر. نواصل البحث. السطر 423:

المثيل الجديد v3، Lcom/kauf/marketing/Ad؛

هذا هو المكان الذي يحدث فيه إنشاء الكائن. دعونا التعليق. نواصل البحث ونجد في السطور 433، 435، 466، 468، 738، 740، 800 و 802 استدعاءات لطرق فئة الإعلان. دعونا التعليق. تبدو وكأنها كل شيء. يحفظ. الآن يجب إعادة تجميع الحزمة معًا والتحقق من وظائفها ووجود الإعلانات. لنقاء التجربة، نعيد السطر الذي تمت إزالته من AndroidManifest.xml، ونجمع الحزمة، ونوقعها ونثبتها.

خنزير غينيا لدينا. الإعلان مرئي

أُووبس! اختفت الإعلانات فقط أثناء تشغيل التطبيق، ولكنها ظلت في القائمة الرئيسية، التي نراها عند تشغيل البرنامج. إذن، انتظر، ولكن نقطة الدخول هي فئة MainActivity، وقد اختفى الإعلان أثناء تشغيل التطبيق، لكنه بقي في القائمة الرئيسية، فهل نقطة الدخول مختلفة؟ لتحديد نقطة الإدخال الحقيقية، أعد فتح ملف AndroidManifest.xml. و نعم يحتوي على الأسطر التالية:

يخبروننا (والأهم من ذلك، android) أنه يجب إطلاق نشاط يسمى Start استجابةً لإنشاء هدف (حدث) android.intent.action.MAIN من فئة android.intent.category.LAUNCHER. يتم إنشاء هذا الحدث عند النقر على أيقونة التطبيق في المشغل، بحيث يحدد نقطة الدخول، وهي فئة البداية. على الأرجح، قام المبرمج أولاً بكتابة تطبيق بدون قائمة رئيسية، كانت نقطة الدخول إليها هي فئة MainActivity القياسية، ثم أضاف نافذة جديدة (نشاط) تحتوي على القائمة والموصوفة في فئة Start، وجعلها الإدخال يدويًا نقطة.

افتح ملف Start.smali وابحث مرة أخرى عن السطر "Ad"، نجد في السطرين 153 و155 ذكرًا لفئة FirstAd. وهو موجود أيضًا في الكود المصدري، ووفقًا للاسم، فهو مسؤول عن عرض الإعلانات على الشاشة الرئيسية. دعونا ننظر إلى أبعد من ذلك، هناك إنشاء مثيل لفئة FirstAd ونية ترتبط، وفقًا للسياق، بهذا المثيل، ثم تسمية cond_10، التي يتم تنفيذ الانتقال الشرطي إليها بالضبط قبل إنشاء مثيل الطبقة:

If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :cond_10

على الأرجح، يقوم البرنامج بشكل عشوائي بحساب ما إذا كان يجب عرض الإعلانات على الشاشة الرئيسية، وإذا لم يكن الأمر كذلك، فإنه يقفز مباشرة إلى cond_10. حسنًا، دعونا نبسط مهمتها ونستبدل الانتقال المشروط بانتقال غير مشروط:

#if-ne p1, v0, :cond_10 goto:cond_10

لم يعد هناك أي ذكر لـ FirstAd في الكود، لذلك نغلق الملف ونعيد تجميع الشعلة الافتراضية الخاصة بنا باستخدام apktool. انسخه على هاتفك الذكي، ثم قم بتثبيته، ثم قم بتشغيله. لقد اختفت جميع الإعلانات، ونحن نهنئنا عليها جميعًا.

نتائج

هذه المقالة فقط مقدمة مختصرةفي طرق فتح وتعديل تطبيقات الأندرويد. ظلت العديد من المشكلات خلف الكواليس، مثل إزالة الحماية، وتحليل التعليمات البرمجية المبهمة، وترجمة موارد التطبيق واستبدالها، بالإضافة إلى تعديل التطبيقات المكتوبة بـ باستخدام الروبوت NDK. ومع ذلك، وجود معرفة أساسية، إنها مسألة وقت فقط لحل كل هذا.

إذا كان لديك هاتف ذكي أو جهاز لوحي يعمل بنظام Android أو أي جهاز آخر يعتمد على ذلك نظام التشغيل، فمن المحتمل أنك صادفت كلمة "APK". ولكن ليس كل مستخدمي نظام التشغيل Android يعرفون ما هو ملف APK.

APK أو Android Package هي ملفات يتم فيها توزيع تطبيقات Android. ملف APK هو أرشيف يحتوي على الكود القابل للتنفيذ لأحد التطبيقات، بالإضافة إلى الملفات والموارد الأخرى المطلوبة لتشغيل التطبيق. ملفات APK غير مشفرة وهي جزء من تنسيق ZIP المعروف.

تحتوي ملفات APK على بنية محددة بوضوح.

    • MANIFEST.MF – ملف يحتوي على بيانات حول الملفات الأخرى الموجودة في هذا الأرشيف (المجموع الاختباري للملف)؛
    • CERT.RSA – الشهادة التي تم توقيع الطلب بها؛
    • CERT.SF – ملف يحتوي على بيانات حول الشهادة والموارد؛
    • Armeabi – لـ ARMv6 والمعالجات الأقدم؛
    • Armeabi-v7a – لـ ARMv7 والمعالجات الأحدث؛
    • x86 – للمعالجات ذات بنية x86؛
    • mips – لمعالجات MIPS؛
  • res - الموارد غير الموجودة في Resources.arsc (انظر أدناه).
  • الأصول – الموارد التي يستخدمها AssetManager.
  • AndroidManifest.xml – ملف يصف التطبيق. يخزن هذا الملف الاسم واسم الحزمة والإصدار والبيانات الأخرى المتعلقة بهذا التطبيق.
  • classes.dex – التعليمات البرمجية القابلة للتنفيذ بتنسيق DEX؛
  • Resources.arsc - الموارد المجمعة؛

يعد عرض محتويات ملف APK أمرًا بسيطًا للغاية ويمكن لأي شخص القيام بذلك. كل ما عليك فعله هو فتح ملف APK باستخدام أي برنامج أرشيفي. على سبيل المثال، يمكنك استخدام برنامج الأرشفة المجاني 7Zip.

أين يمكنني الحصول على ملف APK؟

يمكنك تنزيل وتثبيت ملف APK من متجر تطبيقات Google Play. يمكنك أيضًا تنزيل APK من المواقع الأخرى التي توزع البرامج. غالبًا ما يمكن تنزيل ملف APK من موقع مطور التطبيق.

كيفية تثبيت ملفات APK؟

يتم تثبيت ملفات APK التي تم تنزيلها من Google Play تلقائيًا. إذا كنت بحاجة إلى أحد البرامج التي قمت بتنزيلها من موقع آخر، فأنت بحاجة إلى تمكين تثبيت البرامج من مصادر غير معروفة وتشغيل ملف APK على جهاز Android الخاص بك. بعد ذلك سيظهر لك تحذير حول تثبيت التطبيق. انقر فوق "موافق" لبدء عملية التثبيت.

بالنسبة لنظام التشغيل Android، هناك الكثير من الأشياء المثيرة للاهتمام و تطبيقات مفيدة. غالبًا ما تكون هذه التطبيقات محل اهتمام المستخدمين الذين ليس لديهم هاتف ذكي يعمل بنظام Android. ولحسن الحظ، يمكن حل هذه المشكلة دون شراء جهاز جديد. بدلاً من ذلك، يمكنك ببساطة فتح ملف APK على جهاز الكمبيوتر الخاص بك واستخدام التطبيق الذي تحتاجه.

هناك طرق عديدة لتشغيل ملفات APK على جهاز الكمبيوتر الخاص بك. برامج مختلفة. لقد سبق أن وصفنا بعضها في المقال "". لكن معظم هذه البرامج ثقيلة ومعقدة للغاية. لذلك، لا تريد تثبيتها من أجل ملف APK واحد. سنقدم لك في هذه المقالة طريقة أسهل لفتح ملفات APK على جهاز كمبيوتر يعمل بنظام التشغيل Windows 7 أو Windows 8 أو Windows 10.

لذلك، لفتح ملف APK على جهاز الكمبيوتر، نحتاج إلى برنامج NOX APP PLAYER. هذا البرنامجمجاني ويمكنك ببساطة تنزيله من الموقع الرسمي للمطور (). عملية تثبيت NOX APP PLAYER بسيطة للغاية. قم بتشغيل ملف التثبيت EXE واتبع الإرشادات التي تظهر على الشاشة.

بعد اكتمال التثبيت، سيبدأ تحميل نظام التشغيل Android. سيستغرق هذا حوالي 20-30 ثانية أخرى. وبعد ذلك سترى سطح المكتب.

أول ما عليك فعله هو الانتقال إلى إعدادات NOX APP PLAYER وتمكين ROOT. للقيام بذلك، انقر على زر الترس الموجود في الزاوية اليمنى العليا من البرنامج.

بعد ذلك، قم بضبط وظيفة ROOT على تشغيل واحفظ الإعدادات باستخدام الزر الموجود أسفل الشاشة.

بمجرد تمكين ROOT، يمكنك فتح ملف APK. للقيام بذلك، انقر فوق زر تنزيل APK، الموجود على الجانب الأيمن من نافذة برنامج NOX APP PLAYER.

بعد ذلك، سيخبرك البرنامج أنه يمكن فتح ملفات APK بمجرد السحب والإفلات. لكن ليس من الواضح كيف تعمل هذه الوظيفة، لذا انقر على زر "أعلم" للمتابعة.

بعد ذلك، سيتم فتح النافذة المعتادة لاختيار الملف. هنا تحتاج فقط إلى تحديد ملف APK الذي تريد فتحه على جهاز الكمبيوتر الخاص بك.

بعد ذلك، سيبدأ تثبيت ملف APK في برنامج NOX APP PLAYER. بعد اكتمال التثبيت، سيتم تشغيل التطبيق تلقائيًا، وسيظهر رمز التشغيل على سطح مكتب Android هذا التطبيقيدويا. يرجى ملاحظة أنه في بعض الأحيان يرفض التطبيق البدء في المرة الأولى. في هذه الحالة، كل ما عليك فعله هو فتحه مرة أخرى وسيعمل.

إذا للتفاعل مع افتح التطبيقتحتاج إلى محاكاة أي وظائف للهاتف الذكي الذي يعمل بنظام Android، ولهذا يوجد شريط أدوات على الجانب الأيمن من نافذة البرنامج.

تجدر الإشارة إلى أنه يمكنك أيضًا فتح ملف APK حرفيًا. للقيام بذلك، انقر بزر الماوس الأيمن على ملف APK وحدد "فتح باستخدام - تطبيق آخر".

بعد ذلك، سيتم فتح نافذة لاختيار التطبيق. هنا تحتاج إلى تحديد أي أرشيفي (على سبيل المثال، 7-ZIP) وانقر على زر "موافق".

بعد ذلك، سترى محتويات ملف APK الذي قمت بفتحه بالكامل.

إذا لزم الأمر، يمكنك استخراج أي بيانات من ملف APK.

في كثير من الأحيان، تحميل برمجةالتي يواجهها المستخدمون - APK. يعرف مستخدمو الهواتف الذكية وأجهزة الكمبيوتر اللوحية هذا النوع من الملفات بشكل أفضل. ولكن لا يعرف الجميع كيفية فتح ملف APK على جهاز الكمبيوتر.

ما الذي يخفيه اختصار APK؟

أي ملف APK هو عبارة عن أرشيف، والاختصار هو Android Package. أي أن أي تطبيق لنظام التشغيل Android هو أرشيف. أثناء التجميع، يقوم SDK بتجميع جميع ملفات العمل في ملف هذا التنسيق. في هذه الحالة، لا يهم اسم الملف، لكن الامتداد سيكون بالتأكيد APK.

يمكن تشغيل أي أرشيف بعد التجميع في DalvikVM، ولكن منتج البرنامج هذا مثبت ليس فقط على نظام Android، لذلك يوجد أكثر من برنامج يفتح APK في أنظمة تشغيل أخرى.

هاتف ذكي

أبسط إجابة على السؤال "كيفية فتح APK؟" - أجهزة محمولة. البرامج الموجودة على هاتفك أو جهازك اللوحي من هذا النوعتم تنزيلها من مستودع Google Play الرسمي أو من موارد خارجية. ومع ذلك، لا توصي الشركة المصنعة لنظام التشغيل بالطريقة الأخيرة للحصول على التطبيقات. بعد التحميل من المتجر تطبيق جوجلسيتم التثبيت تلقائيًا.

إذا قمت بتنزيل التطبيق من مصدر آخر، فيجب عليك أولاً نسخه إلى محرك أقراص محمول أو الذاكرة الداخليةهاتف. هناك الكثير من هذه الطرق (كابل USB، Wi-Fi، Bluetooth). ثم قم بتشغيل أي ملف على هاتفك واضغط على أيقونة الملف. قم بمراجعة الأذونات التي يتطلبها التطبيق بعناية. قد يحتوي بعضها على تعليمات برمجية ضارة ويرسل رسائل نصية قصيرة سرًا إلى هواتف أخرى.

لا تسمح العديد من الشركات المصنعة بدخول Google Play إلى أجهزتها لأسباب أمنية. لتنفيذ مثل هذا الإجراء، يجب عليك أولاً الانتقال إلى إعدادات الأمان وتحديد المربع بجوار "السماح بتثبيت التطبيقات التي تم الحصول عليها من مصادر غير معروفة".

كيفية فتح APK لعرض الموارد

كما ذكرنا سابقًا، فإن تنسيق APK أرشيفي. لا يتم تشفير الأرشيفات أثناء الضغط، مما يوفر بعض المزايا. يمكنك عرض جميع الموارد المخزنة في الحاوية باستخدام البرامج الموجودة على أي جهاز كمبيوتر تقريبًا.

نظرًا لأن خوارزميات الأرشفة تشبه ZIP، فيمكن استخراج محتويات ملف APK بسهولة عن طريق تطبيقات مثل 7z وWinRAR وWinZip. يمكنك العثور داخل الحاوية على فئات Java والصور والمسارات الصوتية.

كيفية فتح APK على جهاز الكمبيوتر

في بعض الأحيان، يعجبك تطبيق أو لعبة مثبتة على جهاز محمول لدرجة أنك ترغب في تثبيتها على جهاز الكمبيوتر الخاص بك. هناك العديد من الأدوات التي ستسمح لك بالقيام بذلك.

  • بالنسبة لعائلة نظام التشغيل Windows: IntelliJ IDEA وBlueStacks وAndroid SDK ومكون ADT الإضافي لـ
  • لنظام التشغيل Mac OS - Android SDK، ومشغل التطبيقات، وIntelliJ IDEA، وBlueStacks، وEclipse.
  • لنظام التشغيل Linux - Eclipse وAndroid SDK وIntelliJ IDEA.

يتم إنتاج جميع البرامج تقريبًا لمطوري تطبيقات الهاتف المحمول، ولكن هناك أيضًا برامج مصممة خصيصًا للمستخدمين، وأكثرها شيوعًا هو BlueStacks.

بلوستاكس

"هناك العديد من البرامج لفتح تنسيق APK... ما هي أسهل طريقة لفتحه؟" - سوف يسأل القارئ. الحل الأبسط هو BleuStacks. لفتح تطبيق جوالفي BlueStacks، تحتاج أولاً إلى تنزيل توزيعة البرنامج وتثبيته على جهاز الكمبيوتر الخاص بك. لن يواجه أي شخص أي مشكلة في هذه الخطوة لأن BlueStacks مجاني تمامًا للجميع. استخدام المنزلي. كن حذرًا، اختر الإصدار الذي يناسب نظامك، ولا تخطئ في سعة البت. أثناء التثبيت، من المستحسن أن تتذكر المكان الذي يمكنك العثور فيه على البرنامج لاحقًا.

الآن قم بتنزيل أي ملف APK على جهاز الكمبيوتر الخاص بك. افتح خصائصه بالنقر بزر الماوس الأيمن. هنا تحتاج إلى العثور على سطر "التطبيق" الذي يوجد مقابله زر "تغيير ..." وبعد النقر عليه ستفتح نافذة بها اختيار البرنامج. انقر فوق "استعراض" واتبع المسار الذي تم تثبيت BleuStacks فيه. في هذا الدليل، ابحث عن ملف Bluestacks apk Handler وانقر عليه نقرًا مزدوجًا.

بعد هذا الإجراء، سيؤدي النقر المزدوج على أي ملف APK إلى تثبيته في محاكي BleuStacks. عند اكتمال تثبيت التطبيق، يمكنك تشغيل المحاكي من خلال الأيقونة الموجودة على سطح المكتب. في النافذة التي تفتح سيكون هناك زر بعلم. بالضغط عليها ستظهر لك كافة البرامج تنسيق APKالتي تم تثبيتها.

أندرويد سك

إذا قررت أنه من الأفضل استخدام Android SDK بدلاً من فتح APK في Bluestacks، فسيكون الإجراء أكثر تعقيدًا. أولاً، قم بتنزيل وتثبيت Android SDK. قم بتشغيل SDK Manager، وهو موجود في الدليل الجذر للبرنامج. في النافذة التي تفتح، افتح علامة التبويب Wirtual Devices وانقر على الزر جديد. بعد النقر، ستظهر نافذة الإعدادات الخاصة بالجهاز الظاهري الجديد، والتي سيتم
مقلد على جهاز الكمبيوتر.

  • الاسم - اسم الجهاز المطلوب.
  • الهدف هو إصدار نظام التشغيل Android المطلوب.
  • بطاقة SD - حجم محرك أقراص فلاش افتراضي.
  • لقطة - تم ضبطها دائمًا على ممكّن.

بمجرد تكوينه، انقر فوق "إنشاء". التكوين لا يتطلب أي شيء آخر. لبدء تشغيل المحاكي، تحتاج إلى تحديد الجهاز الذي تم إنشاؤه والنقر فوق الزر "ابدأ" أو "تشغيل".

المحاكي قيد التشغيل، وحان الوقت لمتابعة تثبيت تطبيق APK. قم بتشغيل موجه الأوامر بالضغط على Win + R ثم كتابة cmd في نافذة Run. انتقل إلى دليل أدوات النظام الأساسي الموجود في جذر المجلد البرنامج المثبت Android SDK، ملف APK المطلوب. في سطر الأوامريفعل:

  • قرص مضغوط [المسار إلى الدليل باستخدام SDK]؛
  • تثبيت بنك التنمية الآسيوي<имя_файла>.apk.

انتظر حتى تظهر رسالة النجاح على الشاشة. تم تثبيت ملف APK ويمكن فتحه من خلال قائمة المحاكي.

لا تعلق آمالا كبيرة على هذه الطريقة. تتطلب المحاكيات قدرًا كبيرًا من موارد الكمبيوتر، وبالتالي فإن تشغيل التطبيقات على جهاز الكمبيوتر يتطلب عشرات المرات أكثر من تشغيلها عليه أجهزة محمولة. تُستخدم هذه الطريقة لاختبار أو فحص برامج APK، ولكن ليس لاستخدامها. من الأكثر عقلانية العثور على منتج بوظائف مماثلة تم تصميمه خصيصًا للتشغيل على نظام تشغيل قياسي.