Línia 42: Línia 42:
|clau registre||-||64||59||45||5d||3e||10||64||5e||14||66
|clau registre||-||64||59||45||5d||3e||10||64||5e||14||66
|-
|-
|Password||Power To The Penguin||00||36||32||38||4c||30||30||31||34||32
|Password||Power To The Penguin||50||6f||77||65||72||20||54||6f||20||54
|-
|-
|clau_registre ^ password||-||34||36||32||38||4c||30||30||31||34||32
|clau_registre ^ password||-||34||36||32||38||4c||30||30||31||34||32

Revisió del 10:50, 30 jul 2012

Protecció Actual (Sentinel)

S'utilitza una clau USB Sentinel SuperPro. La clau conté 64 cel·les, cada cel·la amagatzema 16bits. S'utilitzen de la següent manera:

0x0e
.
.
0x3f||DISPONIBLE||-
Cel·la(Hex) Dades Exemple
0x00 ? 0x00d9
0x01 ? 0xd4e9
0x02
.
.
0x07
NO USAT -
0x08 nº de execucions restants de la demo
Si és la versió completa conté 0xffff
0xffff
0x09
0x0a
0x0b
0x0c
0x0d
nº de serie de la clau codificat en ASCII
2 caracters per cel·la en BigEndian.
Ex:4628L00124
0x3436
0x3238
0x4c30
0x3031
0x3432

Procediment per validar la clau

Per poder treballar amb la clau primer s'ha de inicialitzar la lliberia amb els següents passos:

RNBOsproFormatPacket(packet, SPRO_APIPACKET_SIZE); // Inicialitzem el buffer que usarà la llibreria per comunicar-se amb la clau
RNBOsproInitialize(packet);                        // Inicialitzem la llibreria

Un cop inicialitzada, s'ha de buscar la clau amb les funcions RNBOsproFindFirstUnit(packet, dev_id) per trobar la primera clau, i RNBOsproFindNextUnit(packet) per passar a la següent clau.

Per validar la clau es procedeix de la següent manera:

  1. llegir la posició 0x08 (amb RNBOsproRead) i:
    1. si el valor llegit és 0 -> Error la demo s'ha acabat
    2. si el valor és diferent de 0xffff, decrementar-lo usant RNBOsproDecrement
  2. llegir les posicions 0x09 a 0x0d per obtenir el nº de serie de la clau
  3. verificar que clau_registre ^ password_secret == nº de serie de la clau Exemple:
Nom ASCII Hex
clau registre - 64 59 45 5d 3e 10 64 5e 14 66
Password Power To The Penguin 50 6f 77 65 72 20 54 6f 20 54
clau_registre ^ password - 34 36 32 38 4c 30 30 31 34 32
Nº serie 4628L00142 34 36 32 38 4c 30 30 31 34 32

Alternatives

Opció Descripció Requeriments HW Pros Contres
A Usar nº de serie + dades en la EEPROM del FT2232H
  • Cap
  • Barat
  • No HW extra
  • Fàcil de copiar
  • Fàcil de modificar
B FT2232H + sentinel
C FT2232H + PIC18F88 emulant EEPROM
D