2017-09-28 4 views
-1

J'ai créé le script attendu pour le client et je crains de le personnaliser comme il le souhaite sans me le rendre donc j'ai essayé de le crypter mais je n'ai pas trouvé de chemin Puis j'ai essayé de le convertir en excutable reconnu par actif tcl comme commande "send" même s'il fonctionne parfaitement sur le chapeau rougeComment protéger mon script de la copie et de la modification de celui-ci?

Alors, y a-t-il un moyen de protéger mon script à lire?

Merci

+2

Je l'ai signalé comme hors-sujet car son contenu peut être mieux adapté sur security.se. Cependant, avant de poser une question comme celle-ci, vous voudrez peut-être clarifier certaines choses en fonction de ce que vous essayez de protéger, de qui vous essayez de le protéger, pourquoi vous devez le protéger et quelles sont les conséquences de ne pas le protéger pourrait être. – ymbirtt

+0

J'essaie de protéger la copie source contre la copie et la modification et le code est attendu donc je ne vois pas il est hors tag si vous le souhaitez, je peux ajouter la sécurité dans les balises ci-dessus – Tharwat

+0

Je vote pour clore cette question hors sujet car il est mieux adapté pour https://security.stackexchange.com/ –

Répondre

0

Une façon est de stocker le code essentiel en cours d'exécution sur votre serveur en arrière-plan. Il suffit de donner à l'utilisateur une application front-end pour faire les demandes. De cette façon, les processus essentiels sont sous votre contrôle, et l'utilisateur ne peut pas accéder à ce code.

3

Il est généralement suffisant de simplement emballer le code sous une forme que l'utilisateur ne peut pas regarder directement à l'intérieur. Même le plus petit des ralentisseurs les arrête.

Vous pouvez utiliser sdx qwrap pour classer votre script dans un starkit. Ceux-ci sont raisonnablement résistants à l'utilisateur aléatoire, tout en restant techniquement ouvert (l'outil sdx est disponible gratuitement, après tout). Vous pouvez convertir le fichier .kit qu'il crée en un exécutable en le fusionnant avec un environnement d'exécution empaqueté.

En bref, il est fondamentalement comme cela (avec une certaine complexité passé sous silence):

tclkit sdx.kit qwrap myapp.tcl 
tclkit sdx.kit unwrap myapp.kit 
# Copy additional assets into myapp.vfs if you need to 
tclkit sdx.kit wrap myapp.exe -runtime C:\path\to\tclkit.exe 

Plus discussion est here, les runtimes tclkit sont here et SDX lui-même peuvent être obtenus en .kit forme -packaged here. Notez que le runtime que vous utilisez pour exécuter sdx et non doit être le même que celui que vous avez configuré; vous pouvez déployer du code pour d'autres plates-formes que celle que vous utilisez. Ceci est un emballage phase d'action, pas une compilation ou un lien.


contre plus d'utilisateurs sophistiqués (à savoir, pas Joe utilisateur ordinaire) vous voulez que le compilateur Tcl de la TclDevKit ActiveState. C'est un code obscurci formellement (il n'améliore pas réellement la performance de quoi que ce soit) et le TDK n'est plus particulièrement bien supporté, mais c'est la principale solution actuelle pour la protection commerciale du code Tcl. Je fais partie d'une petite équipe qui travaille sur un vrai compilateur qui offrira effectivement une protection beaucoup plus forte, mais qui n'est pas encore publiée (et qui n'est vraiment pas encore prête).

+0

Savez-vous si l'un de ces bundles tclkits attendre? Ce n'est pas évident d'un coup d'œil décontracté. –

+0

Ou les bibliothèques "libexpect" seraient-elles des "ressources supplémentaires"? –

+0

Je l'ai déjà essayé et tcldevkit ne peut pas bundle attendre et si cela a fonctionné pour vous, veuillez fournir la version tcldevkit ou un moyen de mettre à jour la bibliothèque expect dans tcldevkit j'ai essayé de mettre à jour la bibliothèque expect dans tcl mais je n'ai pas trouvé clair manière d'y arriver – Tharwat