مدونة مؤيد

غيّر العالم ... أو العب بعيداً

قراءة كود الملفات التطبيقية لبرامج الدوت نيت

تفاجأت عندما وجدت أن عدداً كبيراً من المبرمجين العرب لا يعرفون أن برامج الدوت نيت يمكن عمل فك تجميع أو فك ترجمة Decompile لها.
على عكس بعض لغات البرمجة الأخرى لا تتم ترجمة أكواد الدوت نيت إلى لغة الآلة Assembly بل تتم ترجمتها إلى لغة وسيطة تدعى MSIL و هي تتطلب إطار عمل دوت نيت .NET Framework لكي تعمل، المفيد في الأمر أنه يمكن تحويل اللغة الوسيطة إلى لغة برمجة من لغات برمجة الدوت نيت (مثل فيجوال بيسيك، سي شارب) بسهولة بواسطة أحد البرامج المتوافرة لذلك.

شخصياً أنصح بالبرنامج المجاني Reflector for .NET و الذي يمكن بواسطته قراءة كود الملفات التنفيذية EXEs بالإضافة إلى مكتبات DLLs، و يمكن كذلك رؤية البنية الداخلية لإطار عمل دوت نيت و رؤية كيف تعمل Function ما على سبيل المثال، يمكن أيضاً أخذ بعض الـResources الموجودة داخل البرنامج (كالصور مثلاً).

البعض يعتبر أن هذه مشكلة تهدد برامجه و لا أعتبرها كذلك لأن هناك بعض البرامج التي تسمى obfuscators و تقوم بتشفير كود البرنامج و "لخبطته" بحيث يصبح من الصعب جداً فهم أي قسم صغير من البرنامج.

طبعاً هذه الطريقة تعمل مع الـWindows Applications فقط و لا علاقة لها بالـWeb Applications حتى لا يُساء فهمي.

التعليقات (3) -

  • KaRiM

    14/05/2007 12:05:06 م | الرد

    حتى ولو كانت للـ Windows Applications فقط .. أستغرب أن مايكروسوفت لم تضع وسائل مضادة لحماية البرامج المبرمجة بالـ .Net !!

  • moayad

    15/05/2007 01:05:12 ص | الرد

    في الحقيقة لقد وضعت، فمع النسخ غير المجانية من فيجوال ستديو يوجد برنامج من برامج الـobfuscators التي ذكرتها يمكن استخدامه لحماية برامجك إلى حد كبير، و لكن هذه النسخ تكلف أموالاً يصعب تحملها على الأفراد و خاصةً في منطقتنا، حيث إن سعر النسخة الاحترافية حوالي 800 دولار أميريكي و هو مبلغ كبير.
    النقطة الأخرى هي أن هناك عدد من لغات البرمجة (مثل بعض إصدارات جافا) يمكن فك برامجها كذلك!

    شكراً لقراءتك Smile

  • KaRiM

    15/05/2007 04:05:25 م | الرد

    إنه الأرق الأمنى البرمجى !! Frown

أضف تعليقاً

Loading