demander:
Bonjour, expert en script! Comment encoder des scripts dans HTA?
--Ll
répondre:
Bonjour, LL. Vous savez, lorsque nous avons vu cette question pour la première fois, nous avons pensé: "Quel est le problème? Ne pouvons-nous pas encoder des scripts dans les applications HTML (HTAS) comme nous l'avons fait dans les fichiers HTML?" À notre grande surprise, il semble que nous ne pouvons pas coder les scripts dans HTAS; Chaque fois que nous essayons de le faire, nous renvoyons un message d'erreur comme le suivant:
ScriptegencoderObject ("scripting.encoder") faillic: /scripts/test.hta
Honnêtement, nous n'avons jamais trouvé de moyen de coder les scripts dans HTA. Mais ça va, parce que nous avons eu une idée délicate pour résoudre ce problème. Nous vous montrerons dans un moment.
Cependant, avant de le faire, nous devons prendre un moment pour expliquer ce que signifie coder les scripts. Microsoft a un utilitaire appelé scriptencoder (script Encoder) qui "baisse" votre code de script. Par exemple, supposons que vous ayez un script similaire à ce qui suit:
strComputer = "."
SetObjwMiService = getObject ("winmgmts: //" & strComputer & "/ root / cimv2")
SetColOperatingSystems = objwMiService.execQuery ("SELECT * FROMWIN32_OPERATIngSystem")
ForeachobjoperingsystemincoloperatingSystems
Msgboxobjoperatingsystem.caption & "" & objoperatingsystem.version
Suivant
Supposons pour une raison quelconque, vous voulez que les gens ne puissent pas lire le code de script. C'est un problème: après tout, toute personne qui a le droit d'exécuter le script a le même droit de l'ouvrir dans le bloc-notes et de regarder ce que vous voulez. Cependant, une fois que le même script a été traité par le "Encodeur de script", il deviendra le suivant:
# @ ~ ^ 8aeaaa == @ # @ & @ # @ &, pp,?! 8pv + oru.n.kkw @ # @ &, pp, ~~ pkymzg: 2; d + .p {~ jcj @ @ &, pp ~~, p ~ p, ~ u + o, w (l tq
Und7k ^ +, '~! Yr (% + 1y`rarxsosyd) wwrp'pkod; wh2! Y +. ~ Lp ~ J'.kwo'mb: / yj * @ # @ & @ # @ & ~ p, p ~~, pp, ~? Yp1gsra + mlokuluxdy h /, '~ g (
L /(u+./b^ r3x + 1pe dh ~ {@ # @ & ~ p, p ~~, pp, ~ p, ppvej + ^ + 1y ~ e ~ w
Mwhpqrx2m6a + dcobxl? Hdd + hr # @ # @ & @ # @ & p, ~ p, p ~ p, p ~ okdpacm4pw (% 6w dmyr
xljh / o + s ~ kp ^ g ^ rwn.myrxtjh / o: k @ # @ &, p, ~ p, p ~ p, p ~~, phkl4k6pk8% ra + m
Lokuluxdy hr; l2oBwx ~ ', j ~ j,', {@ # @ & p, pp, p, ~ p, p ~ p, p ~~, pw (% ra + dmorxt? h / o + h
J +. / bgx @ # @ & ~~, pp ~~, p ~ pgnxy @ # @ & p, ppax9 ~ ?! 4 @ # @ & qyqaaa == ^ # ~ @
Les scripts fonctionnent toujours, mais il est un peu plus difficile pour quiconque de regarder le code et de plagier vos résultats de travail. (Vous avez raison: c'est vraiment mieux que vous, expert en script! La plupart des blagues mentionnées ont plus de sens)
Maintenant, la chose importante à retenir est que nous coderons (ou perturbons) les scripts sans cryptage. qu'est-ce que cela signifie? Cela signifie que l'encodeur cache vos scripts de la plupart des gens; Cependant, un véritable pirate hardcore qui a des connaissances sur le codage ou a des services publics téléchargés à partir d'Internet peut casser ce code. Cela signifie surtout jamais "masquer" le mot de passe administrateur dans le script, et vous ne pensez pas que le "Encodeur de script" peut garantir que le mot de passe n'est pas espionné. Ce ne sera pas comme si vous pensiez que c'est un encodeur plutôt qu'un encryptor, ce qui fait définitivement une différence.