ما مدى جودة طبعة مجتمع Dotfuscator؟ ما هو "جيد بما فيه الكفاية obfuscator"؟ [مغلق

StackOverflow https://stackoverflow.com/questions/2030136

سؤال

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

كيف جيدة هو؟

يمكنني أيضا استخدام تعريف "جيد بما فيه الكفاية" - ما هي الميزات المفقودة من طبعة مجتمع DotFuscator لجعلها جيدة بما فيه الكفاية.

يحرر:

لقد راجعت التسعير على عدد من الخنزير التجاري وتكلفوا الكثير. هل تستحق ذلك؟

هل الإصدارات التجارية التي تحمي أفضل بكثير من الهندسة العكسية؟

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

هل يحدث هذا كثيرا؟

تحرير 2:

يمكن لشخص ما يوصي Obfuscator التجاري. لقد وجدت الكثير منهم، كلها باهظة الثمن، وبعضها ليس لديهم سعر مدرج في موقع الويب.

ميزة الحكمة، جميع المنتجات تبدو أكثر أو أقل مماثلة.

ما هي مجموعة الحد الأدنى من الميزات يجب أن يكون Obfuscator؟

هل كانت مفيدة؟

المحلول

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

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

يمكن العثور على أفضل مقارنة بين إصدار المجتمع (الإصدار "المجاني" الذي يأتي مع Visual Studio) و "Professional"، الإصدارات المدفوعة عن طريق البحث عن الروابطتين التالية:

مقارنة Dotfuscator استباقية

Dotfuscator Community Edition 3.0 على MSDN

ومع ذلك، فإن رابط MSDN قديم قليلا، ومع ذلك، يعطي شرحا أفضل بكثير للميزات الفعلية المتاحة داخل الإصدارات المختلفة من DotFuscator.

تعديل:

تكلف الخنزير التجاري الكثير من المال، وكما يستحق الأموال؟ حسنا، هذا هو دعوة الحكم هذا حقا فقط يمكنك القيام به. شخصيا، أود أن أقول أنه لا يستحق كل هذا العناء في السيناريو الخاص بك. أولا، نظرا لأنك ترغب فقط في حماية تطبيق واحد ("أخطط لإصدار فائدة صغيرة وأسعار منخفضة.") وثانيا، أنت تقول أنك لا تشعر بالقلق للغاية مع التطبيق "متصدع" ("أنا" لا تخاف جدا من طلبي مشقاة. ").

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

تمت مناقشة محاولة إيقاف قرصنة البرمجيات الإعلانية على حد سواء من هنا (تجاوز سعة مكدس) وجميع عبر الإنترنت.

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

هل يحدث هذا كثيرا؟

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

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

نصائح أخرى

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

أيضا يمكنك الاعتماد على عدم الترميز المثالي للغاية المقدمة عن طريق العاكس (وعادة ما يفسد كتل التبديل، يجعل الكثير من gotos، عدم تطابق الكتل الأخرى، إلخ).

لكنني أقترح عليك محاولة ziriz .Net مفاعل. وبعد يكلف فقط 179 دولارا (نسبة أفضل الأسعار / الميزات). يوفر تقنيات التبويع القياسية مثل إعادة تسمية الرمز، تشفير السلسلة، التحكم في تدفق التحكم. ككافأة جيدة، يقوم بإنشاء قاذفة أصلية لتطبيقك، والذي سيحتوي على التجميع الرئيسي الخاص بك وجميع المراجع الطرف الثالث المشفرة وتحميلها عند الطلب. بالإضافة إلى أنها توفر بعض إمكانيات الترخيص.

على أي حال، عكس التطبيق .NET غير صعبة للغاية، لقد فعلت ذلك من أجل المتعة ويمكن أن أقول إنه مسألة الوقت والمال فقط (وبالطبع الحس السليم) مدى سرعة تكسير طلبك أو عكسه.

في الحد الأدنى، يجب أن يكون أحد Obfuscator:

  1. تشفير السلسلة
  2. رمز إعادة تسمية
  3. التحكم في التدفق

من الجيد أن يكون لها ميزات:

  1. حماية الموارد
  2. دمج التجمع / التضمين
  3. طريقة خارجية استدعاء الاختباء
  4. القدرة على تسجيل التجميع التلقائي
  5. دعم جمعيات الأقمار الصناعية
  6. القضاء على القانون
  7. تخفيض البيانات التلوي
  8. مكافحة decompiler (عاكس)
  9. مكافحة عبث
  10. مكافحة التصحيح

نلقي نظرة على لدينا crypto obfuscator. المنتج الذي يدعم كل هذه.

هناك طريقة أخرى للتجول في كود الهندسة العكسي هي المكان الذي تضع فيه DLL الخاص بك إذا كنت لا تستطيع فعلا تكلفة Obfuscators التي تضيف الدعم. وفي المجسومات الخاصة بك قبل أن يخبر النشر بالمترجم حيث يبحث عنها التي كانت ممارسات قديمة تعيق الهندسة العكسية. ولكن مثل ذلك قلت بالفعل، ركزت معظمها على تطوير منتج ممتاز وممارسات ترميز جيدة، ثم ستتمكن من تحمل تطبيق Obfuscator لطيف في المستقبل. أيضا، حاول ألا تقلق على الكثير عن الآخرين تكسير الكود الخاص بك لأن معظم رمز الكراك المتسللين يجدون طريقة لاستخدام المنتج دون دفع ثمنها وليس لسرقة الرمز أو للتعلم من أجل البدء مبرمج. نعم، أتمنى أن يدعم Jit فقط C # و VB.NET الذي كان من شأنه أن يقلل حقا على الهندسة العكسية ولكن بما أن Jit يمكن أن يقرأ الكثيرين بسبب .NET يجري حقا اللغة الصديقة هو الثمن. لذلك الرمز بعيدا وجعل بعض المال، وشراء بعض الأوراق المالية الإضافية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top