ما هو البرنامج الذي يفتح ملف APK لنظام Android على جهاز الكمبيوتر؟ كيفية فتح ملف APK على جهاز الكمبيوتر قم بفك ضغط ملف APK على جهاز الكمبيوتر

11.12.2023

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

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

لكننا الآن سنفعل الأمور بشكل مختلف تمامًا، لأننا لدينا بالفعل ملف تثبيت تم تنزيله مسبقًا بتنسيق "apk" وفي هذه الحالة لا نحتاج إلى Play Market نفسه على الإطلاق:

لذا، لكي تفهم بشكل أفضل، فإن الملف الذي يحتوي على هذا الامتداد هو برنامج تثبيت البرنامج لنظام Android. على سبيل المثال، إذا قمت بتثبيت برامج على Windows بنفسك، فأنت تعلم أن هذه الملفات لها الامتداد "exe".

ومن كل ما سبق يأتي السؤال: كيف يتم تثبيت ملف “apk” إن لم يكن من خلال المتجر؟ ولكن كيف، اقرأ من الآن فصاعدا بعناية فائقة. علاوة على ذلك، سننظر في كل شيء باستخدام مثال Navitel Navigator نفسه.

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

أولاً، نحتاج بالتأكيد إلى إعداد إعداد صعب للغاية. الآن حدد قسم "الإعدادات":

وفي علامة التبويب "الأمان"، حدد المربع بجوار "مصادر غير معروفة". ستساعدك لقطة الشاشة أدناه:

نحتاج الآن إلى تنزيل ملف التثبيت نفسه بالملحق "apk". وفي حالتنا نجده على الموقع الرسمي للبرنامج في قسم “التنزيل”:

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

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

ونتيجة لذلك، ستظهر رسالة على جهازك المحمول تشير إلى أنه تم إنشاء الاتصال. الآن انقر فوق الزر "تمكين تخزين USB" الموجود أسفل الشاشة:

بعد ذلك، سيتم اكتشاف جهاز Android على الكمبيوتر كمحرك أقراص فلاش عادي، والذي تحتاج إلى نسخ ملف التثبيت عليه:

ثم انتقل إلى قائمة الإعدادات مرة أخرى من خلال النقر على الأيقونة الموجودة في الزاوية اليمنى العليا:

وفي نافذة "التطبيقات" التي تفتح، حدد "مدير الملفات":

في هذه المرحلة، ستظهر لك قائمة بالمجلدات، ومن بينها مجلدنا المسمى "Download":

وأخيرًا، نرى ملف APK الذي يجب تثبيته على نظام Android:

اضغط عليها بإصبعك وتبدأ العملية:

ننتظر الآن حتى يتم نسخ الملفات ويمكننا تشغيل:

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

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

هذه هي الحكمة يا أصدقائي الأعزاء، الآن يمكننا أن نقول بثقة أنك تعرف بالضبط كيفية تثبيته بشكل صحيح. توافق على أنه لا يوجد شيء معقد حقًا هنا.

والآن بضع كلمات عن البرنامج نفسه، باستخدام المثال الذي نظرنا إليه في مبدأ تثبيت التطبيقات بهذه الطريقة. إذا كنت سائق سيارة، فيجب أن تقدر إمكانيات Navitel Navigator.

علاوة على ذلك، يمكنك الآن تثبيته بسهولة على جهازك المحمول وحمل نظام ملاحة كامل في جيب بنطالك. كل ما عليك فعله هو تحميل البطاقات اللازمة من الموقع الرسمي (الرابط في بداية المقال) ووضعها في المجلدات المناسبة:

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

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

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

على سبيل المثال، في هذا الشكل يتم تسليط الضوء عليه ملفي-file.apk، فأنت بحاجة إلى النقر بزر الماوس الأيمن على هذا الملف وتحديد الخيار في قائمة الملفات "المسح باستخدام AVG". عند تحديد هذا الخيار، سيقوم AVG Antivirus بفتح الملف وفحصه بحثًا عن الفيروسات.


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

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


نصيحة:حاول تحديث Google Android SDK إلى الإصدار الأحدث للتأكد من حصولك على أحدث التصحيحات والتحديثات.


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


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


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

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


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


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

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


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

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

مقدمة

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

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

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

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

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

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

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

% dex2jar.sh mail.apk

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

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

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

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

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

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

يتم استخدام هذا الدليل من قبل منتجي الألعاب الذين يضعون محركات الألعاب الخاصة بهم مكتوبة بلغة C/C++ هناك، وكذلك من قبل منشئي التطبيقات عالية الأداء (على سبيل المثال، Google Chrome). اكتشفنا الجهاز. ولكن كيف يمكنك الحصول على ملف الحزمة الخاص بالتطبيق الذي تهتم به؟ نظرًا لأنه من غير الممكن التقاط ملفات 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:
  • - التجميع القسري دون التحقق من التغييرات؛
  • - حدد المسار إلى 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. انسخه على هاتفك الذكي، ثم قم بتثبيته، ثم قم بتشغيله. لقد اختفت جميع الإعلانات، ونحن نهنئنا عليها جميعًا.

نتائج

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

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

قد تسأل: "لماذا هذا ضروري؟ أليس من الأسهل الانتقال مباشرة عبر الجهاز إلى Google Play نفسه وتثبيت التطبيق أو اللعبة المطلوبة؟"

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

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

كيفية تنزيل ملف APK من جوجل بلاي إلى جهاز الكمبيوتر الخاص بك

الآن دعونا نتعرف على كيفية القيام بذلك نقطة بنقطة:

2. ابحث عن التطبيق أو اللعبة التي تحتاجها.

3. انتقل إلى الصفحة الرئيسية للتطبيق وانسخ عنوانها في المتصفح.

4. افتح صفحة تنزيل ملف APK apps.evozi.com في متصفحك والصقه في الحقل اسم الحزمة أو عنوان URL لـ Google Playالعنوان المنسوخ سابقا.

5. انقر فوق الزر توليد رابط التحميل

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

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

كما ترون، فإن تنزيل ملف APK من Google Play على جهاز الكمبيوتر الخاص بك أمر بسيط للغاية، ولكن هناك قيد واحد - يمكنك فقط تنزيل التطبيقات والألعاب المجانية. ويتم ذلك من أجل منع استخدام هذه الخدمة لغرض الاستخدام غير القانوني (القرصنة) للتطبيقات المدفوعة.

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

القليل من النظرية وجوهر المشكلة

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

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

باستخدام الأدوات القياسية

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

دعنا نتعرف على كيفية تثبيت ملف APK على نظام Android. هنا تحتاج إلى اتباع بعض الخطوات البسيطة:

  1. انتقل إلى قسم "الإعدادات" في أداتك.
  2. ابحث عن عنصر "الأمان".
  3. في القائمة، ابحث عن عنصر "مصادر غير معروفة"، ثم حدد المربع المجاور له. سيسمح لك ذلك بتثبيت تطبيقات الطرف الثالث.
  4. أرسل ملف apk إلى هاتفك (يمكنك إخراج بطاقة الذاكرة وكتابتها عليه وإدخالها مرة أخرى).
  5. انتقل إلى المستكشف القياسي وابحث عن حزمة التثبيت.
  6. اضغط عليها وأكد التثبيت.

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

إذا كان الإجراء يبدو معقدًا للغاية بالنسبة لك، وتواجه أي صعوبات، فحاول استخدام مدير الملفات. يحتوي متجر Play Market على مجموعة كبيرة من هؤلاء المديرين. نوصي باستخدام ASTRO File Manager أو أحد أشهرها - ES Explorer.

لديهم واجهة جميلة وتسمح لك أيضًا بفتح ملف APK المطلوب بسرعة وسهولة. لا تختلف التعليمات عمليا عن تلك الموصوفة أعلاه:

  1. قم بتنزيل ملف التثبيت على بطاقة SD الخاصة بك.
  2. قم بتشغيل مدير الملفات، ثم ابحث عن الملف الموجود على البطاقة.
  3. انقر عليها لبدء التثبيت.

الخيار البديل هو مديري التطبيقات. إنها أكثر "مصممة" للعمل مع البرامج، لذا فهي مثالية لفتح ملف APK. يمكنك استخدام SlideME Mobentoo App Installer. من المفيد اختياره لسبب واحد بسيط - فهو يقوم تلقائيًا بفحص بطاقة الذاكرة الخاصة بك ثم يعثر على المثبتات المتوفرة. لن تضطر إلى البحث عنهم لفترة طويلة. ما عليك سوى اختيار ملف APK المطلوب والنقر عليه.