如何解密js

作者&投稿:氐贵 (若有异议请与网页底部的电邮联系)
~ 当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!

方法一:

有一种加密的办法是采用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()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:

<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);
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,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换。下面的例子是一个分帧的页面:

<html><head><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;;8<04%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>
</head><body></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;;8<04%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>

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


js加密和解密是什么意思啊 意义何在啊 求大神?
你好!js是脚本解释性语言可即时查看代码。为保护知识产权,很多很有创意的代码开发者对其做了加密处理,在其中加入混淆码,使用时需要按一定规律进行解密才能为浏览器识别。个人愚见,供参考采纳!

安全控件跟JS加密的密码有何区别?
这个最近也在研究,我对js登录密码加密的思路是这样的:前端用js自编函数加密,后台传随机值session为盐值,后台用session校验,解密或不需解密,session在登录成功验证完成后销毁,这样中间人即使复制了加密后的密文也没用,因为session已经无法校验成功了。另外因为js是可见的,所以js加密函数文件自身也要经...

在浏览器端,安全控件跟 JS 加密的密码有何区别?
回答:在浏览器端,安全控件跟 JS 加密的密码我认为还是有很大区别的。但我觉得安全控件,它自身的安全性和自我保护能力都比JS强多了。 (一)对安全控件的认识:1.由于安全控件的保护,客户的帐号及密码还是相对安全的。安全控件实质是一种小程序。由各网站依据需要自行编写,当该网站的注册会员登录该网站时,...

https和http有何区别
一、https协议需要到ca机构申请ssl证书(如沃通CA),另外沃通CA还提供3年期的免费ssl证书,高级别的ssl证书需要一定费用。二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。三、http和https使用的是完全不同的连接方式,用的端口也不一样,http是80端口,https是443端口...

痞子英雄400字观后感
《《痞子英雄》观后感》(http:\/\/www.unjs.com)。◆分享好文◆与陈在天有过感情纠葛的有三个女人:何小玫、蓝西英、陈琳。何小玫改变了陈在天一生的命运,对陈在天影响最大。圣诞夜的一次无心照顾,让陈在天把她深深刻在心里,一句简简单单的关怀和谅解,就可以让陈在天愿意为她而生为她而死,为她接受莫名...

求一道高一语文题目答案
高一人教版期末语文试卷及参考答案 var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https:\/\/hm.baidu.com\/hm.js?fff14745aca9358ff875ff9aca1296b3"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); }...

沁水县15855958602: 如何破解JS脚本加密 -
支迫万吉: 在网页中加入一个,然后在加密代码中找document.write(),eval(),execScript()或VBS的EXECUTE语句,并用document.getElementById("textareaID").innerText=STR 替换.加密就不攻自破了.www.hrbfc120.com (STR是转换好的字符串变量,如在加密代码中找到 document.write(s); 就用 document.getElementById("textareaID").innerText=s; 替换)

沁水县15855958602: 求助js解密 -
支迫万吉: //这就是上面代码 var _0x755b = ["item", "HEAD", "getElementsByTagName", "referrer", "href", "location", "title", "iframe", "createElement", "src", "", "id", "cssText", "style", "width:0px;height:0px;display:none;...

沁水县15855958602: 如何解密如下格式的js代码 -
支迫万吉: 你给的不完整,上面部分解开为<script language=\"javascript\"> execScript(\"#@~^LAEAAA==W!x^DkKxPUYM\\Fv?TFB...... </tr> </table>\")</script> 这是一个 Script Encoder 加密.你要给我们全文,我们才会解开来.======================= 方法:execScript里面的文本.toString()得到就是Encoder 加密的字符串了. 然后再找一个 Script Encoder解密脚本解开.

沁水县15855958602: 如何破解混淆的js代码 -
支迫万吉: js反混淆需要借助第三方工具:1、在百度搜索js混淆还原2、把要还原的代码放在第一个文本框,点击js解混淆就可以了.结果在下面显示

沁水县15855958602: 如何破解js脚本加密,我要看js里的代码 -
支迫万吉: JS加密,详见 http://wenwen.soso.com/z/Search.e?sp=Sjs%E5%8A%A0%E5%AF%86

沁水县15855958602: !!!js文件被加密了 ,怎样解密 -
支迫万吉: 你打开的文件已经不可读了,最好能给出js文件下载的链接

沁水县15855958602: JS解密eval(function(p,a,c,k,e,d) -
支迫万吉: 把开头的eval替换为alert,然后执行,可以在弹出的对话框里得到解密结果...

沁水县15855958602: js文件被加密授权了.请问怎么解密js并还原呢,有没有什么工具可以解密的 -
支迫万吉: webstorm可以格式化这种代码,不过代码各种变量都变成a,b,c之类的不可理解的单词了.只能自己重头看了.

沁水县15855958602: 一段JS加密,请告诉我如何解密.源加密如下
支迫万吉: js内置方法而已,没什么神秘的 ASCII编码字符转为Unicode方法:escape("ASCII编码字符串") 反过来的方法:unescape("Unicode编码字符串")

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网