ربط ترخيص البرنامج بالجهاز ونقله
مع ترخيص جهاز واحد، نسخ البرنامج والذاكرة إلى حاسوب عادي آخر لا ينقل ترخيص الحاسوب الأصلي.
Device binding vs user account licensing
Account sign-in identifies the customer and their purchases; device binding determines which machine may use the license. After sign-in, the SDK must still verify device identity, signatures and feature entitlements. Copying account session data or cache files to another computer does not replace that computer's own license verification.
كيف يحدد SDK هوية الكمبيوتر؟
عند كل بدء يقرأ SDK هوية النظام ويحسب التجزئة مع معرّف المنتج. يتضمن توقيع الخادم التجزئة، ويتحقق منها محليًا أيضًا.
يقرأ Windows MachineGuid وLinux machine-id وmacOS IOPlatformUUID. تُرسل التجزئة فقط، لا الهوية الأصلية. حقل الإعداد القديم device_id لا يستبدل هوية الجهاز الفعلية.
ماذا يحدث عند نسخ ملفات الجهاز A إلى B؟
- يتفعّل A ويتلقى توقيعًا مرتبطًا بتجزئة جهازه.
- يقرأ B هويته فيحصل على تجزئة مختلفة ويرفض ذاكرة A.
- يجب تفعيل B متصلًا. إذا كان الحد جهازًا واحدًا وما زال A مرتبطًا، يرفض الخادم B.
كيف يغيّر العميل جهاز الكمبيوتر؟
يفك العميل ربط الحاسوب القديم ثم يفعّل الجديد. إذا تلف القديم، حرّره من تفعيلات الأجهزة في اللوحة. تغيير الحاسوب لا يعيد مدة الترخيص.
إعادة تثبيت النظام قد تغيّر هويته وتستلزم تفعيل جهاز جديد. استنساخ النظام الكامل أو تزوير الهوية أو تعديل العميل هجمات أقوى؛ تجزئة الجهاز وحدها لا تضمن منعها.
مع فترات عدم اتصال طويلة، لا يعرف توقيع A بتحريره فورًا؛ يلزم طلب ناجح لتحديث الحالة. المدة الأطول تؤخر تطبيق القيود عن بُعد.
تجزئة الجهاز المشتركة بين اللغات
SHA256(UTF8(
"LicenovaDevice/v2\n"
+ lower(product_id) + "\n"
+ lower(trim(OS_machine_identity))
))