Voici un moyen d'empêcher l'ouverture d'une table soit avec FoxPro ou n'importe quel autre logiciel (Excel, Lotus 123 etc.) L'idée est corrompre la table (inverser l'ordre des cinq premier bytes du fichier) pour qu'elle devienne non lisible, et en roulant le code une deuxième fois, la situation redevient normale et la table peut être ouverte. Tou cela sans encryptage.
Source / Exemple :
CLOSE DATABASES all
lcTable = GETFILE('dbf') && Selectionner une table
lnHnd = Fopen( lcTable, 2 )
If lnHnd > 0
FSEEK( lnHnd, 5) && Retrouver les 5 premiers bytes
lcStr = Fread( lnHnd, 5)
lcNewstr = RIGHT(lcStr,1)
For i = 4 To 1 Step -1
lcNewstr = lcNewstr + SUBSTR(lcstr, i, 1) && Inverser l'ordre des 5 premiers bytes
Endfor
FSEEK( lnHnd, 5)
Fwrite( lnHnd, lcNewstr ) && Réécrire les cinq premiers bytes
Fclose(lnHnd) && Fermer le fichier
ELSE
MESSAGEBOX("Couldn't open table!",16,"Error...")
ENDIF
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.