سؤال

ما هي أفضل طريقة لتأمين استخدام/تحميل ملف DLL مع ملف الترخيص؟

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

المحلول

هناك بعض الأشياء التي قد ترغب في وضعها في الاعتبار:

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

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

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

اقتراحي يجب أن يستخدم خاص عمومي مفاتيح لتوليد الترخيص.

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

نصائح أخرى

يمكنك التحقق من وجود ترخيص داخل DllMain() والموت إذا لم يتم العثور عليه.

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

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

إذا كنت تريد التعمق أكثر وتجنب المتسللين، فهذا موضوع آخر تمامًا....

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