غير متصل
الإخـــــوة الكـــــــــرام ;
أعضــــــاء وزوار منتديــــــات زيــزووم للأمـــن والحمايــــة
أسعــد الله يومكـــم بكل خيـر ووفقكــــم لما يحبــه ويرضــاه
نلتقي وإياكــم مع ثاني دروس دورة الهندسة العكسية ،
هذا الدرس سيتناول نبذة عن اللغة الوسيطة (IL) وتعليماتها ..
ولكن قبل الخوض في تفاصيل الدرس .. توضيح بسيط بخصوص عنونة مواضيع الدورة
كما أشرنا في مقدمة الدورة أن الدورة ستنقسم لـ 3 مراحل رئيسية
دورة الهندسة العكسية || كسر تطبيقات الدوت نت [2:1]
حيث رقم 1 يشير إلى المرحلة الحالية من الدورة
ورقم 2 يشير إلى الدرس الحالي من المرحلة الحالية
للرجوع إلى الموضوع الرئيسي :
المصدر: دورة الهندسة العكسية || كسر تطبيقات الدوت نت
في منتدى : منتدى نقاشات واختبارات برامج الحماية
][ مقدمة الموضوع ][
درسنا اليوم عن لغة Common Instruction Language اختصارها (CIL) والتي تعرف أيضاً بـ IL أو MSIL
أشرنا في الدرس السابق إلى أهمية هذه اللغة في تطبيقات الدوت نت وأنها الجزء الأساسي من تطبيقات الدوت نت بل هي بمثابة قلب هذه التطبيقات
وأشرنا إلى أن تطبيقات الدوت نت قبل أن تنتقل الي مرحله التنفيذ (لغة الآلة) فإنها تتحول الي هذه اللغة الوسيطة
هذه المرحله تمثل أهمية سواء للمطورين أو الكراكرز (Crackers) وما يهمنا هنا فائدة هذه المرحلة لنا كـ كراكر (Cracker)
بما أن تطبيقات الدوت نت تتحول إلى هذه اللغة الوسيطة عند تشغيلها فعند تنقيح تطبيق ما بالدوت نت , فإنه يظهر لنا الأكواد الخاصة بهذه اللغة الوسيطة
][ الأكواد الخاصة بـ CIL ][
الأكواد الخاصة بهذه اللغة واإن كانت في حقيقتها لغة ألة إلا أنها عبارة عن تعليمات بأسماء ولغة مفهومة
إذا نظرنا للصورة بالأعلى نجد أن كل تعليمة بلغة الألة لها اسم (تعليمة بلغة IL) ولكنها لغة مألوفة لنا اكثر
حيث أن Break مثلاً أقرب لنا من 0x01 وهكذا
هذه التعليمات هي أساس الهندسة العكسية لتطبيقات الدوت نت فمن خلالها نستطيع التعرف علي طبيعة عمل التطبيق ورصد كل ما يقوم به بل والتعديل عليه
كل تعليمة من تعليمات هذه اللغة لها وصف ولها قيمة (سأرفق لكم أداة بها شرح جميع التعليمات)
كما نري هنا .. التعليمة Break قيمتها 01 وحجم البايت لها 1 ووصفها أنها تشير الي نقطه توقف
لنضرب مثالاً لفهم كيفية الإستفادة من هذه التعليمات في كسر تطبيقات الدوت نت
مثلاً عندنا برنامج له 4 نسخ [ نسخة تجريبية (Trial) ونسخة (Home) ونسخة (Pro) ونسخة (Ultimate) ]
عند فتح البرنامج بالمنقح سنجد هذه التعليمات
حيث أن التعليمة Idc.i4.0 هي الخاصة بالنسخة التجريبية - Trial(الإفتراضية عند تنصيب البرنامج)
والتعليمة ldc.i4.1 خاصة بالنسخة Home
والتعليمة ldc.i4.2 خاصة بالنسخة Pro
والتعليمة ldc.i4.3 خاصة بالنسخة Ultimate
الان كل ما علينا هو التعديل علي التعليمة ldc.i4.0 وتغيرها إلى أحد التعليمات الخاصة بالنسخ المغعلة
- السؤال :
كيف يمكننا تعديل التعليمة ؟
- الإجابة :
1- من خلال إضافة المنقح الأسطورية Reflexil والتي تمكننا من تعديل التعليمة وحفظ التطبيق بعد التعديل بمنتهي السهولة .
2- من خلال برامج الـ Hex Editor ، وذلك بتعديل قيمة التعليمة .
في المثال سنعدل التعليمة ldc.i4.0 والتي قيمتها 16 إلى 17 أو 18 أو 19 حسب النسخة التي تريدها
3- من خلال Patch نقوم بصناعته ونضع فيه قيمة التعليمة التي نريد تعديلها و القيمة التي سنغير لها
- ما سبق سيتم توضيحه من خلال شروحات تطبيقية عملية لاحقاً
وهذه اهم التعليمات التي تستخدم غالبا في كسر تطبيقات الدوت نت (التعليمه وعكسها)
ملاحظة : أداة شرح التعليمات بالمرفقات
للتعرف أكثر علي CIL
http://www.ecma-international.org/publications/standards/Ecma-335.htm
http://www.codeproject.com/Articles/3778/Introduction-to-IL-Assembly-Language
وفي الختـــام نتمنى لكم الإستفادة
راجين من الله أن نكون قد وُفِقنا في إيصال المعلومة للجميع
بشكل مبسط ويسير ، يسهل على الجميع فهمه
المرفقات
التعديل الأخير: