![]() |
|
تشفير الملفات التنفيذية - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : تشفير الملفات التنفيذية (/showthread.php?tid=20883) |
تشفير الملفات التنفيذية - silverlight - 01-07-17 الهدف: في هذا الموضوع سأوضح كيف يتم تشفير الملفات التي لها امتداد مثل Exe أو Executable Files أيضا سأجتهد أن اوضح كيف يتم تشفير ملفات dll او Data Linked Library Files مقدمة: بشكل مبدئي علينا ان نفهم أن عملية تشفير الملفات هي نوع من أنواع الفيروسات لذلك وعندما تقوم بتشفير ملف تنفيذي أو أي ملف أخر مهما كان نوعه فإن بعض برامج مكافحة الفيروسات قد تعتبر الملف الخاص بك نوع من الفيروس السبب في ذلك أنك وعند تشفير أي ملف فإنك تقوم بعمل تغييرات في البنية الأساسية لهذا الملف و بالتالي تخفي معالمه عن أنظمة التشغيل وبدون الدخول في كلام نظري لنضع بعض الأمثلة المثال الأول هذا المثال بالفعل أن كتبته بشكل مبسط في قسم الأمثلة و ستحدونه في اللينك التالي حماية الملفات التنفيذية اسمحوا لي فقط أن أعيد صياغة الكود الموجود في المثال حتي أوضح شيئا هاما وهنا سوف أضيف الملف التنفيذي الي Resources المشروع و أجعل Build Action الخاص به Embedded Resource حتي أضمن أنه لا يتم نسخ الملف الأصلي الي فهرس المشروع PHP كود : ' نقرأ الملف من الريسورسجتي الأن نحن لم يتم نشفير اي شئ المثال الثاني نفس المثال و لكن بدلا من كتابة الملف بامتداد Exe سنكتبه باي امتداد علي الهارد ديسك وهنا سوف أحفظه علي هيئة صورة و أقرأه من علي الهارد ديسك ثم أقوم بتشغيله PHP كود : ' نقرأ الملف من الريسورسقم بتشغيل الملف ستلاحظ أن الكمبيوتر سيقوم بفتح الملف ببرنامج للصور و برنامج الصور هنا سوف يقوم بإظهار رسالة لك تقول We can't open this file اي لا نستطيع فتح هذا الملف المثال الثالث: حاول تحفظ الملف بامتدادات أخري مختلفة و سأختار هنا الامتداد txt PHP كود : ' نقرأ الملف من الريسورسالملف سيفتح هنا ببرنامج NotePad و سوف تستطيع أن تري و تقرأ كل التكست الموجود داخل الملف و لكن بعض الكلمات ستكون غير مفهومة لا تغلق الملف فقط انظر الي اول حرفان في ملف التكست ستجد أنهما MZ و هذان الحرفان و عند من يفهم برمجة هما يشيران الي الحروف الأولي الي اسم مبرمج مشهور في مايكروسوفت و هذان الحرفان لهم معني واحد أن الملف هو ملف تنفيذي EXE تذكر أننا حتي الأن لم نقوم بتشفير الملف عموما المسكلة التي يجب أن تتفهمها عزيزي القارئ أن المشكلة ليست في تشفير الملف فهذا هو الجزء السهل في الموضوع لكن السؤال الذي يجب أن نسأله لأنفسنا هل نحن في حاجة لحفظ الملف علي الهارد ديسك و هل نستطيع تحميل الملف مباشرة في ذاكرة الكمبيوتر الإجابة نعم تستطيع ولكن لهذا حديث مختلف المثال الرابع: الأن لنقوم بتنفيذ ألأفكار أعلاه و لكن مع ملف يكون امتداده dll او من النوع Data Linked Library و أنا كتبت ملف من النوع dll بسيط جدا حتي استخدمه وهنا سوف أضيف الملف الي Resources المشروع و أجعل Build Action الخاص به Embedded Resource حتي أضمن أنه لا يتم نسخ الملف الأصلي الي فهرس المشروع و الكود التالي يوضح كيفية قراءة ملف dll PHP كود : Dim dllFileBytes As Byte() = My.Resources.SimpleDllأيضا الكود التالي يوضح كيفية قراءة الملف باستخدام Application.Domain يجب ملاحظة انك تستيطيع أن تضع الملف في اي فهرس تحدده أنت علي الكمبيوتر أنا هنا اخترت فهرس المشروع PHP كود : ' الكود التالي يوضح الأسلوب الثاني لتتشغيل الملفيتبقي عليك فقط أن تتعامل مع ملف dll الذي تم تحميله باستخدام Assembly Load او باستخدام Application.Domain.Load وهذا يتم باستخدام Reflection الكود التالي سيؤكد لك أن الاسمبلي تم بالفعل تحميله وهذا ققط من أجل التوضيح PHP كود : Dim cairoType As Type = dllassembly.GetType("SimpleDll.Cairo")شئ أخير يجب أن تضعه في اعتبارك و هو عبارة عن سؤال أرجو أن تسأله لنفسك الي متي سيظل الملف في ذاكرة الكمبيوتر؟ وهل سيقوم GC كلاس بحذفه من الذاكرة أم لا الخلاصة التي يجب أن تخرج بها هل أنت في حاجة للتشفير أم لا؟ أعتقد عليك أن تتعلم أين و كيف تخفي ملفاتك سواء قمت بتشفيرها أم لا RE: تشفير الملفات التنفيذية - princelovelorn - 28-09-18 السلام عليكم ورحمة الله وبركاته جزاك الله خيرا وبارك في على الموضوع والشرح كان لي إستفسار بعد إذن حضرتك في المثال الرابع الخاص بالمكتبة dll كيف أستطيع الوصول لدوال المكتبة من داخل المشروع كمثال لدي مكتبة خاصة بالتفعيل البرنامج مثلا وقمت بتطبيق الشرح عليها ولكن وقفت عند اوامر استدعاء دوالها فلم تظهر في المشروع فرجاء ممكن التوضيح وأسف إن كان سؤالي يدل على قلة خبرة مني فلازلت مبتدأ وأحاول التعلم وجزاك الله خيرا بعد البحث في المنتدى وجدت الشرح بالتفصيل من الأخ silverlight في الموضوع التالي http://vb4arb.com/vb/showthread.php?tid=25436 RE: تشفير الملفات التنفيذية - sendbad100 - 02-10-18 السلام عليكم
جزاك الله الف خير
|