تطبيقات التعتيم التي تم إنشاؤها باستخدام Dotfuscator

تحديث الصفحة :
تاريخ إنشاء الصفحة :

ملخص

نظرا لأن التطبيقات المستندة إلى .NET Framework يتم إنشاؤها بما يسمى لغة وسيطة شائعة ، يمكن قراءتها في شكل قريب من التعليمات البرمجية المصدر الأصلية باستخدام أدوات التفكيك وما شابه ذلك. يصف هذا القسم كيفية تعتيم Dotfuscator ، وهو التشويش الذي يأتي مع Visual Studio ، لتعتيم أسماء الفئات والأساليب في تنسيق لا يمكن قراءته بسهولة.

نحن نتحدث عن ذلك هنا باستخدام Visual Studio 2010 ، ولكن يمكنك استخدام Dotfuscator في عامي 2005 و 2008 أيضا.

Dotfuscator を使用して作成したアプリケーションを難読化する

بيئة التشغيل

إصدارات Visual Studio المعتمدة

  • 2005
  • 2008
  • 2010

التحقق من إصدار Visual Studio

  • 2005
  • 2008
  • 2010

مادة

نبذة عن دوتفوسكاتور

Dotfuscator هي أداة تشويش تجعل من الصعب قراءة التعليمات البرمجية المصدر عند تفكيكها في التطبيقات المكتوبة باستخدام .NET Framework. يأتي Dotfuscator مع Visual Studio مجانا ومقابل رسوم.

لا يتوفر الإصدار المجاني ما لم تكن العديد من ميزاته محدودة أو تم بدء تشغيل Visual Studio ، ولكن يمكن لأي شخص استخدامه طالما أن Visual Studio مثبتا. تحتوي النسخة المدفوعة على العديد من ميزات التشويش القوية التي لا توجد في الإصدار المجاني ، ولكنها تقدم بسعر يصعب على عامة الناس تحمله.

يحتوي Dotfuscator على ميزات وأسعار وإصدارات مختلفة اعتمادا على الإصدار ، لذا يرجى الرجوع إلى الصفحة الرئيسية التالية للحصول على التفاصيل.

إجراء التشويش

難読化していないアプリケーションの逆アセンブル結果

لقد ذكرت سابقا أن التطبيقات التي تم إنشاؤها باستخدام .NET Framework يمكنها تفكيك شفرة المصدر الأصلية وقراءتها بسهولة ، ولكن الوضع الفعلي هو أنه إذا قمت بتفكيك ملف exe كما هو موضح في الشكل الموجود على اليمين ، فيمكنك تقريبا إعادة إنتاج شفرة المصدر الأصلية مثل مساحة الاسم واسم الفئة واسم الطريقة وما إلى ذلك.

يصف الخطوات اللازمة لجعل هذه الأسماء مربكة ومشوشة.

Dotfuscator Software Services

إنشاء تطبيق في Visual Studio وإنشاء ملف exe هو بالضبط نفس الطريقة العادية لإنشائه.

بعد إنشاء ملف exe وإنشائه، حدد أدوات من القائمة Visual Studio، ثم حدد خدمات برامج Dotfuscator.

使用許諾契約書

عند البدء لأول مرة ، يتم عرض مربع حوار "اتفاقية الترخيص" كما هو موضح في الشكل الموجود على اليمين ، لذا اقرأ المحتويات بعناية ، وحدد "نعم ، أوافق على اتفاقية الترخيص." وانقر فوق الزر "موافق".

Dotfuscator Software Services

تبدأ خدمات برامج Dotfuscator.

入力アセンブリの追加

لا يلزم أن يكون exe (أو ملف dll) المراد تشويشه من المشروع المفتوح حاليا.

حدد تجميعات الإدخال من الشجرة الموجودة على اليسار، وانقر فوق تجميعات الإدخال على اليمين للنقر فوق الزر ....

難読化する exe ファイル

حدد ملف 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 وأماكن أخرى.

هذه المرة ، قمت بتعتيم المشروع الافتراضي الذي تم إنشاؤه كما هو ، لذلك أعتقد أن هناك صورة أنه ليس غامضا للغاية ، لكنني أعتقد أن تأثير التشويش يصبح واضحا لأن عدد الفصول وما إلى ذلك يزداد مع نمو المشروع.

أيضا ، على الرغم من أننا قمنا بتضمين الإجراء في الإصدار المجاني هذه المرة ، فإن الإصدار المدفوع يسمح بالتعتيم الأكثر تعقيدا ويمنع أيضا التفكيك نفسه. ومع ذلك ، فإن التشويش له آثار ضارة مختلفة وإمكانية حدوثه ، لذلك عند إجراء التعتيم ، من الضروري القيام بذلك أثناء النظر فيما إذا كان سيعمل بشكل صحيح من بداية التصميم.