Pyramidal Protection System | عدد (زياراتك اليومية:1 | مشاهدات الصفحة:1) | زوار اخرين:5456
  • بسم الله الرحمن الرحيم
  • السلام عليكم ورحمة الله،
  • مقدمة سريعة عن النظام الهرمي للحماية
  • Pyramidal Protection System (.NET EFP)
  • هذا الشرح لذو الخبرة على الأقل عام من البرمجيات بلغة دوت نت
  • تعريف النظام:
  • هو نظام جديد تم إعداده وكتابته بلغة C, C++, Assembly لحماية البرامج المكتوبة بواسطة إطار عمل دوت نت من الهندسة العكسية لفك وإعادة الشفرات التي تم كتابتها لبناء البرامج وذلك من خلال الملف الجديد EFP الذي سوف نتحدث عنه لاحقا في قسم تعريفة.
  • وقد سمي باسم النظام الهرمي للحماية لأنه يتكون من مجموعة برامج وملفات صغيرة الحجم تعمل وتتعامل مع بعضها البعض بشكل هرمي ليصبح برامج واحد ذو نقطة وسط مركزية التي تتحكم في الادارة والتشغيل وأيضا في انهيار الشكل الهرمي وانهاء كافة البرامج التي تعمل تحت اطارة في حالة أي مخالفة لشروط الاستخدام.
  • ينقسم النظام الي قسمين القسم الأول هو المسؤول عن انشاء وحماية البرنامج بصيغة EFP وهذا للمبرمجين فقط والجزء الثاني هو مثل Runtime يبقي على أجهزة المستخدمين وهو المسؤول عن التشغيل الإدارة.
  • يتميز النظام بملفات ذو صيغ جديدة وإمكانيات متعددة وأساليب فريدة من نوعها بالنسبة للتشغيل والإدارة ونظام الحماية.
  • تعمل أجزاء النظام بشكل مستمر لحماية نفسها والأجزاء المكملة لها لتصبح قتلة واحد منظمة لتتعامل مع بعضها البعض كائنها برنامج واحد.
  • كما انه يمتلك أساليب متعددة ومجهز للدفاع المستمر عن نفسه وعن البرامج التي تعمل تحت اطارة قبل الهجوم عليها باي نوع من أنواع سرقة البيانات من الذاكرة او محاولة قراءة الاسمبلي واجراء تعديلات لتخطي امراً ما.
  • يقوم الجزء المختص بالفحص بتحليل البرامج التي تعمل في قائمة المعالج واجراء التقارير. وإذا وجد أي برنامج من البرامج المتخصصة لقرائه الذاكرة او الاسمبلي يقوم بأغلاقها واغلاق نفسه وكل ما يعمل تحت اطارة، دون الرجوع او السؤال او اظهار أي رسالة حفاظا علي سرية وحماية البيانات، لأنه لا ينطبق مع شروط الاستخدام وحقوق الملكية الفكرية.
  • يتعامل نظام الدفاع قبل الهجوم بالاستمرار في فحص كافة البرامج المشغلة في قائمة المعالج وتحليلها وتصنيفها لاتخاذ قرار إذا كانت نوعها من الانواع التي تم ذكرها، يقوم بالحماية قبل أي محاولة اختراق ولا يعطي أي فرصة للوصول لأي بيانات او تشغيل أي برامج قد يتسبب في خلل أمني.
  • لا يتوقف نظام الحماية ابدا من بداية تشغيل البرامج التي تعمل تحت اطارة الي وقت انهائها فاذا تم الاغلاق بطريقة شرعية فينتهي الامر من الحماية بعد التأكد من قفلها تماما ومسح كافة البيانات التي تم حفظها مؤقتاً على الذكرة كما موضح بالصورة التالية.
  • تعريف ( EFP Executable File Protected )
  • EFP هو نوع جديد من أنواع الملفات وينتج عن الملف التنفيذي الاصلي الذي كتب بلغة .NET وتحول نوعه وهيئة من النظام الهندسي exe الي النظام EFP محمي المحتوي ويحمل صفات جديدة ولكنه لا يعمل تلقائي مثل exe بل يعمل بطرية اخري سوف نتحدث عنها في قسم التشغيل.
  • مكونات النظام؟
  • يتكون النظام الهندسي لبناء وادارة وتشغيل EFP من عدة برامج صغيرة الحجم ذو السرعة الفائقة والتي تتعامل مع بعضها البعض بشكل متناسق، ولا يستطيع أحد الاجزاء القيام بالعمل الا مع الجزء الاخر المكمل له ليصبح بالشكل الهرمي كما موضح بالصورة.
  • هل يعمل نظام الحماية بتشفير النصوص والتشويش والضغط ومكافحة قراءة الاسمبلي وحماية الموارد؟
  • يعمل نظام الحماية بشكل جديد مختلف اختلاف نهائيا مما سبق من برامج حماية، لأنه في حقيقة الامر يعمل .Net بشكل بطيء الي حد ما علي حسب مستوي المبرمجين وأنظمة التشغيل وسرعة الأجهزة التي يتعامل معها، فإذا قمت بإضافة كل هذه الانواع التي سبق ذكرها، فسوف يعمل البرنامج بشكل بطيء جدا وواضح، أيضا لأسف الشديد يوجد العديد من البرامج التي تعمل من اجل الهندسة العكسية لفك التشفير وقرائه سطور التعليمات البرمجية كما موضح بالصورة التالية.
  • لذلك تم تصميم هذا النظام بشكل مختلف، وهو إعادة تهيئة تكوين بناء ملف التشغيل وتحويله من EXE الي EFP وتشفير واضافة صفات جديدة وأساليب لحماية وتشغيله والتحقق من المالك وحماية بيانات الإصدار وغيرها من الصفات الجديد التي سوف نذكرها في قسم انشاء EFP.
  • تعريف أجزاء النظام
  • جزء رسائل التوجيه والمساعدة وتصحيح الأخطاء:
  • Help Message Box []
  • صمم هذا الجزء لإرشاد المستخدم بظهور رسائل توجيهية ناتجه عن كيفية التشغيل او الأخطاء او سوء الاستخدام، لا يستطيع هذا الجزء التحكم في أحد اجزاء النظام التابعة له او المكملة له، مثل الانتظار الي حين الموافقة على الرسالة الظاهرة او اغلاق النظام او أحد أجزاءه.
  • توضيحاُ
  • كما نعلم ان نظام إظهار الرسائل يعمل على اظهار رسالة ترحيب او خطاء ويتوقف البرامج عن اجراء الامر التالي حتى يضغط المستخدم علي رز الموافقة او الغاء الرسالة الظاهرة وبعدها يعمل البرنامج بتنفيذ الامر التالي وهذا يعتبر ثغرة امنية يستطيع من خلالها سرقة بعض البيانات من الذاكرة لأنه لم ينتهي البرنامج وكافة البيانات المحملة على الذاكرة الا إذا تم الموافقة على الرسالة للخروج.
  • لذلك تم تصميمه لإظهار رسائل المساعدة وتصحيح الاخطاء بهذا الشكل الذي يعمل على اظهار الرسائل فقط لا غير، وانه جزء مستقل بذاته وليسه له علاقة في اداء وسرعة برنامج النظام، لأنه يعمل عندما يدعي فقط وانه لسه له حدود في اداة تشغيله ولا اي صلاحية في انهاء برنامج النظام او أحد الاجزاء التابعة، المكملة له، المسئولة عن إدارة.
  • وعندما يدعي للعمل لإظهار رسالة خطاء يتم ظهور الرسالة بعد انهاء برنامج النظام إذا كان الامر يتعلق بالجزء الأمني كما موضح بالصورة التالية.
  • اما إذا كانت رسالة توجهيه لكيفية استخدام امرا ما، فسوف تظهر الرسالة ولا يتم اغلاق أي جزء من أجزاء النظام.
  • جزء انشاء ملف EFP
  • Create EFP []
  • يتم انشاء الملف بعد فحص الملف الأصلي (exe الذي تم إنشاءه تحت إطار .Net) من الفيروس والتأكد من حقوق الملكية وشروط الاستخدام.
  • بيان توضيحي لإنشاء وتشغيل EFP
  • بعد تشغيل البرنامج المتخصص للإنشاء وإدخال بيانات الإصدار والتحقق من الملكية يتم انشاء الملف ثم يبقي جزء التشغيل وسوف نتحدث عنه في قسم التشغيل وبناء المشغل.
  • شروط الاستخدام:
  • نحن لا ندعم ولا نشارك في حماية اي برنامج غير شرعي او مخالف لحقوق الانسان مثل برامج سرقة البيانات والقرصنة والفيروسات والتجسس والبرامج الإباحية والكراكات ... الخ.
  • Steal data’s, hacking, and virus, spyware & software porn, etc.
  • - ماذا عن مخالفة شروط الاستخدام؟
  • يعمل المحقق من شروط الاستخدام لإرسال تقرير في حالة كشف اي مخالفة لأي نوع من الانواع المذكورة، ويضاف الي قائمة الحظر من موقعنا او شراء واستخدام اي برنامج تابع لنا على الانترنت وذلك من اجل حماية الاخرين من ايدي العابثين.
  • - هل يمكن استثناء بعض الحالات في شروط الاستخدام؟
  • شروط الاستخدام واضحة ولكن إذا تم المخالفة بشكل غير مقصود مثل حماية برنامج يحمل محتوي مشفر لدرجة قصوى واعتبرته بعض برامج مكافحة الفيروس انه غير طبيعي فلا حرج واما إذا كان عمدا فلا نتهاون في ذلك.
  • - كيف يتم عملية الانشاء؟
  • يعمل البرنامج بصورة واضحة ومعبرة عن القيم المطلوبة للإنشاء، فانه يطالب ببينات الإصدار وهي اسم الشركة المنتجة للبرنامج واسم البرنامج ووصفة ورقم اصدارة وحقوق الملكية، وأيضا إحدى الصفات الجديد هي إضافة رابط الانترنت والبريد الإلكتروني لخدمة العملاء ونوع اللغة الاصلية في بنائه مثل c#.net، vb.net.
  • - كيف يتعرف المالك الأصلي للبرنامج؟
  • يتعرف البرنامج علي المالك الأصلي للملف exe الذي تم إنشاءه تحت اطال .Net من خلال سطر التحقق، ويضاف الي سطور التعليمات البرمجية وذلك هو التصريح الي يعطي الحق لإضافة بيانات الإصدار وانشاء EFP وأيضا حفاظا علي سلامة حقوق الملكية.
  • بعد ادخال البيانات المطلوبة اضغط على الزر انشاء وسوف تحصل على الملف الجديد.
  • جزء الخصائص المتقدمة:
  • Advanced Properties EFP []
  • يحمل ملف EFP معلومات الإصدار (اسم الشركة المنتجة للبرنامج واسم البرنامج ووصفة ورقم اصدارة وحقوق الملكية وأيضا رابط الانترنت والبريد الإلكتروني لخدمة العملاء، تاريخ الانشاء، نوع الملف، وحجمه).
  • لذلك صمم هذا الجزء لإظهار هذه البيانات للمستخدم حين الاحتياج اليها.
  • تظهر الخصائص المتقدمة في قوائم النوافذ حين الضغط بالزر الايمن على اي ملف من نوع EFP.
  • وحين الانتهاء من معاينة البيانات يضغط المستخدم على الزر موافق OK لإنهاء البرنامج.
  • جزء التحقق من المالك قبل التشغيل:
  • Author Verification []
  • يتعرف البرنامج علي المالك الأصلي في حالة طلب التشغيل بواسطة av وهو الذي يعطي الحق للنظام بإعطاء صلحيه للمشغل (الذي سوف نتحدث عنه في قسم تشغيل البرامج بعد الحماية) ويعمل ويتعامل كوسيط ما بين نظام الحماية وطلب التشغيل والمشغل والبرنامج الذي يعمل تحت إطار.Net ليصبح كامل الصلاحية للعمل.
  • فانه أداة ربط لجميع الأطراف ولا يسمح للعمل ولا إعطاء أي صلاحية للتشغيل، الا إذا تم التأكد من الرقم السري الذي سوف نتحدث عنه في جزء (طلب التشغيل) لربط أجزاء النظام والمشغل للقيام بالعمل.
  • أيضا يقوم av التأكد من الرقم السري بطريقة واحدة فقط لا غير وفي كل الحالات يتم انهاء وتنظيف الذاكرة من أي معلومات تحمل هذا الرقم كما موضوح بالصورة.
  • جزء طلب التشغيل:
  • Invoke with Secret Key []
  • هو الذي يطالب النظام بتشغيل الملف المحمي EFP بواسطة ارسال اسم الملف والرقم السري، هذه ميزة اخري من مميزات النظام، انه لا يعمل الا إذا تم ادخال رقم التحقق من الملكية للبرنامج الذي تم إنشاءه تحت إطار .Net.
  • - ما هو الرقم السري وماهي ميزته وكيف يستخدم؟
  • الرقم السري يتكون من 0 الي 32 حرف ورقم ورموز، يصنعه المالك كما يشاء ويقوم بإضافته ضمن سطور التعليمات البرمجية قبل الحماية كما مبين بسطور التعليمات التالية.
  • مميزات رقم التشغيل:
  • هو الذي يسمح للمشغل الذي (سوف نتحدث عنه في قسم تشغيل البرامج بعد الحماية) التأكد انه المالك الأصلي للبرنامج وإعطاء صلاحية للتشغيل.
  • المشغل
  • تعريف المشغل:
  • المشغل هو برنامج صغير الحجم والمختص بطلب التشغيل من دائرة النظام التي تحدثنا عنها سابقاً وهو: الوجهة الرئيسية للبرنامج والرمز Icon وظهور اسم البرنامج في قائمة المعالج.
  • مميزات المشغل:
  • يمتلك مميزات كثر وثقة كبيرة تتبادل بينه وبين أجزاء النظام في أداة التشغيل والحماية، كما انه هو رمز التشغيل بمعني أوضح كما نعلم ان EFP ليس يعمل تلقائيا مثل exe ولا يمتلك رمز Icon مخصص يعبر عنه ولا يستطيع المبرمج تغيره، فلذلك يعمل المشغل بشكل كامل بدلاً من EFP ليصبح يمتلك الصفات الكاملة من الحماية والتشغيل وبيانات الإصدار وحقوق الملكية ورمز التشغيل.
  • - كيف يعمل المشغل وما هي اللغة المستخدمة؟?
  • يعمل المشغل بإرسال طلب التشغيل من الجزء المختص بواسطة اسم الملف ورقم التشغيل من مصدر النظام وهو C:\pps\dnm.
  • - ماهي اللغة البرمجية التي يجب عليك استخدامها للتشغيل؟
  • يمكنك تشغيل EFP باي لغة تفضلها مثل C,C++,C++.Net,C#.Net,VB.Net بواسطة استخدام invoke.dll ولاكن يفضل استخدام C++ native من حيث السرعة والأداء.
  • مثال علي استخدام C++ لتشغيل.
  • شرح استخدام C++ للتشغيل:
  • 1.قم بتشغيل Visual Studio وبعد ذلك اضغط على قائمة ملف ثم اختار جديد ثم مشروع جديد.
  • 2.حدد C++ من القائمة التي تظهر على اليسار ثم اختار عام وبعدها مشروع فارغ ثم قم بتعبئة البيانات اسم المشروع والمصدر والاسم العام لكل المشاريع.
  • 3.بعد الضغط على الزر موافق بعدها يتم انشاء المشرع فارغ.
  • 4.قم بالضغط علي اسم المشروع My Project بواسطة الرز الأيمن ثم اختار إضافة وبعدها بند جديد.
  • بعد إضافة بند جيد يظهر لك الملف الجديد الذي سوف تكتب فيه سطور التعليمات البرمجية.
  • والان قم بنسح السطور التالية وضعها في الملف البرمجي.
  • الان يجب ضبط بعض الاعدادات وانشاء المشغل كما موضح بالصور التالية:
  • 1-اضغط بالرز الأيمن علي اسم المشروع ثم اختار خصائص.
  • 2-اختار من القائمة التي تظهر على اليسار Linker ثمالنظام System وبعدها اختار نوع التشغيل وهو النوافذ
  • 3-اختار Debugging وبدل القيم كما موضح بالصورة.
  • 4-اخيراً انشاء المشغل ليصبح exe جاهر للعمل وتشغيل efp اضغط بالرز الأيمن علي اسم المشروع ثم اختار بناء Build وسوف تجد ملف البرنامج في My Project\Debug.
  • الان يجب عليك تجميع الملف EFP والمشغل في حاوية واحدة ثم قم بتشغيل المشغل سوف يعمل البرنامج بنجاح انشاء الله وسرعة فائقة.
  • تم بحمد الله تعالي شرح نظام الحماية وطريقة التشغيل
  • أتنمى من الله التوفيق للجميع
  • تم الشرح بواسطة
  • محمد ندا