Donnez vie à vos documents numériques !
 

Répondre à : Protection PDF

abracadabraPDF Forums PDF – Général Protection PDF Répondre à : Protection PDF

#67648
bebarth
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}

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: