نقوم بفتح وتعديل وتعبئة تطبيقات الأندرويد. كيفية استخراج ملف APK لتطبيق مثبت في Android كيفية إنشاء ملف APK

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

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


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

ومن ثم لتنظيف هاتفك من الحطام بسرعة، يمكنك دائمًا استخدام Clean master. لا أعرف ما هو؟ .

تنزيل APK

ملحق لمتصفحي Chrome وFirefox. كما يسمح لك بتنزيل الأداة المساعدة المحددة بسرعة كملف منفصل. بعد تفعيل البرنامج المساعد، ما عليك سوى الانتقال إلى صفحة البرنامج المطلوب على Google Play واستخدام المفتاح F5. يتم تحديث الصفحة وتعرض زر التنزيل للعنصر المقابل.

أساليب أخرى

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

طريقة أخرى: افتح الصفحة المطلوبة على Google Play وقم بتغيير play.google.com يدويًا إلى apk-dl.com في شريط عنوان المتصفح (يجب ترك باقي العنوان). بعد تحديث الصفحة، يتم منح المستخدم الفرصة لتنزيل الملف المحدد.

في بعض الأحيان، لا تناسب بعض التطبيقات على 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- وصف التطبيق. يتضمن ذلك، على سبيل المثال، قائمة بالأذونات المطلوبة وإصدار 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:
  • -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. انسخه على هاتفك الذكي، ثم قم بتثبيته، ثم قم بتشغيله. لقد اختفت جميع الإعلانات، ونحن نهنئنا عليها جميعًا.

نتائج

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

يعرف الكثير منكم أن عملية تثبيت تطبيق Android بسيطة - فأنت تفتح سوق Google Play، وتبحث عن البرنامج أو اللعبة المطلوبة، ثم تنقر على الزر الكبير "تثبيت" وهذا كل شيء. ومع ذلك، تأتي تطبيقات Android في شكل حزم يتم تثبيتها يدويًا أيضًا. تحتوي هذه الحزم على الامتداد ".apk" واستخداماتها العملية عديدة. على سبيل المثال، يمكنك بسهولة إجراء نسخ احتياطي للتطبيقات المخزنة أيضًا كملفات APK. سيساعدك هذا أيضًا في حالة اختفاء تطبيق أو لعبة فجأة من Google Play، كما حدث مع Flappy Bird. إذا رغبت في ذلك، يمكن لأي شخص تنزيل التطبيق وتثبيته على هواتفهم الذكية. من السهل أيضًا تثبيت ملفات APK على الأجهزة المقيدة بشكل مصطنع من قبل الشركة المصنعة (Amazon Kindle Fire أو Nokia X).

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

  • 1. على جهازك الذي يعمل بنظام Android، قم بزيارة Google Play وقم بتنزيل التطبيق الذي تريد استخراجه.
  • 2. قم بتنزيل تطبيق APK Extractor. هذا التطبيق مجاني وسهل الاستخدام.
  • 3. افتح تطبيق APK Extractor وحدد أي تطبيق تريد استخراجه. يمكنك وضع علامة على عدة تطبيقات في وقت واحد. سيتم حفظ ملفات APK في المجلد ExtractedApks في ذاكرة الجهاز.

يمكن الآن نسخ ملفات APK المستخرجة إلى هاتف ذكي أو جهاز لوحي آخر يعمل بنظام Android وتثبيتها باستخدام أي مدير ملفات مثل Astro أو ES File Explorer.

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

في أي الحالات يتم عمل نسخة احتياطية للتطبيقات المثبتة؟

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

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

هناك العديد من هذه الحالات.

كيفية استخراج ملفات APK من جهاز أندرويد؟

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

طريقة 1.لقد قمت بتثبيت ES Explorer، فلنقم الآن بتشغيله:

الصورة 1

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

الشكل 2

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


الشكل 3 الشكل 4

توجد جميع التطبيقات المستخرجة في المجلد « ذاكرة الهاتف/النسخ الاحتياطية/تطبيقات". ربما لاحظت أنه في الشكلين 3 و4 تم تمييز بعض الملفات باللون الأحمر أو الأخضر، لذلك إليك ما يلي: تم تمييز التطبيقات التي تم نسخها احتياطيًا مسبقًا والموجودة في المجلد باللون الأخضر تطبيقات وباللون الأحمر - التطبيقات التي تم استخراجها أيضًا مسبقًا ولكن تم حذفها من المجلد تطبيقات (يتم حذف الملفات المستخرجة فقط، وليس الملفات المثبتة). هذا هو كل ما يمكن استخراجه باستخدام هذه الطريقة.

الشكل 5

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

الطريقة 2.نطلق نفس "ES Explorer". يوجد في الجزء العلوي من الشاشة مجموعة مختارة من أقسام الذاكرة (الشكل 6) أو انتقل إلى قائمة "التخزين المحلي" (الشكل 7) وحدد العنصر /جهاز .


الشكل 6 الشكل 7

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

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

هذا كل شئ.

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

ترقبوا، لا يزال هناك الكثير من الأشياء المثيرة للاهتمام في المستقبل.

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

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

1. جوجل كروم

أنشئ اختصارًا ثانيًا لـ Google Chrome على سطح المكتب.

انقر بزر الماوس الأيمن على الاختصار وحدد "خصائص". في حقل "الكائن" أضف الأوامر التالية مفصولة بمسافة:

تجاهل أخطاء الشهادة

السماح بتشغيل محتوى غير آمن

سيبدو شيئا من هذا القبيل:

...\chrome.exe" --تجاهل أخطاء الشهادة --السماح بتشغيل محتوى غير آمن

انقر فوق "تطبيق" و"موافق".

بعد هذه العملية، تحتاج إلى إعادة تشغيل المتصفح، وإغلاق جميع مثيلات التطبيق قيد التشغيل.

2. اسم حساب Google ومعرف الجهاز

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

كل شيء واضح مع الصندوق، ولكن لمعرفة معرف الجهاز، افتح برنامج الاتصال على هاتفك الذكي واطلب *#*#8255#*#*

على الشاشة التي تظهر، تحتاج إلى العثور على السطر "معرف الجهاز:"

رقم المعرف هو مزيج من الحروف والأرقام التي تتبع "-android". على سبيل المثال، إذا رأيت في السطر "معرف الجهاز: android-1122aa33bb445577"، فإن المعرف هو المجموعة "1122aa33bb445577". اكتب هذا الجمع.

إذا لم تتمكن لسبب ما من معرفة معرف جهازك باستخدام الطريقة المذكورة أعلاه، فيمكنك ببساطة تنزيل تطبيق معرف الجهاز من متجر Google Play.

3. تنزيل APK

قم بتنزيل ملحق المتصفح المسمى APK Downloader.

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

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

4. متجر جوجل بلاي

انتقل الآن إلى متجر Google Play المفضل لدينا وحدد أي تطبيق مجاني. سيظهر رأس أخضر مميز مع سهم على الجانب الأيمن من شريط عنوان المتصفح.

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

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