docs(licence): l'APK reutilisera la licence desktop, pas la sienne
Differe volontairement : l'APK ne part chez personne aujourd'hui. Le jour venu, l'instantane publie par le poste portera la licence et le telephone exigera d'y en trouver une — il le lit deja, donc aucun nouveau format, aucune empreinte Android, aucune emission de plus. Les trois raisons de ne pas refaire un second dispositif sont notees pour ne pas les re-deriver : Java attend du DER la ou CNG accepte r||s brut, ANDROID_ID est remis a zero par une reinitialisation d'usine (donc des clients legitimes refuses), et un APK se repaquette en dix minutes. Et l'APK n'aura PAS a verifier la signature, seulement la presence : payer le DER et le JNI pour durcir un controle que le repaquetage retire serait le mauvais echange. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -425,6 +425,40 @@ Settings -> Licence, revele seulement quand `config.txt` existe a cote de l'exe
|
||||
`PM.Licence.ClearLicence`, et evite d'avoir a supprimer `prefs.bin` — qui
|
||||
desactive mais emporte le mode de deverrouillage, le nom retenu et la sync.
|
||||
|
||||
### Cote Android : differe, et le jour venu on reutilisera la licence desktop
|
||||
|
||||
**Rien n'est fait, et c'est deliberе** — l'APK ne part chez personne aujourd'hui,
|
||||
on l'installe soi-meme par adb. Un dispositif de licences sans destinataire est
|
||||
du code qui vieillit sans jamais s'executer chez quelqu'un.
|
||||
|
||||
Le jour ou l'APK partira chez des clients, **ne pas refaire un second dispositif**.
|
||||
Trois raisons, a garder pour ne pas les re-deriver :
|
||||
|
||||
- **L'elegance du cote Windows ne se transporte pas.** Elle venait de ce que
|
||||
.NET sur Windows EST CNG : la signature `r||s` brute est deja celle qu'attend
|
||||
`BCryptVerifySignature`. **Java attend du DER** — il faudrait emettre deux
|
||||
formats ou convertir, plus un pont JNI vers `java.security.Signature`. La
|
||||
moitie penible qu'on avait evitee reviendrait.
|
||||
- **Pas d'empreinte materielle solide sur Android.** Plus d'IMEI ni de numero de
|
||||
serie sans permission privilegiee ; il reste `ANDROID_ID`, **remis a zero par
|
||||
une reinitialisation d'usine** — donc des clients legitimes qui perdent leur
|
||||
licence sans rien avoir fait. C'est le defaut couteux, celui qui refuse
|
||||
quelqu'un qui a paye.
|
||||
- **Un APK se contourne bien plus facilement qu'un exe.** `repack-apk.ps1` en
|
||||
est la demonstration : decompiler, retirer un test, resigner est de la routine
|
||||
outillee.
|
||||
|
||||
**La forme retenue** : l'instantane publie par le poste porte la licence, et
|
||||
l'APK exige d'y en trouver une. Le telephone lit deja cet instantane — aucun
|
||||
nouveau format d'emission, aucune empreinte Android, aucune licence
|
||||
supplementaire a fabriquer.
|
||||
|
||||
**Et l'APK n'a PAS a verifier la signature** : il constate la presence, rien de
|
||||
plus. Payer le DER et le JNI pour durcir un controle que le repaquetage retire
|
||||
en dix minutes serait le mauvais echange. Le but est de tenir le mobile attache
|
||||
a un poste paye, pas de resister a une attaque — l'APK ne peut pas resister, et
|
||||
faire semblant couterait plus que de l'admettre.
|
||||
|
||||
**ORDRE OBLIGATOIRE.** Tant que `LicencePublicKeyBlob` est a zero, aucune
|
||||
licence n'est valide et l'ecran d'activation est **infranchissable** — l'exe
|
||||
construit ne s'ouvre plus. Poser la cle publique AVANT de deployer :
|
||||
|
||||
Reference in New Issue
Block a user