Question about product activation scheme

A typical product activation scheme is as follows

  • Unique serial number. assigned to user
  • A unique equipment identifier is created for the user machine.

By providing this information to the supplier, the supplier issues an activation code.

I would like to know how the activation code is generated and what its contents are. What is the general scheme as soon as the activation code is entered into the application on the users PC, for example, how is it decoded, stored, checked next time?

thanks

+3
source share
3 answers

- , MD5 . , , ,

"Pentium 4 Dual Core 3.8 GHz, HDD1: 320GB"
.. MD5 , Google.

, , Windows, , WMI Windows API. , WMI - Win32_PhysicalMemory.

, , , . / - , 123, , 9 - , 876. 2 999, .

- , ( ) , - . , .

: . ?

  • , , .., , , , .
  • - , , , .
  • , , .

, , . , .

- , - , . , , - , . , , , .

- , , , , . , 1984 Kindles, , , Amazon , .

2c.

+5

(Todd), . , , , "", ?

, - ?

SO:
?

UPDATE:
OP:

, ?
@: / . /​​/ .

, , , , , ?
@: , , , , . , .. ..

+1

, , - .

, . .

, : , . , .

-, - , , - , .

:

  • [IC] : ; , . , . - , , . .
  • [UI] : uniqe ; . , .
  • [HASH] : ; - , , . - Windows .

:

begin:
  load IC
  if not IC: IC = generateIC
  load UI
  if not UI: UI = promptUser
testHash:
  load HASH
  if HASH=hash(IC,UI): goto valid
  HASH = activateLicense()
  if not HASH=hash(IC,UI): goto invalid    
valid:
  REV = revokeLicense()
  if REV: goto invalid
  done : run software
invalid:
  done : do not run software

generateIC:
  IC = some unique identifier
  store IC
  return IC
promptUser:
  UI = get id from user input
  store UI
  return UI
activateLicense:
  HASH = wwwResponse('activationRequest')
  store HASH
  return HASH
revokeLicense:
  REV = wwwResponse('checkIfRevoked')
  if REV: erase HASH
  return REV

:

  • [REV] : - . , , www.

- , . -, , IC UI , HASH, . , , , , -, .

, , . .

:

, IC , - . , , , - , , , , , , , , . - , .

0

Source: https://habr.com/ru/post/1725128/


All Articles