سؤال

التكرارات الممكنة:
كيف تحمي برنامجك من التوزيع غير القانوني؟
أفضل الممارسات لمنع نسخة البرمجيات

الوضع الافتراضي:

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

الآن ، الأمر هو أنني قمت ببناء الكود من الخدش 100 ٪ وأستخدم مزيجًا من مكالمات API. لا أحد يشارك في تطوير الكود.

إذا كنت أرغب في بيع هذا المنتج ، فما هو الضمان بأن شخصًا ما أكثر ذكاءً مني سيعكس كل شيء ويتوصل إلى منتج أفضل؟

الآن أنا أفكر في تجزئة الكود بأكمله. إضافة الكثير من التعليمات البرمجية الزائدة وأطنان من التعليقات.

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

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

المحلول

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

لذلك من الأرجح أن ينظروا إلى تطبيقك ويفكرون "يمكنني فعل ذلك" ، ثم "هذا رائع ، سأقرأ هذا الرمز ثم نسخه!". حتى لو فهموا ذلك ، فستظل تمتلك حقوق الطبع والنشر ، فلا تزال تحصل على السوق أولاً.

أوصي أن تنسى الأمر.

نصائح أخرى

بمجرد إلقاء نظرة على الرمز ، سوف يفهمونه بسهولة بالغة ويمكنه بسهولة بنائه.

لذلك لا تعطي أي شخص رمز المصدر.

إذا كنت أرغب في بيع هذا المنتج ، فما هو الضمان بأن شخصًا ما أكثر ذكاءً مني سيعكس كل شيء ويتوصل إلى منتج أفضل؟

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

الآن أنا أفكر في تجزئة الكود بأكمله. إضافة الكثير من التعليمات البرمجية الزائدة وأطنان من التعليقات.

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

هل هناك أي برنامج ...

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

سأضيف أن هناك آلية عمل أخرى يمكنك استخدامها للدفاع عن فقدان الأعمال ، وهو ما يدور حوله: السعر. اجعل السعر مرتفعًا لدرجة أن المرخصين سيقدرون نسختهم ولا يسمحون بفحصه ، أو جعله منخفضًا لدرجة أن الهندسة العكسية ممكنة من التكلفة ؛ أو اجعلها مجانية وجني أموالك على عقد الدعم.

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

شخص يريد أن يعرف رمزك سيعرف رمزك.

إذا أصبحت مسألة الخسارة النقدية ، فإن المحاكم هي حمايتك.

هذه هي الطريقة التي يعمل.

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

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

TL ؛ DR: لا يمكنك حماية الكود.

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

أنا لست محاميا

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

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

الآن ل الجانب السلبي, ، سوف أظن ، وربما يكون 90 ٪ على حق في أن طريقتك هي:

  1. غير قابل للبراءة ، لأسباب مختلفة (كنت مندهشًا من عدد الأفكار الحاصلة على براءة اختراع بالفعل ، ومدى صعوبة تحديد الفن الأصلي)
  2. ليست جديدة أو فريدة من نوعها (أي يوجد بالفعل فن راسخ لها)
  3. لا تستحق براءة الاختراع لأن النفقات الخارجة البعيدة الفوائد

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

حظا طيبا وفقك الله.

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

لا توجد طريقة بنسبة 100 ٪ لحماية الكود الخاص بك من الهندسة العكسية. ما هي اللغة التي نتحدث عنها؟ إذا كان هذا هو C/C ++ ، فمن الصعب جدًا عكس الهندسة ، يمكنك تجريده من معلومات تصحيح الأخطاء وما إلى ذلك. جاد) الذي سيكشف الكثير من عملك على أي حال.

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

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

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

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

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

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

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

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

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

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

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