يواجه العديد من المستخدمين مشكلة إعادة تثبيت نظام التشغيل Android على هواتفهم أو أجهزتهم اللوحية. الحقيقة هي أن هذا النظام أكثر عرضة لهجمات الفيروسات من غيره.
وبدون وجود برنامج مكافحة فيروسات قوي، يقوم أصحاب أجهزة Android بتنزيل الكثير من المحتويات المختلفة من مصادر غير معروفة ويعرضون النظام للخطر.
بالطبع، من الصعب جدًا جعل الأداة غير صالحة للعمل تمامًا، ولكن "تدمير" نظام Android المؤسف تمامًا أمر ممكن تمامًا. ثم تطرح مسألة وميض الجهاز وسنخبرك بكيفية القيام بذلك بنفسك في هذه المقالة.
أود أن أحذر جميع المستخدمين من أنه من الأفضل القيام بالوميض إذا كان لديك على الأقل بعض الخبرة في هذا الشأن، وإلا فإن الأمر كله سيتلخص في أنك ستأخذ الجهاز ببساطة إلى مركز الخدمة وستظل تدفع المال مقابله العمل. ولكن إذا كنت مصممًا، فابدأ بشحن جهازك. يجب أن تكون مشحونة نصف على الأقل. ستعتمد الإجراءات الإضافية على طراز هاتفك أو جهازك اللوحي.
سوف تحتاج إلى العثور على إصدار البرنامج الثابت لجهازك. الإنترنت لديه كل ما تحتاجه لهذا الغرض. نوصي باستخدام المواقع الموثوقة لتجنب تنزيل برامج الفيروسات إلى جهاز الكمبيوتر الخاص بك مع البرامج الثابتة. أحد هذه المواقع هو 4pda.
هنا لا يمكنك العثور على البرامج الثابتة فحسب، بل يمكنك أيضًا العثور على "برنامج وامض" سنحتاجه أيضًا. على سبيل المثال، بالنسبة لشركة Samsung، هذا هو برنامج Odin، بالنسبة إلى Sony Ericsson، فهو PC Companion، ويجب عليك العثور على إصدار من هذه الأداة المساعدة لجهازك. بعد تنزيل البرنامج الثابت، تحتاج إلى "رميه" في مثل هذا البرنامج وبدء العمل.
لذا عليك:
قم بتوصيل الجهاز بالكمبيوتر عبر كابل وقم بتحويله إلى وضع "Bootlader". عادة ما تكون هذه مجموعات من الأزرار، أي منها مناسب لك - تحتاج إلى توضيح، ويعتمد ذلك أيضًا على طراز الأداة والشركة المصنعة.
بعد ذلك، سيبدأ البرنامج في العمل وعليك الانتظار حتى اكتمال التثبيت. لا تقم تحت أي ظرف من الظروف بفصل السلك من جهاز الكمبيوتر أو الجهاز الخاص بك، ويُنصح بعدم استخدام جهاز الكمبيوتر الخاص بك لأغراض أخرى خلال هذا الوقت.
لدى أي مستخدم Android فكرته الخاصة حول الشكل الذي يجب أن يبدو عليه نظام التشغيل، وما هي الوظائف التي يجب أن يؤديها، وما هي مجموعة البرامج التي يجب تثبيتها فيه افتراضيًا. ومع ذلك، لا يعلم الجميع أن إنشاء البرامج الثابتة الخاصة بك ليس بالأمر الصعب. للقيام بذلك، ليس من الضروري على الإطلاق فهم نواة Linux، أو القدرة على تجميع مصادر Android، أو فهم كيفية عمل الهاتف الذكي.
هناك ثلاث طرق لإنشاء البرامج الثابتة الخاصة بك لجهاز اتصال Android: 1. الانتهاء من نظام التشغيل وتجميعه من المصادر التي نشرتها Google أو فريق CyanogenMod. 2. تعديل البرنامج الثابت الخاص بمخزون جهاز الاتصال. 3. تعديل البرامج الثابتة التابعة لجهات خارجية والتي تم إنشاؤها باستخدام الطريقة الأولى أو الثانية.
الطريقة الأولى هي الأكثر صحة ومرونة، ولكنها غالبا ما تتطلب معرفة عميقة إلى حد ما بميزات Android والقدرة على تحرير مصادر النظام بحيث تعمل بعد ذلك على الجهاز. هذا الموضوع خارج عن نطاق مقالتنا، لذلك لن نفكر في تجميع مصادر أندرويد، بل سنركز على الطريقتين الأخريين، أو بالأحرى الثالثة.
توجد البرامج الثابتة التابعة لجهات خارجية (ما يسمى بالتعديلات) تقريبًا لأي جهاز يعمل بنظام Android موجود في السوق لمدة أسبوع على الأقل. عادة ما تتضمن بالفعل جميع التعديلات اللازمة اللازمة للتشغيل الصحيح للبرنامج الثابت على جهاز الاتصال، وبالتالي تمثل منصة ممتازة لتجربة النظام. يمكن تعديلها بشكل يتعذر التعرف عليه تقريبًا، وتضمين أي برنامج في نظام التشغيل، وتغيير مظهره، وإنشاء العديد من الإعدادات ذات المستوى المنخفض باستخدام محرر نصوص بسيط ومدير ملفات. لا تتطلب هذه الخطوات معرفة عميقة بنظام التشغيل ويمكن تنفيذها بواسطة أي قارئ سجل.
لذلك، لنفترض أن جهاز الاتصال الخاص بنا قد تم تجذيره بالفعل وأن وحدة التحكم بالاسترداد ClockworkMod مكتوبة في منطقة التمهيد، مما يسمح لك بتثبيت أي برنامج ثابت على الجهاز دون أي قيود (كتبنا عن كيفية القيام بذلك في مقال "Total Subordination"). ، نشرت في عدد أكتوبر من [ ] . نريد الآن تثبيت برنامج ثابت آخر على الجهاز، وليس فقط أي برنامج ثابت، ولكن مع التعديلات والإعدادات ومجموعة البرامج الخاصة بنا. لذلك، نحن بحاجة إلى إطار عمل، أي البرامج الثابتة لشخص آخر يعمل بثبات على أجهزتنا. أين يمكنني الحصول عليه؟
الموطن الرئيسي لجميع عارضات الأزياء هو بالطبع منتديات xda-developers.com. هناك يمكنك أن تجد كل ما تحتاجه لأجهزة الاتصال التي تعمل بنظام التشغيل iOS، وWindows Mobile، وWindows Phone، وAndroid. افتح الموقع في المتصفح، وانقر على قسم المنتديات وابحث عن جهة الاتصال الخاصة بك في قوائم المنتدى. بعد ذلك، انتقل إلى القسم المناسب من Android Development وابحث بعناية في قائمة المواضيع التي تحتوي على كلمة "" في العنوان. من الأفضل العثور على بعض البرامج الثابتة النظيفة باسم مثل "Pure Android 2.3 Rom" أو منفذ CyanogenMod، على الرغم من أن أي برنامج آخر سيفي بالغرض (على الرغم من أنك قد تضطر إلى التراجع عن تغييرات المؤلف). افتح الموضوع، وقم بالتمرير عبر المشاركة الأولى، وابحث عن رابط التنزيل في مكان ما في النهاية وقم بتنزيل ROM على جهاز الكمبيوتر الخاص بك.
الآن يجب فتح ملف البرنامج الثابت. يتم ذلك باستخدام أداة فك الضغط الأكثر شيوعًا:
$ مكدير ~/روم؛ cd ~/rom $ unzip ../path/to/firmware.zip
مجموعة الملفات والأدلة التي تم تشكيلها نتيجة لتنفيذ الأمر السابق هي، في جوهرها، نظام التشغيل Android، وبالضبط في النموذج الذي سيتم وضعه في ذاكرة NAND للجهاز. اعتمادًا على إصدار Android وخيال المؤلف، قد يحتوي على مجموعات مختلفة من الدلائل والملفات، ولكنه يحتوي دائمًا على ثلاثة كائنات مطلوبة: META-INF وملف boot.img ودليل النظام.
يحتوي الدليل الأول على معلومات وصفية حول البرنامج الثابت، بما في ذلك ملفات شهادات المؤلف، وبيان يحتوي على قائمة بالملفات ومجاميعها الاختبارية، بالإضافة إلى برنامج نصي للتحديث يمكنه إنشاء ملفات جديدة في ذاكرة NAND، وتغيير حقوق الوصول وعرض شريط التقدم التي يراها المستخدمون أثناء تثبيت البرامج الثابتة.
يحتوي ملف boot.img على صورة تمهيد تتضمن نواة Linux وصورة initrd. يمكن تفكيكه، لكنه ليس مفيدًا بشكل خاص بالنسبة لنا، حيث يمكن تغيير أي معلمات نظام تقريبًا باستخدام ملفات الإعدادات ونظام الملفات /proc. إذا كنت بحاجة إلى نواة مبنية بمعلمات خاصة، على سبيل المثال مع جدولة BFS مفعلة أو دعم NFS، فمن المؤكد تقريبًا أنه يمكنك العثور عليها على نفس مطوري xda وفلاشها باستخدام ClockworkMod.
وأخيرًا، دليل النظام هو ما يدور حوله الأمر. تمثل محتويات هذا الدليل نظام التشغيل Android بدون نواة Linux. أنه يحتوي على كل ما هو ضروري لكي يعمل نظام التشغيل، وبالتالي فمن الضروري ببساطة معرفة هيكله. تبدو هكذا:
يمكن أيضًا تطبيق إعدادات build.prop الواردة في المقالة على نظام قيد التشغيل بالفعل باستخدام الأمر setprop:
# setprop debug.sf.nobootanimation 1
يحتوي الدليل /system/app على جميع البرامج المثبتة مسبقًا في البرنامج الثابت. من خلال إزالة الحزم وإضافتها إلى هذا الدليل، يمكننا تغيير مجموعة التطبيقات المتاحة خارج الصندوق. على سبيل المثال، ليس سرًا أن مشغل Android القياسي (و ADWLauncher في CyanogenMod) بطيء ولديه العديد من أوجه القصور. حسنًا، لنستبدله بـ LauncherPro:
$ نظام rm/app/Launcher.apk $ wget goo.gl/U9c54 -o نظام/app/LauncherPro.apk
وهذا كل شيء. لا تحتاج إلى تثبيت أي شيء، ولا تحتاج إلى التجول في أي مكان، ما عليك سوى إسقاط التطبيق المطلوب في الدليل - وبذلك تكون قد انتهيت. حتى الاسم لا يهم، سيجد Android نفسه التطبيق الذي تحتاجه وسيقوم بتعيينه كشاشة رئيسية لديك. بنفس الطريقة، يمكنك وضع أي برنامج آخر في البرنامج الثابت أو إزالته من هناك.
من المفيد وضع أحد التطبيقات في البرامج الثابتة للعثور على هاتف ذكي مفقود (على سبيل المثال، فريسة)، ثم حتى إذا قمت بإعادة تعيينه إلى إعدادات المصنع، فسيبقى في نظام التشغيل وسيعمل. يمكنك أيضًا استبدال بعض برامج النظام، على سبيل المثال، إضافة Dialer One بدلاً من Phone.apk القياسي أو Go SMS بدلاً من sms.apk.
ماذا عن تطبيقات نظام Linux مثل خادم ssh أو mc؟ كل شيء بسيط هنا أيضًا. يمكنك إنشاء برنامج لمعالج Android وARM باستخدام مجموعة NDK من Google، ولكن تم بالفعل تجميع معظم التطبيقات الضرورية أمامنا. على سبيل المثال، نريد تثبيت mc مسبقًا في البرامج الثابتة لدينا. انتقل إلى مطوري xda وابحث عن Midnight Commander. في الصفحة الأولى نجد حزمة APK مع المثبت ونقوم بفك ضغطها باستخدام نفس فك الضغط:
$ قرص مضغوط / تمب؛ فك الضغط ~/NativnuxInstaller_1.1.apk
نرى الأصول/kits/mc-4.7.5.4-arm.tar.jet في قائمة الملفات التي تم فك حزمتها. هذا هو أرشيف tar.gz، الذي يتم تفريغه إلى جذر النظام بعد تثبيت حزمة APK (أو بالأحرى، بعد تثبيت APK، تشغيل التطبيق والنقر فوق الزر "تثبيت". يمكننا فك حزمته على الفور في البرامج الثابتة لدينا والحصول على مولودية مثبتة مسبقًا:
$ cd ~/rom $ tar -xzf /tmp/assets/kits/mc-4.7.5.4-arm.tar.jet
الآن، لتشغيل مدير الملفات على الجهاز، ما عليك سوى فتح الوحدة الطرفية واكتب mc. يمكن توزيع التطبيقات الأخرى في أرشيفات مضغوطة للوميض باستخدام ClockworkMod Recovery. ومن الأسهل وضعها في جهازك؛ للقيام بذلك، ما عليك سوى الانتقال إلى جذر البرنامج الثابت (في هذه الحالة ~/rom) وفك ضغط الأرشيف باستخدام فك الضغط.
غالبًا ما يتم إنشاء البرامج الثابتة المخصصة لتغيير مظهر Android حسب رغبتك. يعد إجراء هذه العملية على نظام Android أمرًا بسيطًا للغاية. يتم تخزين جميع إعدادات Android GUI في ملف Framework/framework-res.apk. يمكن فك ضغطه باستخدام الأداة المساعدة apktool:
$cd~; wget goo.gl/hxz5l $ tar -xjf apktool1.4.1.tar.bz2 $ cd ~/rom/system/framework $ java -jar ~/apktool.jar d Framework-res.apk
ونتيجة لذلك، يجب أن يظهر دليل إطار العمل الذي يحتوي على جميع ملفات الحزمة في الدليل الحالي. الدلائل الفرعية الأكثر إثارة للاهتمام داخله هي res/drawable-* و res/layout-*. يحتوي الأول على جميع العناصر الرسومية في شكل ملفات png لدقة مختلفة ومواضع الشاشة. على سبيل المثال، drawable-land-mdpi هو دليل يحتوي على موارد رسومية للشاشات ذات الدقة المتوسطة الموجودة في وضع أفقي (عند تدوير الشاشة، يتحول نظام التشغيل إلى استخدام ملفات أخرى). وبطبيعة الحال، يمكن تحرير أي ملف أو استبداله بآخر.
تحتوي أدلة التخطيط على أوصاف للعناصر الرسومية بتنسيق XML (يتم تخزينها فعليًا بتنسيق AXML الثنائي، لكن apktool حولتها إلى XML عادي). تنسيق الوصف بسيط للغاية ومفهوم، ولكن من الصعب فهمه بسرعة، خاصة إذا كنت لا تعرف مكان كل شيء. لذلك، سننتقل مرة أخرى إلى خدمات سكان منتدى مطوري XDA، الذين تمكنوا بالفعل من التوصل إلى الكثير من التعديلات المختلفة للواجهة الرسومية لنظام Android. يمكن العثور عليها بسهولة باستخدام استعلام البحث "framework-res mod Device_name".
عادة، يتم توزيع هذه التعديلات في شكل ملف Framework-res.apk جاهز، والذي يمكنك ببساطة وضعه في البرامج الثابتة الخاصة بك. إذا كنت تريد العثور على اختلافات محددة في المحتوى، فيمكن فك التعديل ومقارنته بإطار العمل الخاص بك باستخدام diff:
$ diff -R ~/framework-res \ ~/rom/system/framework/framework-res
لسوء الحظ، في إطار مقال واحد، لا يمكننا النظر على الأقل في جزء من البنية الداخلية لإطار العمل، لذا للحصول على معلومات أكثر تفصيلاً، يرجى الرجوع إلى الموضوع المقابل في منتدى w3bsit3-dns.com.
بعد إجراء التعديلات، يمكنك إنشاء Framework-res.apk باستخدام نفس أداة apk. ومع ذلك، تتطلب هذه العملية الأداة المساعدة aapt من Android SDK، والتي تستخدمها apktool لحزم ملف apk أخيرًا. ويمكن أيضًا الحصول عليها بشكل منفصل:
$ cd ~/bin; wget goo.gl/tC7k8
الآن يمكنك بناء الملف:
$ cd ~/rom/system/framework $ java -jar ~/apktool.jar b Framework-res $ cp framwork-res/dist/framework-res.apk . $ rm -rf إطار الدقة
الخطوة التالية هي تغيير الرسوم المتحركة للتحميل. يتم تخزينه على شكل ملفات png عادية، ومعبأة في أرشيف النظام/الوسائط/bootanimation.zip. دعونا نفكها:
$ cd /tmp $ mkdir bootanimation؛ cd bootanimation $ unzip ~/rom/system/media/bootanimation.zip
يوجد بالداخل ملف desc.txt الذي يصف الرسوم المتحركة بالتنسيق التالي:
العرض الارتفاع FPS p ترتيب الإيقاف المؤقت للكتالوج...
النموذج القياسي لهذا الملف هو:
480800 30 ص 1 0 جزء 0 ص 0 0 جزء 1
وهذا يعني أن حجم الصورة هو 480 × 800 وأن معدل الإطارات (FPS) هو 30 إطارًا في الثانية. فيما يلي وصف للجزء الأول من الرسوم المتحركة، والتي توجد ملفاتها في الدليل Part0. يتم لعبها مرة واحدة (رقم 1 بعد ع). يتم تشغيل الجزء التالي (الجزء الأول) لعدد لا نهائي من المرات حتى يتم تشغيل الجهاز. عادةً ما يحتوي الدليل Part0 على الصور المقابلة للجزء الأول من الرسوم المتحركة، ويحتوي الجزء0 على جميع الصور الأخرى التي يتم تشغيلها في حلقة. يجب أن تكون الصور نفسها بنفس الحجم، ويجب أن تحتوي أسماؤها على أرقام بترتيب تصاعدي، على سبيل المثال 0001.png، 0002.png، وما إلى ذلك.
نظرًا لأن الرسوم المتحركة للتحميل لها تنسيق بسيط جدًا، فمن السهل جدًا صنعها. يكفي تحويل الفيديو إلى صور png باستخدام mencoder (في desc.txt تحتاج إلى ضبط قيمة FPS على 24):
$ mplayer -nosound -vo png:z=9 video.avi
ولكن هذا سيكون أيضا غير ضروري. قام أعضاء منتدى مطوري XDA بإنشاء العديد من الرسوم المتحركة بحيث لا توجد حاجة للعمل بيديك على الإطلاق. يتم توفير روابط للرسوم المتحركة المثيرة للاهتمام في نهاية المقالة.
آخر شيء أود التحدث عنه في هذه المقالة هو تحرير الإعدادات ذات المستوى المنخفض. في Android، يوجد ملف لهذا الغرض: system/build.prop، الذي يخزن معلومات حول إنشاء البرنامج الثابت وإعداداته لأجهزة معينة. من خلال إضافة أسطر معينة إلى هذا الملف، يمكنك تغيير أداء Android أو تسريع تشغيله أو تقليل استهلاك البطارية. فيما يلي الإعدادات الأكثر إثارة للاهتمام.
يتيح لك هذا الخيار جعل العمل مع الجهاز أكثر ملاءمة بفضل الوصول الفوري إلى سطح المكتب في أي وقت. لا ينصح به للأجهزة ذات الذاكرة المنخفضة.
يتيح لك جعل صور الكاميرا أكثر وضوحًا، ولكنه يزيد بشكل كبير من الحمل على وحدة المعالجة المركزية.
يتيح لك جعل الواجهة أسرع وأكثر سلاسة.
بالإضافة إلى كل هذا، يوصي العديد من المستخدمين أيضًا باستخدام مجموعات الأعلام التالية:
كل هذه السطور تحتاج فقط إلى وضعها في ملف system/build.prop وحفظها.
حسنًا، لقد أجرينا التغييرات اللازمة، وقمنا بتنفيذ تطبيقاتنا، وقمنا بتعديل النظام، وعلينا الآن إنشاء صورة نظام تشغيل جاهزة للبرامج الثابتة. سوف تساعدنا الأداة المساعدة testign في ذلك. أولاً يجب عليك حزم البرامج الثابتة باستخدام الرمز البريدي:
$ مؤتمر نزع السلاح ~/روم؛ الرمز البريدي -r my-rom.zip *
أنت الآن بحاجة إلى التوقيع على الأرشيف حتى يتمكن الاسترداد من تثبيته:
$ wget goo.gl/OyBBk $ java -classpath testsign.jar testsign \ my-rom.zip my-rom-signed.zip
بعد ذلك قم بتحميل أرشيف my-rom-signed.zip على بطاقة الذاكرة الخاصة بالجهاز وقم بإيقاف تشغيل الجهاز. للدخول إلى الاسترداد، قم بتشغيل الجهاز أثناء الضغط باستمرار على مفتاح خفض مستوى الصوت (قد يختلف الإجراء بالنسبة لبعض الأجهزة).
انتقل الآن إلى "تثبيت الرمز البريدي من sdcard"، ثم إلى "اختيار الرمز البريدي من sdcard"، ابحث عن my-rom-sign.zip على بطاقة SD وحدد نعم. بعد اكتمال التثبيت، حدد "إعادة تشغيل النظام الآن".
يعد Android نظامًا أساسيًا مرنًا، ولا تصف هذه المقالة جميع إمكانيات تعديله. قد يتضمن التعديل الأعمق استبدال النواة، وتغيير شاشة القفل والتطبيقات القياسية، وتفعيل ميزات مثل التثبيت التلقائي للتطبيقات على بطاقة الذاكرة، وإدخال آلية البرنامج النصي للتمهيد (/etc/init.d)، وغير ذلك الكثير. سنتحدث عن كل هذا في المقالات التالية.
لدى كل مستخدم للهواتف الذكية التي تعمل بنظام Android تقريبًا الرغبة في إنشاء البرامج الثابتة أو تعديلها لتناسب احتياجاته ورغباته. في هذه المقالة سنلقي نظرة على مبدأ تحرير البرامج الثابتة لـ CWM (بتنسيق مضغوط).
بادئ ذي بدء، نحتاج إلى تحديد البرامج الثابتة التي سنستخدمها كأساس. من الأفضل الاستفادة منه. البرامج الثابتة في الرمز البريدي. يوجد لكل جهاز شائع تقريبًا برنامج ثابت + جذر نظيف.
عند تحديد البرنامج الثابت، يجب تنزيله إلى أي مكان مناسب لك على جهاز الكمبيوتر الخاص بك (لا حاجة لتفريغه).
سنحتاج أيضًا إلى أرشيفي، أوصي باستخدامه 7zipوأفضل محرر نصوص من نوعه المفكرة ++.
عند فتح الأرشيف بالبرنامج الثابت، ترى ما يلي:
ميتا-INF- يتم تخزين البرامج النصية لتثبيت البرامج الثابتة في المجلد.
نظام- مجلد يحتوي على كافة ملفات البرامج الثابتة (التطبيقات، والتعديلات، والبرامج النصية، وما إلى ذلك).
boot.img- جوهر النظام.
يتم تنفيذ جميع عمليات التلاعب تقريبًا في المجلد نظام، هيكلها:
برنامج- تطبيقات النظام.
سلة مهملات- موارد النظام نفسه.
إلخ- البرامج النصية والتعديلات والتكوينات والملفات الشخصية وإعدادات النظام.
الخطوط- خطوط النظام.
نطاق- يتم تخزين ملفات النظام الرئيسية هنا (الرسومات، وإعدادات نص الرسوم المتحركة، وما إلى ذلك).
ليب- مكتبات النظام .
وسائط- ملفات الوسائط المتعددة (نغمات الإشعارات، وتحميل الرسوم المتحركة، وورق الحائط، وما إلى ذلك).
usr- الإعدادات التي لا يمكن للنظام تغييرها في المستقبل (تعمل في وضع القراءة فقط).
com.xbin- مرة أخرى، تكوينات النظام والتعديلات الأخرى.
build.prop- معلومات حول النظام والإعدادات المحلية وأداء النظام.
قبل إضافة/إزالة البرامج إلى النظام، تحتاج إلى التحقق مما إذا كانت البرامج الثابتة الخاصة بك قد تمت إزالتها (أي التحقق من وجود ملفات .odex في مجلد التطبيق. إذا كانت هناك ملفات، فأنت بحاجة إلى التخلص منها هنا تعليمات .
إضافة برنامج إلى البرامج الثابتة:
بادئ ذي بدء، تحتاج إلى تثبيت تلك البرامج التي تريد إضافتها إلى التجميع في جهازك الذكي. بعد التثبيت، نقوم بإزالتها من النظام باستخدام الجذر المستكشفونظائرها، فهي موجودة على مسار البيانات/التطبيق، ونحتاج أيضًا إلى libs الخاصة بها (إذا كانت موجودة بالطبع)، فهي موجودة على مسار البيانات/البيانات. وهي موجودة في المجلد الذي يحمل نفس الاسم في التطبيق ولها الامتداد .لذا. ثم استولى .apkضع الملفات في الأرشيف على طول مسار النظام/التطبيق والملفات ذات الامتداد .لذا(libs) على طول المسار system/lib .
نقوم بإزالة البرنامج من البرامج الثابتة:
كل شيء بسيط هنا، انتقل إلى المجلد برنامج- نقرر ما لا نحتاج إليه ونزيل جميع البرامج غير الضرورية (من الأفضل عدم لمس النظام).
انسخ ملف build.prop إلى سطح المكتب. افتحه باستخدام المفكرة وابحث عن السطور:
ro.product.locale.language=ar
ro.product.locale.region=US
للغة الروسية عليك القيام بذلك:
ro.product.locale.language=ar
ro.product.locale.region=RU
أدخل اسم التعديل الخاص بك في السطر
في نفس build.prop
يتم تخزين الجزء الرسومي بالكامل من البرنامج الثابت في ملفين مسار ملف Framework-res.apk com.systemframeworkو SystemUI.apk على طول الطريق com.systemapp. ويتم تخزين الجزء الرسومي من تطبيق الإعدادات بشكل طبيعي في تطبيق Settings.apk.
تتم معظم الإعدادات في الملف build.prop، يمكنك أن تقرأ عن هذا. أيضًا، إذا كان النواة لديك تدعم الحرف الأول. ديوجد عدد من البرامج النصية لتحسين النظام، أحدها موضح في هذه المقالة (تحسين ذاكرة الوصول العشوائي)وفي هذه المقالة قرص البرامج النصية لinit.d
كما هو مذكور أعلاه، جميع الخطوط موجودة في المجلد الخطوط، الخطوط الرئيسية هي: DroidSans.ttf و DroidSans-Bold.ttf ويمكن استبدالها بأي خطوط وإعادة تسميتها بشكل مشابه لما ورد أعلاه والانتقال مع الاستبدال إلى الأرشيف بالبرنامج الثابت الموجود في المجلد الخطوط.
من الناحية النظرية، يكفي ليحل محل boot.imgخاصة بها، ولكن في بعض الحالات تكون النوى مصحوبة بنصوص إضافية. لذلك أنصحك بعدم القيام بأي شيء إذا كانت لديك أي شكوك.
غالبًا ما يحدث أن بعض مستخدمي Android لا يحبون البرامج الثابتة القياسية لهواتفهم الذكية أو الأجهزة اللوحية. على سبيل المثال، بسبب البرامج غير الضرورية التي تتناقص بسرعة، أو أنك ببساطة لا تحب وظائف بعض البرامج وترغب في استبدالها ببرامج أخرى. تبدأ عمليات البحث المكثفة عن البرامج الثابتة المخصصة، لكنها لا تعطي دائمًا النتيجة المرجوة. ما يجب القيام به؟
يمكن تعديل أي برنامج ثابت لمستخدم معين
لا يعلم الجميع أنه يمكن تعديل البرنامج الثابت ليناسب احتياجاتك الشخصية. هناك عدة طرق للقيام بذلك، تختلف كل منها في مستوى التعقيد ومجموعة الأدوات المطلوبة. وإذا كنت لا تعرف كيفية إنشاء برامج Android الثابتة بنفسك، فهذه المقالة مخصصة لك.
إحدى الطرق الصحيحة هي استخدام الكود المصدري الذي تنشره فرق تطوير Google أو Cyanogenmod. ولكن في الوقت نفسه، هذه الطريقة هي الأصعب، لأنه من أجل تجميع البرامج الثابتة لنظام Android من التعليمات البرمجية المصدر، وتحسينها وجعلها تعمل على جهاز معين، يجب أن تكون لديك مهارات برمجة عميقة إلى حد ما وفهم كل تعقيدات البرنامج. نظام التشغيل المحمول وأجهزة الجهاز. وهذه المعرفة لا يتم اكتسابها في يوم واحد، لذلك لن نقوم في هذا المقال بوصف هذه الطريقة بالتفصيل.
إذا لم تكن على دراية بجميع تعقيدات نظام التشغيل، ولكنك ترغب في تغيير شيء ما في البرامج الثابتة الخاصة بك، فإن الحل الأفضل هو تصحيحه بالفعل. يمكنك تغيير كل من البرامج الثابتة الأصلية والمدمجة والتي تم تغييرها بالفعل بواسطة شخص آخر. هناك الكثير من البرامج الثابتة المخصصة على الإنترنت، ومن غير المرجح أن تفتقر إلى كميتها. لذلك، نقدم إرشادات خطوة بخطوة لتجميع البرامج الثابتة الخاصة بك بناءً على منتج موجود.
سنحتاج إلى جهاز كمبيوتر وجهاز وملف البرنامج الثابت وبرنامج خاص يسمى Android Kitchen (المعروف أيضًا باسم المطبخ). يمكن العثور على ملف البرنامج الثابت في المنتديات المتخصصة وأشهرها مطوري XDA باللغة الإنجليزية وموقع w3bsit3-dns.com باللغة الروسية. في القسم الخاص بطراز جهازك، يمكنك العثور على روابط للبرامج الثابتة الأكثر شهرة وثباتًا، سواء كانت رسمية أو مخصصة غير رسمية.
بعد ذلك تحتاج إلى تثبيت المطبخ على جهاز الكمبيوتر الخاص بك. من الأفضل العمل على Linux، ولكن يمكن أيضًا تثبيت المكتبات الضرورية على Windows. في هذه الحالة، يمكنك الخروج من الموقف عن طريق تثبيت Cygwin. واتبع التعليمات خطوة بخطوة الموجودة في الأرشيف. قبل ذلك، ستحتاج أيضًا إلى تثبيت Java Platform (JDK) من الموقع الرسمي (https://www.Oracle.com/technetwork/java/javase/downloads/index.html لنظام التشغيل Windows) أو البحث عن OpenJDK Java وتنزيله 6 في Ubuntu Application Center Runtime أو ما شابه ذلك (لنظام التشغيل Linux). حالة الاستخدام الثانية هي تثبيت Linux على جهاز افتراضي وإدارة العملية من خلاله.
غالبًا ما يتم توزيع البرامج الثابتة كملف بامتداد .img، وفي كثير من الأحيان يتم توزيعه على شكل أرشيف ZIP. في كلتا الحالتين، ستحتاج إلى البرنامج الثابت في مجلد المطبخ المثبت حتى تتمكن من استيراده وبدء العمل معه. يجب تثبيت المطبخ على المسار c:/cygwin/home/user/ (عند التثبيت عبر Cygwin) أو Filesystem/home/user/ (عند التثبيت عبر Linux).
يمكنك وميض الجهاز إما من خلال جهاز كمبيوتر أو بدونه. في الحالة الأولى، تحتاج إلى تنزيل برنامج البرامج الثابتة، عادةً Flash Tool أو Odin، وبرامج التشغيل الخاصة بطراز جهازك وإعداد أرشيف تم تصحيحه بالفعل.
عند وميض البرامج الثابتة عبر الاسترداد، ستحتاج إلى نسخ الملف إلى جذر بطاقة الذاكرة، وتشغيل الجهاز في وضع الاسترداد، وتهيئة الجهاز وذاكرة التخزين المؤقت، ثم تثبيت البرنامج الثابت من الأرشيف. بعد إعادة التشغيل، سيكون لديك البرنامج الثابت الذي قمت بتعديله شخصيًا.
أبسط طريقة على الإطلاق. ليست هناك حاجة إلى أجهزة أو معالجات إضافية. كل ما تحتاجه هو جهاز متجذر، وتطبيق لإنشاء نسخ احتياطية (النسخ الاحتياطي Nandroid هو الأفضل) ومدير ملفات مع وظيفة تغيير قسم النظام.
كما ترون، فإن تجميع البرامج الثابتة لنظام Android بيديك لا يستغرق بالضرورة وقتًا طويلاً ويتطلب معرفة عميقة. من الواضح أن إنشاء تعديل من الصفر سيكون أكثر صعوبة، ولكن يمكن للجميع تقريبًا تصحيح شيء ما أو استبداله وإزالة البرامج غير الضرورية. نأمل أن تساعدك تعليماتنا في هذا.
هل قمت بتجميع البرامج الثابتة لنظام Android بنفسك؟ ماذا تغير فيه وكيف فعلت ذلك؟ سيكون من المثير للاهتمام إذا شاركت تعليقاتك.
مرحبا حبر!
منذ عدة سنوات، عندما تعرفت على Android لأول مرة، سمعت من زميل في العمل أن Android يوفر القدرة على تثبيت البرامج الثابتة المعدلة أو محلية الصنع. بصراحة، كنت بعيدًا عن ذلك حينها. وحتى قبل نصف عام كنت بالكاد مهتمًا بمثل هذه الأشياء. كنت متأكدًا في أعماق قلبي: ما تفعله الشركة المصنعة مخصص بالفعل للاستخدام العادي.
تخيل خيبة أملي عندما اشتريت هاتفًا من الصين، حيث كانت إعدادات المصنع تمنع استخدام Google وSkype وFacebook وغيرها من التطبيقات. من حيث المبدأ، كان من الممكن أن أغض الطرف عن بعض الأمور، لكن عندما لم يكن هاتفي يتطلب استخدام حساب جوجل، قدمت وعودًا بمعرفة ذلك بالتأكيد مهما حدث لي.
لقد مر نصف عام ويتم استخدام البرامج الثابتة المخصصة الخاصة بي بنجاح في جميع أنحاء العالم.
ستناقش سلسلة المقالات هذه كيفية القيام بالبرمجة العكسية لنظام Android، وتنفيذ التصحيحات والتعديلات والتعديلات.
رقعة- تغيير أو استبدال كود البرنامج الحالي من أجل تعديل خوارزمية البرنامج.
مود- كقاعدة عامة، إضافة وظائف إضافية إلى كود البرنامج الموجود دون تغيير الخوارزمية.
قرص- تحسين وظائف البرنامج لتسهيل الوصول إلى معلمات النظام.
أريد أيضًا أن أشير إلى أنه سيتم أخذ جميع الأمثلة لهاتف HTC، لكن هذا لا يعني أنه لا يمكن استخدام هذه المعلومات على الهواتف الأخرى.
1
. أندرويد سك. هذه بيئة تطوير تطبيقات لنظام Android. من أجل إجراء تعديلات، سيكون علينا بالتأكيد التحقق من رمز البرنامج الخاص بنا. بيئة التطوير هي أفضل ما يمكننا استخدامه.
2
. مطبخ أندرويد. ستتيح لك هذه الأداة المساعدة العمل مع صور أقسام النظام الخاصة بالبرامج الثابتة الرسمية أو غير الرسمية.
3
. دينار-واجهة المستخدم الرسومية. برنامج فك رموز جافا. أود أن أشير على الفور إلى أن هذا هو أفضل برنامج فك تشفير من حيث سهولة الاستخدام.
4
. دي جي جافا ديكومبيلر. مفكك آخر، أو مفكك، كما يحلو للبعض أن يسميه، لكود برنامج لغة جافا. إنه ليس مناسبًا للاستخدام، ولكنه يوزع التعليمات البرمجية التي لا يفهمها JD-GUI أحيانًا.
5
. سمالي. مفكك آخر، ولكن هذه المرة كود دالفيك. هناك حاجة إلى smali للتفكيك، وهناك حاجة إلى backsmali لتجميع التعليمات البرمجية.
6
. dex2jar. أداة لتحويل الملفات القابلة للتنفيذ كود Dalvik.
بعد تغيير البرنامج الثابت من الإصدار المحسّن (ODEX - كود dalvik المحسّن القابل للتنفيذ، إذا كانت ذاكرتي تخدمني بشكل صحيح) إلى DEODEX (أي غير محسّن)، تكون جميع الملفات القابلة للتنفيذ جاهزة للتعديل.
في النهاية، انتهى بي الأمر بالحصول على عدد من المجلدات يساوي عدد ملفات JAR في /system/framework، وكان لكل مجلد بنية كود مصدر Java.
من خلال التلاعب البسيط، وجدت بسرعة المكان الذي تم فيه إنشاء الإدخالات في logcat.
لن ننظر في منطق الحظر بأكمله، لأن كل حالة هي قصة منفصلة. اضطررت إلى قضاء بضع ساعات قبل أن أجد مكان إجراء الاختبارات، وقمت ببناء مخطط كتلة للخوارزمية في رأسي وفهمت إلى أين أذهب من أجل "إفساد" الخوارزمية قليلاً.
اتضح أن الأمر بسيط. هناك روتين فرعي، بناءً على ثوابت محددة مسبقًا، عند الاتصال به، يتم الرد على ما إذا كان الهاتف ينتمي إلى الصين أم لا.
الكود كان موجود في الملف HTCExtension.jar، وكان الفصل الذي يحتوي على هذا الروتين الفرعي موجودًا
هذه هي واجهة برمجة التطبيقات (API) لإصدار Android الخاص بك. بالنسبة لـ JB فهو 16
- المجلد الذي توجد به جميع أطر البرامج الثابتة.
في حالتي كان الأمر
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7
. في المجلد الذي تم إنشاؤه حديثًا، ظهر مجلد HTCExtension وفيه ملفاتنا التي تحتوي على كود Dalvik.
8
. العثور على الملف على طول المسار \com\htc\util\contacts\BuildUtils$Customization.javaوإلقاء نظرة على الكود:
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1 , v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag ;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297:cond_13:goto_13 return v0 .line 283:cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;-> Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291:cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto:goto_13 .end طريقة
9
. مخيف، أليس كذلك؟ لا شيء واضح. لكن هذه مشكلة قابلة للحل. بعد إنشاء عدد قليل من التصحيحات الخاصة بك وبالتالي اكتساب الخبرة، يمكنك بسهولة تعديل التعليمات البرمجية دون أدوات خارجية. في حالتنا، في هذا الرمز
.prologue const/4 v0, 0x1 يعين المتغير v0 القيمة 1، أي TRUE. ثم هناك كافة أنواع الشيكات، وإذا كان الهاتف ليس صينيا، فإن قيمة المتغير تتغير:
.line 297 const/4 v0, 0x0 goto:goto_13
10
. أسهل طريقة لإنقاذ والد الديمقراطية الروسية هي تغيير الكود إلى ما يلي:
.prologue const/4 v0, 0x0 ، أي تغيير قيمة المتغير من 1 إلى 0. أي، بغض النظر عن ذلك، سيتم دائمًا إرجاع القيمة FALSE وسيبدو الكود في JD-GUI ثابتًا عامًا boolean isChina() ( if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && ( 2 == HtcBuildFlag.Htc_LANGUAGE_flag)) ||(HtcBuildFlag.Htc_PROJECT_flag == 27)) return false;
11
. نعم ستنجح الطريقة لكننا لا نبحث عن طرق سهلة - هذه المرة. ثانياً، إنها ليست جميلة تماماً. أريد رمز شيء من هذا القبيل
المنطق المنطقي العام الثابت هو isChina () (إرجاع خطأ؛)
12
. كيف يمكننا الحصول على كود Dalvik لهذا الكود المصدري؟ للمبتدئين سوف نقوم بخدعة صغيرة.
1 . يمكنك استبدال ملف العمل الحالي بالأوامر التالية إذا كان لديك بالفعل برنامج DEODEX الثابت ولديك حق الوصول إلى الجذر:
دفع Adb HTCExtension.jar /sdcard/HTCextension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCextension.jar of=/system/framework/HTCextension.jar.back dd if=/sdcard /HTCextension.jar of=/system/framework/HTCextension.jar chmod 644 /system/framework/HTCextension.jar rm /data/dalvik-cache/system@ [البريد الإلكتروني محمي]إعادة تشغيل @classes.dex
يقوم الأمر الأول بتحميل الملف المصحح إلى محرك الأقراص المحمول
الأمر الثاني يفتح الصدفة
الأمر الثالث يعطي الوصول إلى الجذر
يقوم الأمر الرابع بتثبيت النظام في وضع القراءة/الكتابة
الأمر الخامس يقوم بعمل نسخة احتياطية من الملف
يقوم الأمر السادس باستبدال الملف الموجود بالملف الجديد المصحح.
الأمر السابع يقوم بتكوين الأذونات
الأمر الثامن يحذف ذاكرة التخزين المؤقت
الأمر التاسع يعيد تشغيل الجهاز.
2
. شكرا لقرائتكم هذه النقطة، لم يتبق سوى القليل.
3
. بعد إعادة التشغيل، سيصبح الرمز المصحح الجديد ساري المفعول.
4
. إذا لم يعمل الرمز أو حدث خطأ، فباستخدام مجموعات بسيطة، يمكنك إرجاع النسخة الاحتياطية.
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCextension.jar rm /data/dalvik-cache/system@ [البريد الإلكتروني محمي]إعادة تشغيل @classes.dex
في المقالة التالية سأخبرك بكيفية صنع Tweeks. سيكون هناك مثال لاستخدام التسجيل التلقائي للمكالمات الهاتفية باستخدام أدوات الهاتف الأصلية. شكرًا لكم على اهتمامكم.
ملاحظة. إذا كان هناك شيء غير واضح أو محير، فاطرح الأسئلة - وسأكون سعيدًا دائمًا بالإجابة والشرح.