Les jeux HTML5 ont un code source visible. Existe-t-il un moyen de les rendre comme un fichier swf?
Comment masquer l'algorithme de jeu?
Que pensez-vous du plug-in et de l'obfuscation de Firefox JavaScript Deobfuscator ?
Les jeux HTML5 ont un code source visible. Existe-t-il un moyen de les rendre comme un fichier swf?
Comment masquer l'algorithme de jeu?
Que pensez-vous du plug-in et de l'obfuscation de Firefox JavaScript Deobfuscator ?
Réponses:
Si vous voulez protéger votre source, ne l'écrivez pas en HTML / Javascript?
Une partie des choses vraiment sympa sur le web car tout est lisible par l'homme. Cela en fait une excellente ressource d'apprentissage. Si vous me dites que vous n'avez jamais regardé la source d'un site Web pour savoir comment il fait quelque chose, n'hésitez pas à me dire que je me trompe.
Je suis sur le point de partager l'amour avec le code, sinon je ne répondrais pas aux questions sur un site Web sur l'offre d'aide, gratuitement, n'est-ce pas?
Edit: j'ai dit ce que j'en pense, y a-t-il un moyen de le rendre illisible? Non, pas en JS / HTML pur. La raison en est simple: quelque part sur la ligne, il devient lisible. Si vous l'obscurcissez, un désobfuscateur vous récupère. Si vous utilisez un chiffre ou le traduisez d'une manière ou d'une autre, à un moment donné, vous devez le traduire à nouveau en javascript (et le code pour le traduire doit également être dans votre source!).
Le mieux que vous puissiez faire est de vous protéger contre le vol de la bande passante et de masquer si vous en ressentez vraiment le besoin, mais cela n'empêchera pas les gens s'ils sont vraiment déterminés.
Vous pouvez en mettre beaucoup sur le serveur via Node.js et simplement renvoyer les résultats des fonctions. mais à part ça, c'est comme le dit Matt Kemp. Le code qui s'exécute est lisible par un humain, il est impossible de le cacher.
Même si vous n'obscurcissez pas votre code, HTML / JS est déjà à peu près au même niveau de difficulté pour effectuer une rétro-ingénierie que SWF.
Les fichiers SWF contiennent le code Actionscript original, (IIRC), avec des commentaires, etc., sauf s'ils sont obscurcis. Les noms des objets, etc. sont également contenus dans le SWF.
Les décompilateurs / recompilateurs SWF existent, et ce n'est pas parce que vous ne pouvez pas le voir avec un éditeur de texte que SWF est à l'abri de l'ingénierie inverse.
En fait, le niveau d'obfuscation n'est vraiment pas différent d'un SWF. Vous pouvez obscurcir votre code JS à l'aide d'un obscurcisseur, mais cela rend les rapports de bogues plus difficiles à interpréter.
Vous voulez probablement concentrer vos efforts sur la fabrication de quelque chose qui vaille la peine, plutôt que d'empêcher les gens de le voler. De nombreux fichiers SWF sont arrachés et utilisés à des fins non autorisées (avec des graphiques modifiés, etc.)
Utilisez le compresseur gratuit Yahoo YUI.
Je l'utilise car il compresse considérablement mon code (y compris la suppression de commentaires et d'espaces inutiles). Cela me permet de commenter et de structurer mon code exactement comme je veux sans me soucier de la facilité avec laquelle je le fais pour les voleurs.
De plus, si vous souhaitez lire le Javascript pour un site complexe après que tous les noms de variables et de fonctions ont été essentiellement détruits - eh bien, bonne chance avec ça. Il est beaucoup plus difficile de comprendre ce que fait le code lorsque vous n'avez aucune indication.
(Bien qu'avec le compresseur YUI, vous devrez peut-être augmenter ses fonctionnalités pour également vous débarrasser des noms de fonctions. J'ai modifié la façon dont je nomme les fonctions spécifiquement dans le but de supprimer automatiquement et sélectivement la plupart des noms de fonctions. Cela peut nécessiter un code personnalisé de votre côté .)
Non, et il n'y a vraiment aucune raison de le faire! Si vous voulez vendre votre travail, vous pouvez le faire sans obstruction. Les gens paient pour le contenu, pas pour le code. Vendez vos œuvres d'art, votre histoire, votre musique, etc. et distribuez le code librement (il l'est déjà, de toute façon).
Les jeux HTML5 ont un code source visible. Existe-t-il un moyen de les rendre comme des fichiers swf?
Oui, utilisez Flash et traduisez votre code en ActionScript.
Comment cacherait-on les algorithmes de jeu?
En termes absolus, vous ne pouvez pas faire ça.
Que pensez-vous du plug-in et de l'obfuscation de Firefox JavaScript Deobfuscator?
L'obfuscation n'est rien d'autre qu'une barrière très mince pour quelqu'un qui voudrait vraiment voler votre code. Pourtant, il est simple à configurer, il peut repousser les scripts les plus stupides, et c'est la seule chose que vous pouvez faire pour protéger le code côté client. Il a l'avantage supplémentaire de réduire la taille du script (téléchargement plus rapide) et peut même optimiser le code (exécution plus rapide). Vérifiez cette entrée sur Stack Overflow pour plus de détails sur l'obscurcissement. Résumé: vous avez beaucoup d'options. J'ai personnellement essayé UglifyJS et j'ai eu des résultats très satisfaisants.
Comme nous le savons tous, HTML5 s'appuie sur JavaScript comme langage de programmation. En théorie, tous les outils qui protègent JavaScript devraient fonctionner sur HTML5.
Le seul outil que je connaisse qui prend actuellement en charge HTML5 dans le contexte du développement de jeux est JScrambler . Je ne sais pas si d'autres fonctionneront.
Pour le marsouin de la discussion, l'obscurcissement n'est pas une solution miracle. Nous avons un logiciel compilé chiffré, protégé par plusieurs solutions anti-copie et nous pouvons toujours les obtenir sans payer. Cela dit, je crois que l'obscurcissement bat en laissant votre code ouvert pour que quiconque puisse le lire lorsque vous n'avez pas l'intention.
J'adore vraiment l'open source et je soutiens le mouvement, mais parfois la fermeture de la source a beaucoup de sens.