قم بتعتيم تطبيق سيلفرلايت الخاص بك باستخدام Dotfuscator
نبذة عن دوتفوسكاتور
Dotfuscator هو أداة تشويش تجعل من الصعب قراءة التعليمات البرمجية المصدر عند تفكيك التطبيقات المكتوبة باستخدام .NET Framework. يتوفر Dotfuscator في كل من إصدارات البيع بالتجزئة المجانية والمدفوعة التي تأتي مع Visual Studio.
يتوفر الإصدار المجاني فقط مع العديد من الميزات المحدودة وافتراض أن Visual Studio قيد التشغيل ، ولكن يمكن لأي شخص لديه Visual Studio مثبت استخدامه. تحتوي النسخة المدفوعة على العديد من ميزات التشويش القوية غير المتوفرة في الإصدار المجاني ، ولكن قد يكون من المزعج أن يتم تقديمها بسعر يصعب على عامة الناس تحمله.
قد يكون ل Dotfuscator ميزات وأسعار وإصدارات مختلفة اعتمادا على الإصدار ، لذا يرجى الرجوع إلى موقع الويب التالي للحصول على التفاصيل.
رمز محلل
كما ذكر أعلاه ، يمكن للتطبيقات التي تم إنشاؤها باستخدام .NET Framework قراءة التعليمات البرمجية المصدر الأصلية بسهولة عن طريق التفكيك ، ولكن ما يحدث بالفعل هو أنه عند تفكيك ملف تجميع كما هو موضح في الشكل ، يمكن إعادة إنتاج معظم شفرة المصدر الأصلية مثل مساحات الأسماء وأسماء الفئات وأسماء الأساليب.
إجراء التشويش
ابدأ بإنشاء تطبيق Silverlight كالمعتاد وقم بإنشاء إصدار. هنا ، نقوم بإنشاء تطبيق يضع زرين فقط.
في المجلد Bin\Release من المجلد حيث يوجد المشروع، اكتب . xap" هو ملف حزمة يلخص البرامج والملفات المستخدمة في تطبيقات Silverlight.
في الواقع ، يتم ضغط هذا الملف وتجميعه كملف ZIP ، وبالتالي فإن الامتداد هو ". الرمز البريدي".
تم تغييره إلى ملف ZIP.
عند فتح الملف، فإنه يحتوي على ملف بيان وDLL. DLL هذا هو الإصدار المترجم من البرنامج الذي يعمل كتطبيق.
بالمناسبة ، يتم وضع ملف DLL أيضا في مجلد الإصدار عند إنشائه ، لذلك هذه المرة سنقوم بتعتيم هذا الملف.
من القائمة Visual Studio، حدد أدوات، ثم حدد PreEmptive Dotfuscator and Analytics.
عند البدء لأول مرة ، سيتم عرض مربع الحوار "اتفاقية الترخيص" ، لذا اقرأ المحتويات بعناية ، وحدد "نعم ، أوافق على اتفاقية الترخيص." وانقر فوق الزر "موافق".
يبدأ CE Dotfuscator والتحليلات الوقائية.
حدد "المدخلات" من الشجرة الموجودة على اليسار وانقر فوق الزر "إضافة إدخال".
حدد ملف DLL الذي قمت بإنشائه أثناء الإنشاء.
اختار ملف DLL الذي أضفته وألغ تحديد وضع المكتبة > تحويل XAML.
إذا تم تحديد "وضع المكتبة" ، فلن يتم التعتيم على الفئات والأساليب المحددة في الأماكن العامة.
إذا تم تحديد "تحويل XAML" ، تعتيم الفئات المحددة في XAML ، ولكن اعتمادا على كيفية إنشائها ، سيؤدي ذلك إلى حدوث خطأ في بدء التشغيل ، لذلك إذا حدث ذلك ، فيرجى إلغاء تحديده.
في الأساس ، يتم تعتيم جميع الفئات والأساليب والخصائص وأسماء المتغيرات ، ولكن إذا كنت لا ترغب في تعتيم مساحة اسم أو فئة معينة بسبب التسلسل ، فحدد "إعادة تسمية" من الشجرة الموجودة على اليسار ، وحدد علامة التبويب "استبعاد" ، وتحقق من مساحة الاسم أو الفئة المستهدفة.
ضمن القواعد المضمنة، تأكد من تحديد حقول Silverlight وWPF UserControls. سيؤدي التحقق من ذلك إلى جعل حقل UserControls غامضا وسيتم تشغيله بنجاح. يمكنك إلغاء تحديده إذا بدا أنه يعمل بشكل صحيح حتى بعد التشويش.
عند الانتهاء ، انقر فوق الزر "إنشاء مشروع" من شريط الأدوات.
إذا كانت هناك تغييرات على المشروع ، عرض مربع حوار تأكيد حفظ المشروع ، لذا انقر فوق "نعم" للحفظ.
يسمى المشروع ". xml" ملف. يتم حفظ الملفات المبهمة في نفس الموقع.
انتظر حتى يكتمل البناء عند بدايته. لاحظ أنه كلما كان البرنامج أكبر ، كلما استغرق الأمر وقتا أطول للبناء. عندما يبدو مثل الشكل ، يكتمل البناء.
يعرض حقل الرسالة تقدم البناء ونتيجة موجزة مثل مدى تشويشه.
إذا قمت بتحديد النتائج من الشجرة الموجودة على اليمين، يمكنك الاطلاع على تفاصيل حول كيفية تغيير أسماء الفئات والطريقة.
تحت أسماء الفئات والأساليب ، سيكون هناك رمز Dotfuscator وأسماء مثل "a" و "b" ، والتي ستكون الاسم الغامض. من خلال تغيير اسم الفئة أو اسم الأسلوب إلى اسم لا معنى له بهذه الطريقة ، حتى لو تم تفكيكه ، فقد يجعل من الصعب قراءة محتويات شفرة المصدر.
يتم إنشاء الملف المشوش في مجلد يسمى "Dotfuscated" في مجلد ملف .xml المحفوظ في Save Project. بالإضافة إلى الملف المشوش ، تم إنشاء ملف "خريطة.xml" ، ولكن هذا هو نتيجة التشويش ولا يتم استخدامه.
إذا قمت بتفكيك الملف المشوش ، فيمكنك أن ترى أنه تم تغيير بعض أسماء الفئات والأساليب إلى "a" أو "b".
هذه المرة ، تم تعتيم المشروع الافتراضي الذي تم إنشاؤه كما كان تقريبا ، لذلك أعتقد أن هناك صورة مفادها أنه ليس غامضا للغاية ، لكنني أعتقد أن تأثير التشويش يصبح أكثر وضوحا لأن عدد الفصول وما إلى ذلك يزداد مع نمو المشروع.
وبصرف النظر عن ذلك، . مكتبات NET Framework ولا تخضع لإعادة التسمية لأنها تجميعات مثبتة بالفعل على Windows ، على سبيل المثال.
لا يستخدم Silverlight DLLs كما هو، لذلك يتم تعبئتها كملفات XAP. كما ذكرنا في البداية ، فإن ملف XAP هو مجرد تغيير في امتداد ملف ZIP ، لذلك يقوم بإنشاء ملف ZIP عن طريق جمع الملفات الموجودة في ملف XAP وملفات DLL المبهمة.
يمكن إنشاء ملف ZIP باستخدام ميزات نظام التشغيل القياسية.
يتم إنشاء ملف ZIP.
يتم تغيير الامتداد إلى '. xap" وإذا كان اسم الملف مختلفا، فقم بتغييره إلى اسم ملف الحزمة الأصلي.
ضع ملف XAP في موقع توزيع.
يرجى التحقق من العملية ومعرفة ما إذا كانت تعمل بشكل صحيح.
إذا لم يبدأ تشغيله ، فتحقق حتى يعمل بشكل طبيعي عن طريق تقليل التعليمات البرمجية المبهمة. لاحظ أن Silverlight غالبا ما يتعثر في الأمور المتعلقة ب XAML.
على الرغم من أن الإرشادات غير مدرجة هنا، إذا كنت ترغب في توقيع برنامج، فقم بإنشائه في حالة توقيع متأخر، وقم بتعتيم التجميع، ثم أعد التوقيع. حتى إذا قمت بالتعتيم عليه أثناء توقيعه ، فلن يتطابق رمز التوقيع المرفق في وقت الإنشاء ورمز التوقيع بعد التشويش ، لذلك لن تتمكن من بدء تشغيله.
في هذه المقالة ، قمت بإدراج خطوات الإصدار المجاني ، ولكن إذا كنت تستخدم الإصدار المدفوع ، فيمكنك إجراء تشويش أكثر تعقيدا ومنع التفكيك نفسه. ومع ذلك ، فإن التشويش لديه القدرة على التسبب في آثار ضارة مختلفة ، لذلك عند إجراء التعتيم ، من الضروري النظر فيما إذا كان سيعمل بشكل صحيح من بداية التصميم.