JSPack

Program ini berfungsi untuk meng-kompres javascript, selain ukurannya jadi lebih kecil, kodenya juga gak mudah dibaca, jadi sekalian bisa buuat enkripsi.

Pertama siapkan file Javascript ber-ekstensi *.js yang akan dikompres, kemudian buka software JSPack, pada menu Input klik tombol Browse dan arahkan pada file javascript yang akan dikompress, kemudian pada menu output klik tombol Browse dan pilih lokasi penyimpanan untuk hasil pengompressan, setelah itu klik tombol PACK.

misal ada source code javascript seperti ini (4 KB)

/**
*
* Base64 encode / decode
* http://www.webtoolkit.info/
*
**/

var Base64 = {

    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // public method for encoding
    encode : function (input) {
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;

input = Base64._utf8_encode(input);

while (i < input.length) {

chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);

enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;

if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}

output = output +
this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

}

return output;
    },

    // public method for decoding
    decode : function (input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;

input = input.replace(/[^A-Za-z0-9+/=]/g, "");

while (i < input.length) {

enc1 = this._keyStr.indexOf(input.charAt(i++));
enc2 = this._keyStr.indexOf(input.charAt(i++));
enc3 = this._keyStr.indexOf(input.charAt(i++));
enc4 = this._keyStr.indexOf(input.charAt(i++));

chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;

output = output + String.fromCharCode(chr1);

if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}

}

output = Base64._utf8_decode(output);

return output;

    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
string = string.replace(/rn/g,"n");
var utftext = "";

for (var n = 0; n < string.length; n++) {

var c = string.charCodeAt(n);

if (c < 128) {
utftext += String.fromCharCode(c);
}
else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
}
else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}

}

return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
var string = "";
var i = 0;
var c = c1 = c2 = 0;

while ( i < utftext.length ) {

c = utftext.charCodeAt(i);

if (c < 128) {
string += String.fromCharCode(c);
i++;
}
else if((c > 191) && (c < 224)) {
c2 = utftext.charCodeAt(i+1);
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
i += 2;
}
else {
c2 = utftext.charCodeAt(i+1);
c3 = utftext.charCodeAt(i+2);
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}

}

return string;
    }

}

setelah dikompres dengan JSPack akan berubah menjadi seperti ini (2 KB)

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('b'+e(c)+'b','g'),k[c]);return p}('8 H={j:"10+/=",Z:C(5){8 a="";8 t,o,m,v,u,h,f;8 i=0;5=H.N(5);G(i<5.B){t=5.k(i++);o=5.k(i++);m=5.k(i++);v=t>>2;u=((t&3)<<4)|(o>>4);h=((o&F)<<2)|(m>>6);f=m&s;l(O(o)){h=f=D}x l(O(m)){f=D}a=a+q.j.p(v)+q.j.p(u)+q.j.p(h)+q.j.p(f)}z a},Y:C(5){8 a="";8 t,o,m;8 v,u,h,f;8 i=0;5=5.M(/[^A-X-W-9+/=]/g,"");G(i<5.B){v=q.j.E(5.p(i++));u=q.j.E(5.p(i++));h=q.j.E(5.p(i++));f=q.j.E(5.p(i++));​t=(v<<2)|(u>>4);o=((u&F)<<4)|(h>>2);m=((h&3)<<6)|f;a=a+d.b(t);l(h!=D){a=a+d.b(o)}l(f!=D){a=a+d.b(m)}}a=H.L(a);z a},N:C(e){e=e.M(/rn/g,"n");8 7="";V(8 n=0;n<e.B;n++){8 c=e.k(n);l(c<y){7+=d.b(c)}x l((c>U)&&(c<T)){7+=d.b((c>>6)|S);7+=d.b((c&s)|y)}x{7+=d.b((c>>J)|K);7+=d.b(((c>>6)&s)|y);7+=d.b((c&s)|y)}}z 7},L:C(7){8 e="";8 i=0;8 c=R=w=0;G(i<7.B){c=7.k(i);l(c<y){e+=d.b(c);i++}x l((c>Q)&&(c<K)){w=7.k(i+1);e+=d.b(((c&P)<<6)|(w&s));i+=2}x{w=7.k(i+1);I=7.k(i+2);e+=d.b(((c&F)<<J)|((w&s)<<6)|(I&s));i+=3}}z e}}',62,63,'|||||input||utftext|var||output|fromCharCode||String|string|enc4||en​c3||_keyStr|charCodeAt|if|chr3||chr2|charAt|this||63|chr1|enc2|enc1|c2|else|128|​return||length|function|64|indexOf|15|while|Base64|c3|12|224|_utf8_decode|replac​e|_utf8_encode|isNaN|31|191|c1|192|2048|127|for|z0|Za|decode|encode|ABCDEFGHIJKL​MNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.split('|'),0,{}))

Kalau kurang jelas silakan lihat video tutorialnya disini
http://www.softoxi.com/jspack-video-trailer-screenshots.html

Download melalui salah satu link dibawah ini:
http://www.softpedia.com/get/Programming/Packers-Crypters-Protectors/JSPack.shtml
http://www.softoxi.com/jspack.html
http://www.downv.com/Windows/install-JSPack-10454327.htm
http://www.medownloads.com/download-JSPack-147013.htm
http://just-download.com/software-development/packerscryptersprotectors/jspack-1.0.0.zip/4097c
http://www.renasoftdownloads.com/Windows/download-JSPack-10454327.htm
http://wareseeker.com/Software-Development/jspack-1.0.0.zip/3923e00da
http://www.softwarelist.us/-819181-JSPack%201.0.0.html