كيفية فك وتركيب ملفات APK لنظام Android



اضغط الآن على 'استبدال الكل' ، وسوف يغير كل منandroid: color / white لاستخدام background_holo_dark بدلاً من ذلك. استمر الآن في التمرير عبر ملف .xml بالكامل ، وابحث عن أي سلاسل android: سلاسل خلفية تستخدم قيمة سداسية عشرية (#fffffff) أو أي شيء آخر غير ما استبدلناه للتو. بالنسبة لتلك التي تجدها ، قم بتغيير السلاسل لاستخدام السلسلة الجديدة (abs__background_holo_dark).

لذلك قمنا بتغيير الخلفية ، والآن سنقوم بتغيير لون النص. لذا اتبع نفس الإجراء الذي قمنا به للتو ، ولكن هذه المرة استخدم CTRL + F لـ 'android: textColor'. ستحصل على حوالي 166 سطرًا تم العثور عليها.



سترى أشياء مثل 'android: textColor =” # ffbbbbbb '، وما إلى ذلك ، لذا انظر داخل Colors.xml مرة أخرى ونحتاج إلى معرفة الأسطر التي يجب استبدالها بلون النص.



يمكنك رؤية android: textColor = ”# ffbbbbbb” ، “#ffffffff” ، “# ff717171” ، و “#ffcccccc” في لقطة الشاشة وفي نتائج البحث في Note ++. افتح Colors.xml مرة أخرى الآن للعثور على السطر الذي نريد استخدامه للون النص.



لذا ارجع إلى ملف .xml الأول واستخدم CTRL + H لمربع حوار الاستبدال مرة أخرى. الآن قم بنسخ سلسلة 'android: textColor =' # ffbbbbbb 'في الأعلى والأسفل ، وقم بتغيير السطر السفلي إلى' android: textColor = '@ color / text'.

الآن مرة أخرى ، ابحث في جميع خطوط android: textColor وقم بتغيير أي شيء له قيمة سداسية عشرية في السلسلة. أخيرًا عندما تصل إلى ملف styles.xml ، فأنت تريد إزالة معكوس بضعة أسطر ، بدءًا من السطر 260 ومتابعة نزولاً لبضعة أسطر. لذا احذف 'معكوس' من تلك السلاسل.

بعد ذلك ، سترى بعض القيم السداسية في الأسطر 527 ، و 536 ، و 573 ، و 579 ، و 585 ، و 601 ، وعدد قليل من القيم الأخرى. استبدل من (#ffffffff) بـ (@ color / text).



اضغط على CTRL + F للبحث في Notepad ++ عن ملفات cacheColorHint ، مقسم ، @ * android: color / و و معكوس .

cacheColorHint هي خلفية التمرير ، لذلك نحتاج إلى التأكد من أنهم يستخدمون لون الخلفية لدينا. المقسمات تشرح نفسها بنفسها ، ويمكننا تغيير قيمها السداسية إذا أردت. الشيء الوحيد هو أنه لا يجب عليك لمس أي شيء يشير إلىdrawable. وعادة ما تكون هذه الصور مخزنة كملفات .png في مكان آخر في المجلد .apk.

عندما تبحث عن ' معكوس' ، سيعرض إشارات إلى textAppearanceInverse. تحتاج إلى النقر نقرًا مزدوجًا فوق كل منها وحذف المعكوس من تلك السلاسل.

أخيرًا ، سيؤدي البحث عن @ * android: color / إلى التحقق مرة أخرى مما إذا فاتنا أي تعديلات على إطار العمل. إذا وجدت أي شيء يقول 'android: popupBackground'> ​​@ * android: color / white '، فأنت بحاجة إلى تغييره إلى' android: popupBackground '> @ color / abs__background_holo_dark'. يتضمن هذا الخط 911 ، والذي قد يكون محيرًا لأنه يشير بالفعل إلى android: color / black.

بعد ذلك سنفتح res / القيم / colors.xml ونغيره ليبدو كما يلي:

قم بالتمرير التالي / القيم / styles.xml ، ثم قم بالتمرير لأسفل إلى السطر 328. قم بتغييره على النحو التالي:

() يجب تغييره إلى ()

افعل الشيء نفسه مع السطر 479 ، مع تغيير ' ضوء' إلى ' أسود' .

انتقل الآن إلى res / القيم-v11 / styles.xml ، وأزل ' ضوء' حيث تقول ' Holo.Light ' .

بعد ذلك ، ستفتح res / القيم-v14 / الأنماط الآن ، والتي تحتوي على الكثير من السلاسل. لذا في أول 46 سطرًا ، تريد إزالة أي ' ضوء' و ' معكوس' المراجع ، ثم قم بتغيير الوالدين في السطر 53 و 54 إلى '@ * android: style / Theme.Holo'.

في السطر 69 ، على الجانب الأيمن ، قم بإزالة Light من @ * android: style / Theme.Holo.Light.Dialog الأصل.

هذا كثير من العمل ، أليس كذلك؟ ربما من الآن فصاعدًا ستكون أكثر تقديراً لمظاهر التطبيق وجلوده!

بعد ذلك سنذهب إلى الدقة / اللون مجلد. هناك بعض الملفات النصية التي تشير إلى الأسود. افتح الدقة / الألوان / action_mode_item_text_color_state_list.xml

هذا ما يبدو عليه في الأسهم. أدناه هو كيف تحتاج إلى القيام بذلك.

تحتاج إلى إجراء تغييرات الأسماء هذه على ملفات xml التالية داخل مجلد / res / colours: Bottom_button.xml ، Button_update.xml ، Filelist_text_name.xml ، Filelist_text_small.xml ، Link_button.xml ، Local_filelist_text_name.xott ، Local_filelist.ext_name.xml ، Local_filelist.ext_name.xott xml ، ss_bottom_bottom_text_color_light.xml ، tab_text_foreground.xml.

عندما تنتهي من ذلك ، افتح / res / drawable وستجد xmls التي تتحكم في لون الخلفية. لذا قم بالمرور عليها واجعلها تبدو كما يلي:

قم بتطبيق نفس التغييرات على جميع ملفات drawable.xml الأخرى.

افتح الآن test.apk واضغط على CTRL + انقر بزر الماوس الأيسر لتمييز smali و AndroidManifest ، ثم انقر بزر الماوس الأيمن و 'تحرير باستخدام Notepad ++' مرة أخرى. الموافقة على جميع ملفات smali 1999. عند التحميل ، قم بإجراء بحث CTRL + F عن -0x100 (أسود)

ستحصل على حوالي 8 نتائج ، والشيء الذي تريده هو smali / com / dropbox / android / activity / TextEditActivity.smali ، على السطر 599. انقر نقرًا مزدوجًا على هذا الخط.

يحتوي السطر 599 على -0x100 فيه ، ويحتوي السطر 601 على 'SetTextColor'. هناك أيضًا متغير يطابق السطر 599. لذا لشرح باختصار ، -0x100 ، -0x1000000 وحتى 0x0 يعني الأسود ، -0x1000000 هو أيضًا أسود وحتى 0x0. غيّر السطر 599 بإزالة الصفرين من 100 وإزالة / ارتفاع 16 على النحو التالي:

بعد ذلك ، سنبحث عن @ * android: style ، ولكن بلغة smali. سيحتوي xml على '0' إضافي بعد x ، لكننا لا نستخدمه في smali. يجب أن يكون '0x103004f' بدلاً من '0x0103004f'.

ابحث في Notepad ++ عن @ * android: style / الذي يحتوي على 0x103.

النتيجة الثانية هي 'const v7 ، 0x1030073'. ابحث عن ذلك في public.xml من framework-res.apk مرة أخرى. سترى أنه معرف 'Theme.Holo.Light.Dialog'. ستحتاج إلى تغييره إلى المعرف العام لنمط المظهر المعاكس.

نظرًا لأن هذا هو Theme.Holo.Light.Dialog ، فأنت تريد جعله Theme.Holo.Dialog. Theme.Holo.Dialog له معرف '0x103006f'. سيؤدي ذلك إلى تغيير مربع تنبيه الحوار المنبثق لاستخدام سمة تستند إلى Holo أغمق بدلاً من سمة Holo.Light الأفتح.

العنصر التالي الذي نحتاج إلى تغييره هو '0x103006e' وهو Theme.Holo.Light. لذا انطلق واجعله نمط المظهر المعاكس. في public.xml من framework-res.apk ، سترى معرف Theme.Holo هو 0x0103006b. لذلك دعونا نغير هذا الخط ليبدو كما يلي:

لم يتبق سوى عمليتين أخريين من هذه الخطوات. التالي هو '0x103000c' ، وهو موضوع Theme.Light في public.xml. عكس ذلك هو Theme.Black وليس ThemeHolo. لذلك في public.xml ، سترى معرف Theme.Black هو “0x01030008” - قم بتغييره ليبدو كما يلي:

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

حتى الآن يمكنك فتح البرنامج النصي من Apk Multi Tool ، والضغط على 12 لتجميع التطبيق. إذا تم عرض أي أخطاء ، يمكنك محاولة البحث داخل سجل الأخطاء لمعرفة الخطأ الذي حدث ، ولكن من المرجح أنك ارتكبت خطأ إملائيًا أو خطأ آخر أثناء تحرير التعليمات البرمجية.

عند اكتمال الإنشاء ، اضغط على 2 ثم 13 لإعادة تسجيل التطبيق.

يحتوي تطبيق الأسهم على مجلد باسم 'القوالب' - تحتاج إلى سحب ذلك إلى ملف apk غير الموقع باستخدام شيء مثل 7zip. انسخ ملف unsigned.apk إلى مجلد 'place-apk-here-for-signature' داخل Apk Multi Tool. الآن اضغط 18 في البرنامج النصي للمحطة لتوقيع التطبيقات في هذا المجلد. عند الانتهاء ، سيخرج النص تلقائيًا من نفسه. يمكنك الآن تحميل ملف apk. على جهازك!

6 دقائق للقراءة