كنا في دروس سابقة قد قمنا بعمل مُختبَر اختراق خاص بنا، في هذا الدرس إن شاء الله سأقوم بشرح كيفية الاستفادة من الـADB لكي نتخطي الحماية المستخدمة على الهاتف الذي يستخدم نظام الأندرويد، سواء كانت هذه الحماية Password أو Pattern. سأقوم بالتطبيق على Emulator في هذا الدرس ولكن تذكر أن لتنجح هذه الطريقة على هاتف حقيقي وليس Emulator فعليك التأكد من أن الهاتف Rooted وأن الـUSB Debugger مفعل.

قبل أن ندخل في الجزء الممتع في المقال أريد أن أتحدث أسماء التطبيقات التي نراها في الامتداد /data/data وهو ما قلنا عنه أنه يقوم بالاحتفاظ بملفات التطبيقات سواء كانت تم تحميلها من الـPlay Store أو تم تثبيتها من خلال ملف APK.

ملحوظة: عند تشغيل الـEmulator لأول مرة فسيتطلب ذلك بعض الوقت وذلك لأنه يقوم بالتوافق بينه وبين الـHardware.

دعنا ندخل على هذا المسار من خلال أداة ADB كما نرى في الصورة:

1

كما نرى في الصورة السابقة فطريقة صنع المجلدات تكون بالطريقة التالية:

com.android.browser

لماذا لا يتم إنشاء المجلدات بالطريقة الأكثر بساطة فمثلاً يمكن لتطبيق الجوجل كروم أن يكون بهذا الاسم:

GoogleChromeAPP

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

دعنا الآن نرى ما بداخل إحدى المجلدات الموضحة في الأعلى وليكن على سبيل المثال هذا المجلد:

2

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

بالنسبة لي فأنا أستخدم Pattern كوسيلة لحماية هاتفي، والملف المسؤول عن مقارنة الـPattern الذي يتم إدخاله بالذي قمت باستخدامه على الهاتف يسمى gesture.key أما إن كنت تستخدم كلمة مرور كوسيلة حماية فسيكون اسم الملف هو password.key.

حسنٌ، أين يتم حفظ هذه الملفات على نظام الأندرويد!؟

يتم حفظها في المسار التالي:

/data/system

سنقوم بالدخول الآن عن طريق الـADB إلى هذا المسار كما هو موضح في الصورة التالية:

3

دعنا الآن نقوم بحذف هذا الملف ونرى النتيجة:

4

لاحظ أنه في الصورة السابقة ولأنني أقوم بالتطبيق على هاتفي الشخصي فقد طلب مني أن أدخل بصلاحيات الروت أما عند التطبيق على Emulator فأنت تدخل بصلاحيات الروت أساسًا.

حسنٌ، بعد تجربتي الدخول على هاتفي عن طريق كتابة أي Pattern لقد نجحت في الدخول على هاتفي بدون وضع الـPattern الصحيح.

ملحوظة: قم بأخذ نسخة احتياطية من ملف الـgesture.key وضعها في مكان أخر كي تقوم بإعادتها مجددًا بعد انتهائك من المقال 🙂

حسنٌ، دعنا الآن نقوم بتجربة هذه الطريقة على الـEmulator ليكون الشرح أوضح.

أولاً: سأقوم بتشغيل الـEmulator وقد قمت بشرح كيفية إنشاء Emulator وطريقة تشغيله في مقال سابق.

ثانيًا: سنقوم بوضع حماية على الـEmulator وفي هذه الحالة سيكون Pattern ويمكنك فعل ذلك من خلال الـSettings الخاصة بالهاتف أو الـEmulator كما هو موضح في الصورة التالية:

5

بعد وضعنا لأي نوع من الحماية وفي هذه الحالة Pattern فسيطلب منا الـPattern قبل محاولة الدخول للهاتف كما هو موضح في الصورة التالية:

6

سنقوم الآن بالدخول على المسار الذي قمنا بذكره سابقًا وحذف ملف الـgesture.key:

7

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

بهذا نكون قد انتهينا من المقال لهذا اليوم وأتمنى أن تكونوا قد استفدتم وأتمنى ألا تستخدموا هذه الطريقة إلا على الهواتف التي تملكونها.

نلتقي إن شاء الله في مقالات أخرى 🙂