%xx est tout simplement la forme encodée en UTF-8 d'un caractère.
Si je prend l'exemple du contenu de la variable lic_code1='%3C%73%63%72%69%70%74', si on décode cette chaîne de caractères avec la fonction javascript unescape on obtient la chaîne '<script'.
La valeur décodée de la variable lic_code1 en faisant unescape(lic_code1) donne comme résultat:
<script language="javascript">function dF(s){var s1=unescape(s.substr(0,s.length-1)); var t='';for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));document.write(unescape(t));}</script>
Visiblement cette fonction javascript nommée dF, pour la faire courte, effectue un mélange des caractères de la chaîne passée en paramètres et renvoie une nouvelle chaîne de caractères en sortie.
Maintenant si on appelle la fonction dF avec la valeur de la variable lic_code2, en sortie on obtient;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <SCRIPT LANGUAGE="javascript">
try {
var dmp = (new Date()).getTime();
var tmp = sessionObj.GetEnvironmentVariable("COMPUTERNAME");
if (tmp != "") {
var tmp2 = encodeCPUId(tmp);
if (/^89466$/i.test(tmp2)) {
if (2556054000000 > dmp) {
gForAlways=true;
} else {
alert("ERROR 12: License expired.");
}
} else {
alert("ERROR 11: Unlicensed computer.");
}
}
}
catch (err) {
alert("ERROR 10: License computation error");
}
function encodeCPUId(str) {
var r="";
var e=str.length;
var c=0;
var h=123;
while(c<e){
h += str.charCodeAt(c++);
}
h = h*78;
return h;
}
</SCRIPT> |
C'est là encore une fonction javascript qui à partir du nom de la machine vérifie apparemment la validité d'une license.
var tmp = sessionObj.GetEnvironmentVariable("COMPUTERNAME");
Au final, le nom de la machine n'est pas utilisé directement dans les différentes fonctions javascript, il n'y a pas à modifier/changer ce code.
C'est du côté de la propriété "COMPUTERNAME" de l'objet "sessionObj" qu'il faut regarder comment est faite l'alimentation.
Vue la tête de ces fonctions Javascript, je doute que cela soit directement le nom de la machine qui soit utilisé.
Partager