استخدام الأداة .NET Reflector™

تعتبر أداة Reflector من الأدوات المشهورة والمشهورة جدا، هل تعلم أنه من خلال هذه الاداة سيكون بمقدورك وبمقدور غيرك إمكانية الحصول reflector_largeعلى كود أي تطبيق أو مكتبة تم بناؤها في .NET، في هذه المقالة سوف نتعرف على كيفة استخدامها وتحميلها.

دعني أخبرك أنه ربما الآن أنه يدور في ذهنك أن .NET ضعيفة, كلامك هذا خاطئ, فلكل تقنية محاسن ومساؤئ، يجب أن تعلم أن تقنية .NET أحدثت ثورة في عالم البرمجيات، ومن إحدى خصائص قوتها أن التطبيق الذي يتم بناؤه في .NET سيكون قابلا للعمل على أي منصة تشغيل (Windows, Linux, …)، كيف حصل ذلك؟؟

 

إن مهمة المترجم التقليدي في لغات البرمجة بشكل عام (مثل: VB6, C++) هو تحويل كود لغة البرمجة إلى لغة الالة (Machine Code) أي عبارة عن سلسلة من الواحدات والأصفار، ولكن هذا غير صحيح مع .NET إذ أن .NET تقوم بتحويل التطبيقات المكتوبة إلى لغة تدعى MSIL وهي إختصار Microsoft Intermediate Language(لغة تشبه Assembly)، وعند تنفيذ (Execute) البرنامج تبدأ مرحلة أخرى وهي تحويل MSIL إلى لغة آلة يتناسب مع نظام التشغيل الذي تعمل عليه، فإذا كان النظام Windows فسيتم توليد كود يتوافق مع Windows, أما إذا كان النظام Linux فسيتم توليد كود آلة يتوافق مع Linux, وهكذا…

في الحقيقة إن هذه الخاصية أعطت .NET ميزة وسيئة في نفس الوقت، الميزة هي استقلالية التطبيق عن نظام التشغيل كما بينا ذلك سابقا، أما السيئة فهي سهولة إرجاع كود MSIL إلى أصله  Source Code، ويعتبر Reflector أحد هذه الادوات التي تسهل عليك هذه العملية.

 

من خلال هذا الرابط يمكنك الحصول على شرح عن هذه الاداة: http://www.red-gate.com/products/reflector/ ولتحميل هذه الاداة مباشرة: http://reflector.red-gate.com/download.aspx

هذه هي صورة الأداة:

reflector 1

والان من قائمة File ثم الامر Open قم بإضافة أحد برامجك  سواء كان exe أو dll، لاحظ الصورة التالية:

Reflector 2

والان للحصول على الكود Source Code مثلا للصف MyClass في مثالي، قم  بالنقر عليه بزر الفأرة الأيمن لتظهر لك القائمة التالية:

 

 

Reflector 3

 

وعند إختيار الأمر Disaaemble ستظهر لك نافذة Disassembler المبينة في الشكل السابق وبالضغط على Expand Methods في نافذة Disassembler الموضحة بالرسم التوضيحي السابق، لتكون عزيزي المبرمج قد حصلت على Source Code لبرنامجي !! لاحظ الشكل التالي:

 

Reflector 4

ولكن إذا كنت من مبرمجي VB.NET فاعلم أنه بمقدروك الحصول على برنامجي بالغتك المفضلة وذلك من خلال القائمة الموجودة في أعلى البرنامج لاحظ الصورة التالية:

 

Reflector 5

 

وهناك العديد من اللغات الاخرى ومن أهمها IL هو MSIL التي تكلمنا عنه سابقا، لاحظ الشكل التالي:

Reflector 6

 

بل أكثر من ذلك إذ يمكنك الحصول على برنامجي MyApplication كاملا كما لو أن Source Code  هو عندك وذلك بالنقر بزر الفأرة الايمن وإختيار الأمر Export… لاحظ الشكل التالي:

Reflector 7

Reflector 8

 

كما يمكنك تحميل العديد من الاضافات للبرنامج Add-Ins  من خلال الرابط التالي: http://www.codeplex.com/reflectoraddins

 

ربما تتسائل ألا من حل لهذه المشكلة سأخبرك أنه يمكنك حل هذه المشكلة وذلك باستخدام أداة أخرى تدعى {smartassembly}

 

 وهذا إن شاء الله سيكون أحد موضوعاتنا المقبلة.

6 thoughts on “استخدام الأداة .NET Reflector™

  1. موضوع مميز وفيه اضافة جديدة
    وعندي تساؤل
    ما العمل اذا كان البرنامج مشفر (لون الايقونة احمر)

  2. سيد عماد في برامج تساعدك على تشفير برنامجك, عندها سيكون من الصعوبة فهم شيفرة برنامجك.

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s