Au fur et à mesure que l'importance de JavaScript augmente, il est de plus en plus nécessaire de protéger votre propriété intellectuelle. Dans ce didacticiel, nous allons examiner JScrambler, un outil que vous pouvez utiliser pour protéger votre code contre les concurrents et les pirates..
JScrambler est une solution d'entreprise en nuage permettant de protéger votre code JavaScript dans des applications destinées aux applications Web de bureau, HTML5, mobile, Node.js et aux jeux Web..
Alors que la plupart des efforts de protection de JavaScript vont rarement au-delà des simples transformations d'expression régulière, JScrambler est un moteur d'interpréteur et d'analyse de JavaScript qui crée un arbre de syntaxe abstraite représentant votre code source. Par conséquent, JScrambler peut sécuriser votre HTML5 et votre code JavaScript de manière à ce que le code protégé s'exécute avec les mêmes fonctionnalités que le code source..
L'approche de JScrambler nécessite des tests approfondis et une analyse avancée du code source afin de créer des optimisations de précision qui 1) fonctionnent bien avec des ressources limitées, 2) ne nuisent pas aux performances et 3) s'exécutent parfaitement dans un environnement garanti à 100% conforme à tous les navigateurs et plates-formes..
L'ajout de JScrambler à votre processus de développement protège votre propriété intellectuelle et évite un certain nombre de scénarios problématiques:
Dans ce tutoriel, je vais vous expliquer les avantages de la protection de votre code avec JScrambler et vous présenter ses services et les différentes options disponibles. En plus de son service basé sur le cloud, vous pouvez également intégrer JScrambler à votre environnement de développement via son API. Si vous avez besoin de performances et de sécurité supplémentaires, vous pouvez héberger sa solution d'entreprise autonome..
JScrambler fonctionne mieux avec les environnements d'application suivants:
Avec la prolifération de Node.js, JavaScript peut être utilisé en dehors du contexte d'un navigateur Web, aussi bien du côté serveur que du côté client. Il peut également être construit en dehors du navigateur, puis être compressé et exécuté dans le navigateur. Cette souplesse et cette élégance ont sûrement contribué à sa popularité.
Toutefois, que vous travailliez sur une bibliothèque distribuée via NPM, un client autonome ou une application de navigateur (et les applications Web classiques développées à l'aide de JavaScript), elle est toujours envoyée ou installée en texte clair sur le périphérique de l'utilisateur final. Si vous utilisez des serveurs partagés ou hébergés, vous pouvez être inquiet de savoir que votre code est stocké en texte clair..
De toute évidence, les protections de code de JScrambler peuvent être particulièrement utiles aux entreprises qui développent leur propriété intellectuelle dans Node.js..
JScrambler vous permet de dissimuler la logique de votre application aux attaquants potentiels, telles que les informations collectées auprès de l'utilisateur, son traitement, côté client, et son envoi au serveur. Son obscurcissement introduit un certain niveau de hasard, ce qui vous permet d’explorer des techniques de morphing de code; ceux-ci peuvent aider à empêcher l'automatisation des attaques.
JScrambler peut dissimuler vos algorithmes JavaScript côté client des concurrents qui pourraient essayer de l’analyser et de le voler. Mais vos versions de développement et de production de votre code ne doivent pas nécessairement être identiques. Vous pouvez tester et déboguer votre code non protégé et appliquer JScrambler pour déployer des protections exclusivement dans les tests et la production..
Si vous développez et vendez des applications JavaScript, qu’il s’agisse de JavaScript standard, d’applications Web mobiles ou de HTML5, vous voudrez empêcher une personne qui n’a pas payé ou dont la licence a expirée d’exécuter votre code. JScrambler vous permet de verrouiller votre code sur une liste de domaines prédéfinie et de définir des dates d'expiration. Par exemple, vous pouvez désormais livrer des démos intéressantes à vos clients sans craindre le code ou la perte de clients..
JScrambler fournit des transformations d'optimisation qui rendent votre code plus petit et plus rapide à charger. Ces transformations sont conçues spécifiquement pour votre type d'application et vos exigences de performance. Par exemple, les applications Web mobiles ne peuvent pas supporter le même degré de brouillage qu'une application JavaScript standard s'exécutant sur un processeur de bureau..
L'approche de JScrambler permet de protéger votre produit tout en le maintenant facilement et à un prix abordable. Votre processus de développement peut évoluer naturellement en intégrant des méthodes de sécurité et anti-débogage au niveau de l'entreprise. Voici certaines des fonctionnalités fournies par JScrambler:
JScrambler peut être utilisé de différentes manières. Vous pouvez:
JavaScript voyage du serveur au client avant d'être interprété par le navigateur. Par conséquent, réduire la taille en octets brute améliore le temps de chargement et contribue à une réponse plus rapide pour votre application. De plus, si elles sont utilisées avec des techniques d’obscurcissement, les transformations de réduction de code de taille contribuent à la dissimulation de la logique et réduisent la taille du code qui aurait pu s’accroître du fait de l’utilisation de ces transformations..
JScrambler peut fournir une optimisation en termes de performances de calcul. bien sûr, cette technique ne fournit aucune protection pour le code.
L'obscurcissement du code source consiste à transformer le code source pour le rendre plus difficile à comprendre, sans modifier ses fonctionnalités d'origine. L'approche technologique de JScrambler sécurise votre HTML5 et votre JavaScript de manière à ce que le code protégé s'exécute avec les mêmes fonctionnalités que le code source..
JScrambler vous permet de verrouiller votre JavaScript sur un domaine spécifique ou une liste de domaines, par exemple. mywebsite.com. Votre code protégé ne fonctionnera pas dans des domaines autres que ceux que vous avez choisis. Vous pouvez également limiter le code à une certaine date d'expiration pour des démonstrations ou des licences acceptables, ou le limiter à certains navigateurs et systèmes d'exploitation..
L'une des principales utilisations de l'obscurcissement de code est de protéger la propriété intellectuelle de votre logiciel en dissimulant sa logique, plutôt que d'essayer simplement de faire respecter une licence de logiciel et de s'appuyer sur des solutions juridiques. L'obscurcissement associé à des techniques anti-débogage permet de déjouer les tentatives d'ingénierie inverse et de réutilisation du code, principalement parce que les qualités de maintenabilité et de réutilisation du code sont dégradées à cette fin..
JScrambler fournit des fonctionnalités d'auto-défense pour les applications HTML5 et JavaScript. Votre application peut se protéger activement en détectant les tentatives de modification du code source et les activités de débogage, et en procédant intentionnellement à une panne afin d'atténuer l'attaque. Et tout ce qu'il faut pour déclencher cette défense, c'est qu'un seul personnage change.
L'anti-débogage vise à contrecarrer le processus d'ingénierie inverse et de débogage. Idéal pour entraver l'analyse de code (dynamique), rendant plus difficile toute tentative de dé-obscurcissement.
Anti-falsification vise à contrecarrer les modifications de votre code en utilisant (par exemple) des techniques qui changent le comportement de votre code ou le cassent si une tentative de falsification est détectée..
Voici une démonstration de l'anti-falsification de JScrambler.
Le centre d’aide JScrambler fournit des descriptions détaillées de chacune de ses caractéristiques et de ses transformations, par exemple. Approches d’obscurcissement et d’optimisation:
L’interface de JScrambler est actuellement disponible en six langues:
JScrambler fournit un plan gratuit qui offre une minification et une optimisation. L’aide aux projets plus vastes et aux environnements plus larges commence à 35 $ par mois lorsqu’elle est facturée chaque année:
S'inscrire à JScrambler est simple:
Une fois que vous êtes inscrit, vous serez présenté avec le Nouveau projet écran. JScrambler inclura un projet statique de démonstration sur le Web.
Avec chaque nouveau projet, vous pouvez demander à JScrambler d’utiliser l’un de ses modes d’application:
Mode standard: Comportement standard de JScrambler en matière de protection et d'optimisation. Assez pour la plupart des applications JavaScript. Ne cible pas entièrement les fonctionnalités HTML5 ou ne gère pas les performances mobiles.
Compatibilité mobile: Les transformations sont appliquées en tenant compte des limitations et des besoins des appareils mobiles.
Compatibilité HTML5: JScrambler protège et optimise vos applications HTML5 et de jeux Web en ciblant les nouvelles fonctionnalités HTML5.
Compatibilité Node.js: JScrambler protège et optimise vos applications Node.js.
Ensuite, vous devez spécifier un ou plusieurs modèles de protection et d'optimisation. plans avancés peuvent choisir des combinaisons. Vous pouvez également configurer des modèles pour votre projet en choisissant des transformations spécifiques:
L'interface fournit des explications utiles pour chaque option:
Si vous sélectionnez des transformations spécifiques, vous devrez peut-être fournir des paramètres de configuration. Par exemple, fournir une liste de domaines pour le verrouillage de domaine:
Une fois que vous avez appliqué les transformations de JScrambler, vous revenez à la Projets menu. Ici vous pouvez télécharger votre code résultant:
Voici une comparaison côte à côte du code JavaScript de mon projet avant et après mes transformations:
Bien entendu, l’utilisation statique de JScrambler peut ne pas avoir de sens pour toutes les équipes de développement. L'API JScrambler fournit des options d'intégration continue.
Avec l'API, vous pourrez automatiser le déploiement de tous les fichiers de votre projet en exécutant une simple commande..
L'API offre une interface REST simple, ce qui signifie que vous ne devez implémenter que quelques requêtes HTTP pour l'utiliser. Vous pouvez voir des exemples dans le centre de documentation de l'API JScrambler. JScrambler fournit des stubs clients pour PHP, Java, Node.js, Atom, Grunt, Gulp et Python. Visitez la liste complète des clients à télécharger.
Que vous construisiez votre application à l'aide d'un script de ligne de commande ou d'un exécuteur de tâches, il est très facile d'intégrer JScrambler dans votre processus de construction existant..
JScrambler est déjà intégré dans tous les principaux exécuteurs de tâches. Si cela ne fonctionne pas pour vous, vous pouvez appeler un exécutable CLI API JScrambler à partir de vos scripts ou de votre IDE préféré..
De plus, l'API vous permet d'intégrer la transformation continue de JScrambler dans votre processus de développement..
Voici un exemple de code que vous utiliseriez avec PHP pour télécharger du code pour JScrambler:
require_once 'jscrambler.php'; $ accessKey = 'YOUR_ACCESS_KEY'; $ secretKey = 'YOUR_SECRET_KEY'; $ apiHostname = 'api.jscrambler.com'; $ port = '443'; $ jscrambler = new Jscrambler ($ accessKey, $ secretKey, $ apiHostname, $ port); $ response = $ jscrambler-> post ('/ code.json', array ('fichiers' => array ('index.html', 'script.js'), 'domain_lock' => 'jscrambler.com', ' expiration_date '=>' 2099/12/31 '));
Voici un exemple du paquet JSON que JScrambler renverrait:
"id": "401c600215aab40ea4709a3a0075ef196000cdf0", "extension": "zip", "receive_at": "2012-01-31 18:50:57", "sources": ["id": "a3b85573d493d80353555555559a" ":" html "," nom du fichier ":" index.html "," taille ": 125025, " id ":" 091306a8d92c5f8ad61bbfd134367bf5961be436 "," extension ":" js "," nom_fichier ":" script ". "taille": 113235]
Si vous travaillez dans une grande entreprise ou si vous avez des exigences élevées en matière de sécurité et de propriété intellectuelle, vous aurez peut-être besoin d'un accès plus sécurisé aux services de JScrambler..
JScrambler Enterprise est une appliance virtuelle que vous téléchargez et exécutez dans votre propre infrastructure, ce qui signifie que vous ne devez jamais transmettre aucun de vos codes. Il garantit également une disponibilité à 100% et une priorité maximale.
JScrambler est un produit sophistiqué facile à utiliser. Voici un bref récapitulatif de ce que nous avons couvert:
J'espère que vous avez trouvé cet aperçu des fonctionnalités de JScrambler intéressant et utile..
Si vous souhaitez en voir plus de moi, vous pouvez parcourir mes autres tutoriels Tuts + sur ma page d’instructeur ou me suivre sur Twitter @reifman..