الهندسة العكسية لبرامج الجوال – مثال تطبيقي لكسر برامج الجافا JAVA

عام 0 geek4arab
Spread the love
ندخل في موضوع آخر لة علاقة بالأجهز الكفية والأنظمة المختلفة ( لغة الجافا )
لغة الجافا , لغة غنية عن التعريف والسبب في شهرتها أنها تعمل على
كل الأنظمة , بمعنى آخر تعمل على الأنظمة التي تحتوي على الآلة الوهمية
لتشغيل برامج الجافا

ما يهمنا هو نوع وبنية هذة البرامج – لكي ندخلها للتشريح ( البرمجة العكسية )
أولاً : برامج الجافا ليست برامج تنفيذية ؟! بمعنى أنها ليس لديها أوامر للمعالج
ولهذا السبب تعمل في أغلب الأجهزة

أوامر برامج الجافا تكتب للآلة التخيلية – بعد ذلك تقوم هذة الآلة بترجمة الأوامر إلى المعالج
المهم : برنامج الديسمبلي IDA pro يستطيع فك أوامر هذة الآلة إلى حد كبير
ولذلك , قمت بكتابة برنامج بسيط للجوال
هذا البرنامج يطلب إدخال رقم التسجيل , إذا كان خطأ يعرض لك رسالة خطأ
وبدورنا نريد إيجاد الرقم , أو تغيير أوامر البرنامج

المثال هو :


تجد في الملف المرفق البرنامج الذي ترى صورتة , قم بإخراجة إلى أي مجلد
AppCrack.zip
بعد ذلك شغل برنامج IDA pro ومن قائمة file ثم open
تجول في الجهاز وإختر الملف AppCrack.jar

عند إختيارك لبرامج الجافا , تظهر لك نافذة تحدد ملفات البرنامج أو class
في مثالنا إختر AppCrack.class ثم إضغط OK

ستظهر لك نافذة أخرى تطلب منك تحديد المعالج , إختر VM الآلة التخيلية
وبعد ذلك سيتم فك تجميع البرنامج

عند إلقاء نظرة على الكود , إذا كنت مبرمج جافا فإنك تستطيع تحديد الدوال
مثلاً دالة فحص الأوامر CommandAction وهي شبية بالرسالة WM_COMMAND في لغة السي في نظام الوندوز

ولكن لنفرض أنك لا تعرف الدوال ؟! فالأمر بسيط
إختر مقطع الكود , وإبحث عن رسالة الخطأ التي تظهر وهي Error in key
لإظهار نافذة البحث الدقيق , إضغط على الإختصار Alt+T

بعد أن تجد نص الرسالة :

بعد ذلك نريد تحديد كيف وصل التنفيذ إلى هنا ,
إختر عنوان بداية الإجراء mt004_64 ثم إضغط على حرف X في لوحة المفاتيح

لتظهر لك نافذة الأوامر , وفي مثالنا أمر واحد فقط يستدعي هذا الإجراء

بعد أن تضغط Ok سينقلك التنفيذ إلى العنوان

وبهذا نكون قد أوجدنا الرقم , وإذا لم يكن الرقم موجود
غير التعليمة ifne إقفز إذا كان لا يساوي
إلى التعليمة ifeq إقفز إذا كان يساوي

أو غير التعليمة عن طريق أي محرر هكس , بعد أن عرفت العنوان
—–
وبهذا نكون قد تعلمنا الأساسيات في مجال البرمجة العكسية لبرامج الجافا

وبالتوفيق ,,,

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة