التحقق من توقيع التطبيق: كيف يعمل ، وكيفية تعطيله مع Xposed ، ولماذا لا ينبغي لك

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

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

أساسيات التحقق من صحة توقيع Android

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

إذن كيف يؤثر كل هذا في العالم الحقيقي؟ انها بسيطة حقا. إذا حصلت على APK من خارج متجر Google Play وحاولت تثبيته كتحديث للتطبيق المثبت حاليًا (اقرأ: نفس اسم الحزمة) ، فسيحاول نظام التشغيل التحقق من صحة شهادة التطبيق للتأكد من أنها جاءت من نفس المطورين الأولية. إذا تطابقت الشهادة ، فسوف يستمر تثبيت التطبيق كما هو مخطط له ، وسيحتفظ تطبيقك ببياناته الحالية ، وسيصبح كل شيء على ما يرام. إذا لم يكن التوقيع صالحًا (يشير إلى أنه تم العبث بـ APK) أو إذا كانت الشهادة لا تتطابق مع شهادة التطبيق الأصلي ، فسيفشل التثبيت. وكما ذكر سابقًا ، لن تتطابق شهادة التطبيق إلا إذا تم توقيعها بنفس المفتاح الخاص المستخدم لتوقيع الإصدار السابق. بمعنى آخر ، يمكنك فقط تثبيت تطبيق ما إذا كان لديه توقيع صالح يطابق محتويات APK ، ويمكنك فقط تثبيت تحديث إذا كانت شهادته تتطابق أيضًا مع تلك الموجودة في الإصدار السابق من التطبيق.

[على سبيل المثال جانباً فكاهيًا في هذه المقالة الكثيفة ، هناك مثال عام للغاية تم فيه فقدان مفتاح توقيع التطبيق الخاص أو تعرضه للخطر. أشير بالطبع إلى تطبيق Google Authenticator الخاص به ، والذي تلقى تحديثًا غيّر اسم الحزمة الخاص به من com.google.android.apps.authenticator إلى com.google.android.apps.authenticator2 في أحد التحديثات قبل حوالي عامين. بسبب هذا التغيير ، يمكن إصدار جميع تحديثات تطبيق Authenticator اللاحقة فقط تحت اسم الحزمة الجديدة - مع التوقيع الجديد الذي تم إنشاؤه بواسطة مفتاح التوقيع الخاص الجديد.]

لماذا قد ترغب في (مؤقتا) تعطيل التحقق من التوقيع

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

كيف تفعل ذلك

حتى الآن ، كان تعطيل التحقق من التوقيع حلاً فظيعًا لأي مشكلة إلى حد كبير. هذا لأنه عند القيام بذلك ، فإنك تتخلص بشكل أساسي من الحماية المضمّنة لنظام Android والتي تتأكد من أن تطبيقاتك لم يتم العبث بها وأن تحديثاتها تأتي من المطورين الأصليين. ولكن الآن بفضل سحر Xposed Framework ، يمكنك تعطيل التحقق من التوقيع مؤقتًا وإعادة تمكينه بمجرد الانتهاء من تثبيت التطبيق المعدل. واحدة من هذه Xposed Module التي يمكنها القيام بذلك بدقة تم إصدارها مؤخرًا بواسطة pyler Senior Member ، وهي تعمل كما هو مخطط لها على جميع الأجهزة القادرة على تشغيل Xposed. وبهذه الطريقة ، عندما ترغب في تثبيت تحديث تطبيق معدّل لم يتم توقيعه بشكل صحيح ، يمكنك ببساطة تمكين الوحدة النمطية وإعادة التشغيل وتثبيت تحديث التطبيق المعدل وتعطيل الوحدة النمطية وإعادة التشغيل وتكون في طريقك.

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

أن تكون آمنة ، واستخدام هذا بحكمة.