如何解密js(js加密文件破解)

2023-03-18 6:56:27 听风 思思

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!

方法一:

有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:

HTML

SCRIPT LANGUAGE="Javascript"

var Words ="%3Chtml%3E%3Cbody%20bgcolor%3D%22red%22%3E%3Cp%3E%u8FD9%u662F%u4F8B%u5B50%uFF01%uFF01%uFF1A%uFF09%3C/p%3E%3C/body%3E%3C/html%3E"

var NewWords;

NewWords = unescape(Words);

document.write(NewWords)

/SCRIPT

BODY

/BODY

/HTML

这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:

HTMLSCRIPT LANGUAGE="Javascript"

var Words ="%3Chtml%3E%3Cbody%20bgcolor%3D%22red%22%3E%3Cp%3E%u8FD9%u662F%u4F8B%u5B50%uFF01%uFF01%uFF1A%uFF09%3C/p%3E%3C/body%3E%3C/html%3E"

var NewWords;

NewWords = unescape(Words);

NewWords=NewWords.toString();

function password(){

document.pw.txtpw.value=NewWords;

}

/SCRIPT

BODY

form name=pw

input type=button onclick="password()" value="解密"

br

textarea name="txtpw" cols="100" rows="100"/textarea

/form

/BODY

/HTML

方法二:

有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换。下面的例子是一个分帧的页面:

htmlheadscript

function Carbosoft( s ) { var sRet=""; for(j=0; j s.length; j++ ){ var n= s.charCodeAt(j); if (n=8364) {n = 128;} sRet += String.fromCharCode( n - 3 ); } return( sRet ); }

var sJsCmds ="" +

"?kwpoA?khdgA?phwd#kwws0htxly@%Frqwhqw0W|sh%#frqwhqw@%wh{w2kwpo#fkduvhw@lvr0;;804%A?wlwohAZHOFRPH?2wlwohA?phwd#qdph@%JHQHUDWRU%#frqwhqw@%Plfurvriw#IurqwSdjh#613%A?phwd#qdph@%Plfurvriw#Wkhph%#frqwhqw@%qrqh/#ghidxow%A?phwd#qdph@%Plfurvriw#Erughu%#frqwhqw@%qrqh/#ghidxow%A?2khdgA?iudphvhw#erughu@%3%#iudpherughu@%3%#urzv@%-/93%A##?iudph#qdph@%pdlq%#vuf@%xs1kwp%#vfuroolqj@%dxwr%A##?iudph#qdph@%rqolqh%#vuf@%grzq1kwp%#vfuroolqj@%qr%#qruhvl}h#wdujhw@%beodqn%A##?qriudphvA##?erg|A##?sAWklv#sdjh#xvhv#iudphv/#exw#|rxu#eurzvhu#grhvq*w#vxssruw#wkhp1#?2sA##?2erg|A##?2qriudphvA?2iudphvhwA?2kwpoA?irqw#froru@%33333%A?s#doljq@%fhqwhu%A?vpdooA?irqw#idfh@%Wdkrpd%AWklv#iloh#zdv#hqfu|swhg#xvlqj#dq#xquhjlvwhuhg#yhuvlrq#ri#?d#kuhi@%kwws=22fduer{1wkhgqv1qhw2kwpohqfu|sw1kwp%AKWPO#Hqfu|sw#y413?2dA1?2irqwA?2vpdooA?2sA" +

"";

var s= Carbosoft( sJsCmds);

document.write (s);

/script

/headbody/body/html

从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:

script

function Carbosoft( s ) { var sRet=""; for(j=0; j s.length; j++ ){ var n= s.charCodeAt(j); if (n=8364) {n = 128;} sRet += String.fromCharCode( n - 3 ); } return( sRet ); }

var sJsCmds ="" +

"?kwpoA?khdgA?phwd#kwws0htxly@%Frqwhqw0W|sh%#frqwhqw@%wh{w2kwpo#fkduvhw@lvr0;;804%A?wlwohAZHOFRPH?2wlwohA?phwd#qdph@%JHQHUDWRU%#frqwhqw@%Plfurvriw#IurqwSdjh#613%A?phwd#qdph@%Plfurvriw#Wkhph%#frqwhqw@%qrqh/#ghidxow%A?phwd#qdph@%Plfurvriw#Erughu%#frqwhqw@%qrqh/#ghidxow%A?2khdgA?iudphvhw#erughu@%3%#iudpherughu@%3%#urzv@%-/93%A##?iudph#qdph@%pdlq%#vuf@%xs1kwp%#vfuroolqj@%dxwr%A##?iudph#qdph@%rqolqh%#vuf@%grzq1kwp%#vfuroolqj@%qr%#qruhvl}h#wdujhw@%beodqn%A##?qriudphvA##?erg|A##?sAWklv#sdjh#xvhv#iudphv/#exw#|rxu#eurzvhu#grhvq*w#vxssruw#wkhp1#?2sA##?2erg|A##?2qriudphvA?2iudphvhwA?2kwpoA?irqw#froru@%33333%A?s#doljq@%fhqwhu%A?vpdooA?irqw#idfh@%Wdkrpd%AWklv#iloh#zdv#hqfu|swhg#xvlqj#dq#xquhjlvwhuhg#yhuvlrq#ri#?d#kuhi@%kwws=22fduer{1wkhgqv1qhw2kwpohqfu|sw1kwp%AKWPO#Hqfu|sw#y413?2dA1?2irqwA?2vpdooA?2sA" +

"";

var s= Carbosoft( sJsCmds);

/script

form name=qq

textarea name=ww cols=100 rows=10/textarea

input onclick='ww.value=s' type=button value="解密"

/form

方法三:

有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:

HTML

BODY

SCRIPT LANGUAGE="JavaScript"

function Decode() {

d("FrfmnD");d("FruyvDFgwhqjfWnyeseysuEXpydy%whqjf~J~XWghwEXfkjJpgXDFIgwhqjfD");d("FmufyWrffjKuieqdEX?klfulfK$ajuXWwklfulfEXfubfIrfmnGWwryhgufEsx}{~}XD");d("FfqfnuDejFIfqfnuD");d("FIruyvD");d("FxkvaD");d("FIxkvaD");d("FIrfmnD");d("W");return 0;}

/SCRIPT

SCRIPT LANGUAGE="JavaScript"

function d (enc) {document.write(codeIt(key,enc));}

var key = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!\"\ \|#$%\'()*+,-.\/:;=?@[\\]^_\t\`{}~\n";function codeIt (mC, eS) {var wTG, mcH = mC.length / 2, nS = "", dv;for (var x = 0; x eS.length; x++) { wTG = mC.indexOf(eS.charAt(x));if (wTG mcH) {dv = wTG - mcH; nS = nS + mC.charAt(48 - dv);}else {dv = mcH - wTG;nS = nS + mC.charAt(48 + dv);}}return nS;}

/SCRIPT

SCRIPT LANGUAGE="JavaScript"

Decode();

/SCRIPT

/BODY

/HTML

还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:

HTML

BODY

SCRIPT LANGUAGE="JavaScript"

function Decode() {

d("FrfmnD");d("FruyvDFgwhqjfWnyeseysuEXpydy%whqjf~J~XWghwEXfkjJpgXDFIgwhqjfD");d("FmufyWrffjKuieqdEX?klfulfK$ajuXWwklfulfEXfubfIrfmnGWwryhgufEsx}{~}XD");d("FfqfnuDejFIfqfnuD");d("FIruyvD");d("FxkvaD");d("FIxkvaD");d("FIrfmnD");d("W");return 0;}

/SCRIPT

SCRIPT LANGUAGE="JavaScript"

function d (enc) {alert(codeIt(key,enc));}

var key = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!\"\ \|#$%\'()*+,-.\/:;=?@[\\]^_\t\`{}~\n";function codeIt (mC, eS) {var wTG, mcH = mC.length / 2, nS = "", dv;for (var x = 0; x eS.length; x++) { wTG = mC.indexOf(eS.charAt(x));if (wTG mcH) {dv = wTG - mcH; nS = nS + mC.charAt(48 - dv);}else {dv = mcH - wTG;nS = nS + mC.charAt(48 + dv);}}return nS;}

/SCRIPT

SCRIPT LANGUAGE="JavaScript"

Decode();

/SCRIPT

/BODY

/HTML

哈哈!!:=)是不是很精彩!!

请问一下这个javascript文件如何解密呢?

利用Windows自带功能我们就能轻松的为文件夹设定密码。

1.在Windows 9X/Me/2000中

进入要加密的文件夹,点击右键,在弹出的菜单中选择“自定义文件夹“。接下来在向导中点击“下一步”,选择“自定义”并勾选“选择或编辑该文件夹的Html模板”,在模板类型中选择“标准”,并选中“编辑该模板”,点击下一步(在Win98中稍有不同,直接在向导中选择“创建或编辑HTML文档”即可)。此时将会打开一个名为“Folder”的文本文件。在该文件中找到<script language="javascript">字段,在其下方输入以下内容(中文双引号内为注释内容,不需要输入):

var pass=prompt("Please Enter the Password");“prompt命令后的括号内输入进入文件夹后的提示用语,可以为中文。分号可省略。可此行必须单独一行”

if(pass!="123")“密码为123,也可以设置为其他密码”

{window.location="c:"}“若密码错误,则进入C盘,也可以设为别的分区,但是只能为根目录”

保存后退出该文件设置便可以起效。folder.htt文件在创建后,下次需要更改设置我们就可以直接在文件夹中找到folder.htt文件,用记事本打开后进行修改,保存后设置即可生效。若是在WinMe操作系统,则没有<script language="javascript">字段,我们要找的字段是<script>,把上面的内容放在该字段后即可。

用jQuery.md5.js加密密码后后台怎么解密???

MD5不是加密算法,它是Hash算法,所以它不可逆,也没法还原成原文。

你可以用base64、异或或者aes des等加密算法去实现。

1、base64加密

在页面中引入base64.js文件,调用方法为:

?

123456789101112131415161718

!DOCTYPE HTMLhtmlheadmeta charset="utf-8"titlebase64加密/titlescript type="text/javascript" src="base64.js"/scriptscript type="text/javascript"  var b = new Base64();  var str = b.encode("admin:admin");  alert("base64 encode:" + str);//解密  str = b.decode(str);  alert("base64 decode:" + str);/script/headbody/body/html

2、md5加密

在页面中引用md5.js文件,调用方法为

?

1234567891011121314

!DOCTYPE HTMLhtmlheadmeta charset="utf-8"titlemd5加密/titlescript type="text/ecmascript" src="md5.js"/scriptscript type="text/javascript" var hash = hex_md5("123dafd"); alert(hash)/script/headbody/body/html

3、sha1加密

据说这是最安全的加密

页面中引入sha1.js,调用方法为

?

1234567891011121314

!DOCTYPE HTMLhtmlheadmeta charset="utf-8"titlesha1加密/titlescript type="text/ecmascript" src="sha1.js"/scriptscript type="text/javascript" var sha = hex_sha1('mima123465') alert(sha)/script/headbody/body/html

一下为js们的源代码

base64.js:

?

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106

/**** Base64 encode / decode** @author haitao.tu* @date 2010-04-26* @email tuhaitao@foxmail.com**/function Base64() { // private property _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; // public method for encoding this.encode = function (input) {  var output = "";  var chr1, chr2, chr3, enc1, enc2, enc3, enc4;  var i = 0;  input = _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 +   _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +   _keyStr.charAt(enc3) + _keyStr.charAt(enc4);  }  return output; } // public method for decoding this.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 = _keyStr.indexOf(input.charAt(i++));   enc2 = _keyStr.indexOf(input.charAt(i++));   enc3 = _keyStr.indexOf(input.charAt(i++));   enc4 = _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 = _utf8_decode(output);  return output; } // private method for UTF-8 encoding _utf8_encode = function (string) {  string = string.replace(/\r\n/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; }}

前端js 加密解密方式

一、base64加密

使用JS函数的window.btoa()和 window.atob(),分别是编码和解码

二、编码和解码字符串

使用JS函数的escape()和unescape(),分别是编码和解码

三、AES加密解密

四、RSA加密解密

【uniapp】Vue.js CryptoJs 中的 3des 加密解密

或者手动导入工程里加密文件

注意加密方法是【TripleDES】不是【DES】

解密只支持 Base64 解密方式,如果是16进制的字符串,需要把16进制转换成base64 再解密。

好多人写完不知道加密的是否正确,下面提供一个 3des 加密例子

反之,解密后能获取原字符串,即成功了。

如果你加密是下面的结果,那么就是加密方式错了,注意使用【CryptoJS.TripleDES】而不是【CryptoJS.DES】

使用DES加密方式的结果

如何破解js 加密

在网页中加入一个,然后在加密代码中找document.write(),eval(),execScript()或VBS的EXECUTE语句,并用document.getElementById("textareaID").innerText=STR 替换。加密就不攻自破了。

(STR是转换好的字符串变量,如在加密代码中找到 document.write(s); 就用 document.getElementById("textareaID").innerText=s; 替换)