本文目录一览:
- 1、如何破解JS脚本加密
- 2、JS代码解密?
- 3、求JS文件的加密与解密
- 4、怎么理解js所谓的打包
- 5、如何解密js
如何破解JS脚本加密
在网页中加入一个,然后在加密代码中找document.write(),eval(),execScript()或VBS的EXECUTE语句,并用document.getElementById("textareaID").innerText=STR 替换。加密就不攻自破了。
(STR是转换好的字符串变量,如在加密代码中找到 document.write(s); 就用 document.getElementById("textareaID").innerText=s; 替换)
JS代码解密?
没法解密 一个是这种根本没法逆向,(如果是开发者的话,如果是打包的js文件,会有个map,可以还原回去,但是这种
求JS文件的加密与解密
1 最菜的办法就是通过event.button= #; #代表一个数字在不同的浏览器下
意思不同。IE下是从0-8(记得不大清了).NS下是1与2 ecmascript 同ns
这个最好破,换个浏览器就不起作用了.还可以通过按先鼠标 右键别松
在按左键,在依次防开然后可破解。
2.通过禁止一些事件触发来使其无效。如oncontextmenu="return false".(
想知道更多下本DHTMl手册就清楚了我就不多说)
这个也比较好破。应为浏览器都支持伪Js协议所以在地质栏里直接输入
Js语句即可 如 javascript:concontextmenu=return false;
或最直接的禁用Js即可破解所有。
3防另存为就是通过iframe
一般代码就是nosrciprtiframe src="#"/noscript
这个破解通过网络快车等下载工具最容易.
4.脚本加密,这个最菜的就是利用一些函数来实现.
当然现在常用的有javascript.encoder base 这些破解在网地很多.有兴趣搜下吧
怎么理解js所谓的打包
所谓打包就是将多个js文件合并,压缩,为什么需要打包呢,因为js合并之后可以减少前端js引用js的数量和体积,数量少了js加载就相对快一些。为什么会说体积也减小了呢,因为现在流行的打包工具例如webpack在打包的过程中不只是简单的把多个js文件合并成一个文件这么简单,它还会多js进行压缩,例如去掉无效的空格,替换较长的变量名函数名等,最后让你的js文件变得更小。
如何解密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()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
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
哈哈!!:=)是不是很精彩!!