تطبيقات التعتيم التي تم إنشاؤها باستخدام Dotfuscator
ملخص
نظرا لأن التطبيقات المستندة إلى .NET Framework يتم إنشاؤها بما يسمى لغة وسيطة شائعة ، يمكن قراءتها في شكل قريب من التعليمات البرمجية المصدر الأصلية باستخدام أدوات التفكيك وما شابه ذلك. يصف هذا القسم كيفية تعتيم Dotfuscator ، وهو التشويش الذي يأتي مع Visual Studio ، لتعتيم أسماء الفئات والأساليب في تنسيق لا يمكن قراءته بسهولة.
نحن نتحدث عن ذلك هنا باستخدام Visual Studio 2010 ، ولكن يمكنك استخدام Dotfuscator في عامي 2005 و 2008 أيضا.
بيئة التشغيل
إصدارات Visual Studio المعتمدة
- 2005
- 2008
- 2010
التحقق من إصدار Visual Studio
- 2005
- 2008
- 2010
مادة
نبذة عن دوتفوسكاتور
Dotfuscator هي أداة تشويش تجعل من الصعب قراءة التعليمات البرمجية المصدر عند تفكيكها في التطبيقات المكتوبة باستخدام .NET Framework. يأتي Dotfuscator مع Visual Studio مجانا ومقابل رسوم.
لا يتوفر الإصدار المجاني ما لم تكن العديد من ميزاته محدودة أو تم بدء تشغيل Visual Studio ، ولكن يمكن لأي شخص استخدامه طالما أن Visual Studio مثبتا. تحتوي النسخة المدفوعة على العديد من ميزات التشويش القوية التي لا توجد في الإصدار المجاني ، ولكنها تقدم بسعر يصعب على عامة الناس تحمله.
يحتوي Dotfuscator على ميزات وأسعار وإصدارات مختلفة اعتمادا على الإصدار ، لذا يرجى الرجوع إلى الصفحة الرئيسية التالية للحصول على التفاصيل.
إجراء التشويش
لقد ذكرت سابقا أن التطبيقات التي تم إنشاؤها باستخدام .NET Framework يمكنها تفكيك شفرة المصدر الأصلية وقراءتها بسهولة ، ولكن الوضع الفعلي هو أنه إذا قمت بتفكيك ملف exe كما هو موضح في الشكل الموجود على اليمين ، فيمكنك تقريبا إعادة إنتاج شفرة المصدر الأصلية مثل مساحة الاسم واسم الفئة واسم الطريقة وما إلى ذلك.
يصف الخطوات اللازمة لجعل هذه الأسماء مربكة ومشوشة.
إنشاء تطبيق في Visual Studio وإنشاء ملف exe هو بالضبط نفس الطريقة العادية لإنشائه.
بعد إنشاء ملف exe وإنشائه، حدد أدوات من القائمة Visual Studio، ثم حدد خدمات برامج Dotfuscator.
عند البدء لأول مرة ، يتم عرض مربع حوار "اتفاقية الترخيص" كما هو موضح في الشكل الموجود على اليمين ، لذا اقرأ المحتويات بعناية ، وحدد "نعم ، أوافق على اتفاقية الترخيص." وانقر فوق الزر "موافق".
تبدأ خدمات برامج Dotfuscator.
لا يلزم أن يكون exe (أو ملف dll) المراد تشويشه من المشروع المفتوح حاليا.
حدد تجميعات الإدخال من الشجرة الموجودة على اليسار، وانقر فوق تجميعات الإدخال على اليمين للنقر فوق الزر ....
حدد ملف exe الذي تريد تشويشه.
تتم إضافة ملف exe المحدد إلى القائمة. إذا كنت ترغب في تعتيم ملفات متعددة ، فانقر فوق الزر "..." بعد السطر الثاني لإضافتها.
بمجرد تحديد exe الذي تريد تشويشه ، انقر فوق الزر إنشاء مشروع من شريط الأدوات.
إذا كانت هناك أي تغييرات على المشروع ، عرض مربع حوار تأكيد حفظ المشروع ، لذا انقر فوق نعم للحفظ.
يسمى المشروع ". xml" ملف. سيتم أيضا حفظ ملف exe المشوش في نفس الموقع ، لذا احفظ ملف .xml في أي مجلد.
سيبدأ البناء وينتظر حتى يكتمل. لاحظ أنه كلما كان البرنامج أكبر ، كلما استغرق الأمر وقتا أطول للبناء. إذا كان يبدو وكأنه الرقم الموجود على اليمين ، فقد اكتمل البناء.
يعرض حقل الرسالة نتائج بسيطة، مثل تقدم البنية ومدى التعتيم عليها.
إذا قمت بتحديد "نتيجة" من الشجرة الموجودة على اليسار ، فيمكنك رؤية تفاصيل حول كيفية تغيير أسماء الفئات والطريقة.
أسفل أسماء الفئات والأساليب ، يوجد رمز Dotfuscator واسم مثل "a" أو "b" ، وهو الاسم الغامض. عن طريق تغيير اسم الفئة أو اسم الأسلوب إلى اسم لا معنى له مثل هذا ، يمكنك جعل محتويات شفرة المصدر صعبة القراءة حتى لو تم تفكيكها.
يتم إنشاء ملفات exe المبهمة في مجلد ملفات .xml المحفوظة في Save Project ، والتي تسمى "Dotfuscated" ، ويتم إنشاؤها فيه. بالإضافة إلى ملف exe ، تم إنشاء ملف "Map .xml" ، ولكن هذا هو نتيجة التشويش ويجب عدم استخدامه.
يمكن تشغيل exes المبهمة واستخدامها كما هي. ومع ذلك ، هناك حالات لا يمكن فيها بدء تشغيله بسبب خطأ غير معروف كما هو موضح في الشكل الموجود على اليمين.
هذه المرة ، كتبت تطبيقا في WPF ، ولكن نظرا لأن ملف XAML الخاص بالنافذة الأولى للعرض محدد كسلسلة ، فإن إعادة التسمية بسبب التشويش ستتسبب في فقد المرجع ، مما يؤدي إلى حدوث خطأ.
تشير تطبيقات Windows Form إلى الفئة "من" مباشرة، بحيث يمكن تشغيلها بدون أخطاء حتى إذا كانت غامضة. ومع ذلك ، إذا قمت بتحديد اسم فئة ، ونوع تعداد ، وما إلى ذلك بالاسم ، فيجب أن تكون حذرا لأن هناك احتمالا لحدوث نفس الخطأ.
إذا كنت لا تريد تعتيم فئة أو شيء ما، فحدد إعادة تسمية من الشجرة الموجودة على الجانب الأيمن من Dotfuscator وحدد استبعاد من علامة التبويب الوسطى.
سيتم عرض كل مساحة اسم واسم فئة وما إلى ذلك في القائمة الموجودة على اليمين ، لذا تحقق من العناصر التي لا تريد تشويشها.
هنا ، لا أريد تغيير اسم فئة النافذة ليتم عرضها أولا ، لذلك أتحقق من "MainWindow".
عند إجراء الإنشاء، يمكنك أن ترى أنه لا يوجد اسم تم تغييره تحت اسم الفئة في MainWindows. (تم تحويل فئة التطبيق إلى "a")
عند تشغيل ملف exe الغامض، يمكنك أن ترى أن الإطار يتم عرضه بشكل صحيح.
إذا قمت بتفكيك ملف exe الغامض ، فيمكنك أن ترى أنه تم تغيير اسم الفئة واسم الأسلوب إلى "a" أو "b" بشكل صحيح.
ولكن كجانب. لا تخضع مكتبات NET Framework مثل أسماء الفئات لإعادة التسمية لأنها تجميعات مثبتة بالفعل على Windows وأماكن أخرى.
هذه المرة ، قمت بتعتيم المشروع الافتراضي الذي تم إنشاؤه كما هو ، لذلك أعتقد أن هناك صورة أنه ليس غامضا للغاية ، لكنني أعتقد أن تأثير التشويش يصبح واضحا لأن عدد الفصول وما إلى ذلك يزداد مع نمو المشروع.
أيضا ، على الرغم من أننا قمنا بتضمين الإجراء في الإصدار المجاني هذه المرة ، فإن الإصدار المدفوع يسمح بالتعتيم الأكثر تعقيدا ويمنع أيضا التفكيك نفسه. ومع ذلك ، فإن التشويش له آثار ضارة مختلفة وإمكانية حدوثه ، لذلك عند إجراء التعتيم ، من الضروري القيام بذلك أثناء النظر فيما إذا كان سيعمل بشكل صحيح من بداية التصميم.