abracadabraPDF › Forums › PDF – Général › Protection PDF › Répondre à : Protection PDF
25 mai 2020 à 06:34
#67648

Maître des clés
…on va prendre en exemple un de mes scripts que j’ai donné récemment pour calculer l’âge.
A l’origine, ça donne ça :
Code:
var chaine=this.getField(« Naissance »).valueAsString;
if (chaine!= » ») {
var dateNaissance=chaine.split(« u002F »);
var jourNaissance=Number(dateNaissance[0]);
var moisNaissance=Number(dateNaissance[1]);
var anneeNaissance=Number(dateNaissance[2]);
var aujourdhui=new Date();
var cetteAnnee=aujourdhui.getFullYear();
var ceMois=aujourdhui.getMonth()+1;
var ceJour=aujourdhui.getDate();
var age=cetteAnnee-anneeNaissance;
var t=this.templates;
if (age>0) {
if (age>1) {
var ans= » ans »;
} else {
var ans= » an »
}
if (ceMois if (ceMois==moisNaissance) {
if (ceJour }
this.getField(« Age »).value=age+ans;
} else {
this.getField(« Age »).value=(ceMois-moisNaissance)+ » mois »;
}
if (age>0 && age<18) {
for (var i=0; i if (t.name== »mineur ») t.hidden=false;
else t.hidden=true;
}
} else if (age>0) {
for (var i=0; i if (t.name== »majeur ») t.hidden=false;
else t.hidden=true;
}
}
} else {
this.getField(« Age »).value= » »;
for (var i=0; i }
if (chaine!= » ») {
var dateNaissance=chaine.split(« u002F »);
var jourNaissance=Number(dateNaissance[0]);
var moisNaissance=Number(dateNaissance[1]);
var anneeNaissance=Number(dateNaissance[2]);
var aujourdhui=new Date();
var cetteAnnee=aujourdhui.getFullYear();
var ceMois=aujourdhui.getMonth()+1;
var ceJour=aujourdhui.getDate();
var age=cetteAnnee-anneeNaissance;
var t=this.templates;
if (age>0) {
if (age>1) {
var ans= » ans »;
} else {
var ans= » an »
}
if (ceMois
if (ceJour
this.getField(« Age »).value=age+ans;
} else {
this.getField(« Age »).value=(ceMois-moisNaissance)+ » mois »;
}
if (age>0 && age<18) {
for (var i=0; i
else t.hidden=true;
}
} else if (age>0) {
for (var i=0; i
else t.hidden=true;
}
}
} else {
this.getField(« Age »).value= » »;
for (var i=0; i
Une fois minifié :
Code:
var chaine=this.getField(« Naissance »).valueAsString;if(« »!=chaine){var dateNaissance=chaine.split(« / »),jourNaissance=Number(dateNaissance[0]),moisNaissance=Number(dateNaissance[1]),anneeNaissance=Number(dateNaissance[2]),aujourdhui=new Date,cetteAnnee=aujourdhui.getFullYear(),ceMois=aujourdhui.getMonth()+1,ceJour=aujourdhui.getDate(),age=cetteAnnee-anneeNaissance,t=this.templates;if(age>0){if(age>1)var ans= » ans »;else ans= » an »;if(ceMois0&&age<18)for(var i=0;i0)for(i=0;i
Et une fois obfusqué :
Code:
var _0x80a1=[« x76x61x6Cx75x65x41x73x53x74x72x69x6Ex67″, »x4Ex61x69x73x73x61x6Ex63x65″, »x67x65x74x46x69x65x6Cx64″, » », »x2F », »x73x70x6Cx69x74″, »x67x65x74x46x75x6Cx6Cx59x65x61x72″, »x67x65x74x4Dx6Fx6Ex74x68″, »x67x65x74x44x61x74x65″, »x74x65x6Dx70x6Cx61x74x65x73″, »x20x61x6Ex73″, »x20x61x6E », »x76x61x6Cx75x65″, »x41x67x65″, »x20x6Dx6Fx69x73″, »x6Cx65x6Ex67x74x68″, »x6Dx69x6Ex65x75x72″, »x6Ex61x6Dx65″, »x68x69x64x64x65x6E », »x6Dx61x6Ax65x75x72″];var chaine=this[_0x80a1[2]](_0x80a1[1])[_0x80a1[0]];if(_0x80a1[3]!= chaine){var dateNaissance=chaine[_0x80a1[5]](_0x80a1[4]),jourNaissance=Number(dateNaissance[0]),moisNaissance=Number(dateNaissance[1]),anneeNaissance=Number(dateNaissance[2]),aujourdhui= new Date,cetteAnnee=aujourdhui[_0x80a1[6]](),ceMois=aujourdhui[_0x80a1[7]]()+ 1,ceJour=aujourdhui[_0x80a1[8]](),age=cetteAnnee- anneeNaissance,t=this[_0x80a1[9]];if(age> 0){if(age> 1){var ans=_0x80a1[10]}else {ans= _0x80a1[11]};if(ceMois< moisNaissance){age= age- 1};if(ceMois== moisNaissance&& ceJour< jourNaissance){age= age- 1};this[_0x80a1[2]](_0x80a1[13])[_0x80a1[12]]= age+ ans}else {this[_0x80a1[2]](_0x80a1[13])[_0x80a1[12]]= ceMois- moisNaissance+ _0x80a1[14]};if(age> 0&& age< 18){for(var i=0;i< t[_0x80a1[15]];i++){_0x80a1[16]== t[i][_0x80a1[17]]?t[i][_0x80a1[18]]= !1:t[i][_0x80a1[18]]= !0}}else {if(age> 0){for(i= 0;i< t[_0x80a1[15]];i++){_0x80a1[19]== t[i][_0x80a1[17]]?t[i][_0x80a1[18]]= !1:t[i][_0x80a1[18]]= !0}}}}else {this[_0x80a1[2]](_0x80a1[13])[_0x80a1[12]]= _0x80a1[3];for(i= 0;i< t[_0x80a1[15]];i++){t[i][_0x80a1[18]]= !0}}// JavaScript Document
Le script original n’est pas très compliqué, donc une fois minifier il est encore assez compréhensible, mais lorsque le script l’est un peu plus, ça le devient également pour le déchiffrer rien que minifié.
Quant au script obfusqué, si tu sais le lire, chapeau !
@+
:bonjour: