قم بتعتيم تطبيق سيلفرلايت الخاص بك باستخدام Dotfuscator

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

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

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

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

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

دوتفوسكاتور

رمز محلل

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

解析されたコード

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

ابدأ بإنشاء تطبيق Silverlight كالمعتاد وقم بإنشاء إصدار. هنا ، نقوم بإنشاء تطبيق يضع زرين فقط.

Release ビルド

في المجلد Bin\Release من المجلد حيث يوجد المشروع، اكتب . xap" هو ملف حزمة يلخص البرامج والملفات المستخدمة في تطبيقات Silverlight.

XAP ファイル

في الواقع ، يتم ضغط هذا الملف وتجميعه كملف ZIP ، وبالتالي فإن الامتداد هو ". الرمز البريدي".

拡張子を .zip に変更

تم تغييره إلى ملف ZIP.

ZIP ファイル

عند فتح الملف، فإنه يحتوي على ملف بيان وDLL. DLL هذا هو الإصدار المترجم من البرنامج الذي يعمل كتطبيق.

بالمناسبة ، يتم وضع ملف DLL أيضا في مجلد الإصدار عند إنشائه ، لذلك هذه المرة سنقوم بتعتيم هذا الملف.

ZIP ファイルの中身

من القائمة Visual Studio، حدد أدوات، ثم حدد PreEmptive Dotfuscator and Analytics.

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

PreEmptive Dotfuscator And Analytics を選択

يبدأ CE Dotfuscator والتحليلات الوقائية.

PreEmptive Dotfuscator And Analytics CE

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

入力の追加

حدد ملف DLL الذي قمت بإنشائه أثناء الإنشاء.

ビルドで生成した DLL ファイルを選択

اختار ملف DLL الذي أضفته وألغ تحديد وضع المكتبة > تحويل XAML.

إذا تم تحديد "وضع المكتبة" ، فلن يتم التعتيم على الفئات والأساليب المحددة في الأماكن العامة.

إذا تم تحديد "تحويل XAML" ، تعتيم الفئات المحددة في XAML ، ولكن اعتمادا على كيفية إنشائها ، سيؤدي ذلك إلى حدوث خطأ في بدء التشغيل ، لذلك إذا حدث ذلك ، فيرجى إلغاء تحديده.

「ライブラリ モード」「XAML の変換」のチェックを外す

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

難読化の除外

ضمن القواعد المضمنة، تأكد من تحديد حقول Silverlight وWPF UserControls. سيؤدي التحقق من ذلك إلى جعل حقل UserControls غامضا وسيتم تشغيله بنجاح. يمكنك إلغاء تحديده إذا بدا أنه يعمل بشكل صحيح حتى بعد التشويش.

Silverlight および WPF 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 化

يتم إنشاء ملف ZIP.

ZIP ファイル

يتم تغيير الامتداد إلى '. xap" وإذا كان اسم الملف مختلفا، فقم بتغييره إلى اسم ملف الحزمة الأصلي.

ضع ملف XAP في موقع توزيع.

XAP ファイルに変更

يرجى التحقق من العملية ومعرفة ما إذا كانت تعمل بشكل صحيح.

إذا لم يبدأ تشغيله ، فتحقق حتى يعمل بشكل طبيعي عن طريق تقليل التعليمات البرمجية المبهمة. لاحظ أن Silverlight غالبا ما يتعثر في الأمور المتعلقة ب XAML.

動作確認

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

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