javascript加密解密终级指南

金箔银箔工艺

金箔银箔工艺

2016-01-29 11:36

javascript加密解密终级指南,&#106avascript加密解密终级指南
 

信息来源:《黑客防线》

本文一共介绍了七种方法:
一:最简单的加密解密
二:转义字符""的妙用
三:使用Microsoft出品的脚本编码器Script Encoder来进行编码 (自创简单解码)
四:任意添加NUL空字符(十六进制00H) (自创)
五:无用内容混乱以及换行空格TAB大法
六:自写解密函数法
七:错误的利用 (自创)


  在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的JAVASCRIPT代码常常被别人轻易的拷贝,实在让自己的心里有点不是滋味,要知道自己写点东西也挺累的......^*^

  但我们也应该清楚地认识到因为JAVASCRIPT代码是在IE中解释执行,要想绝对的保密是不可能的,我们要做的就是尽可能的增大拷贝者复制的难度,让他知难而退(但愿~!~),下面我结合自己这几年来的实践,及个人研究的心得,和大家一起来探讨一下网页中JAVASCRIPT代码的加密解密技术。

  以加密下面的JAVASCRIPT代码为例:
<SCRIPT LANGUAGE="JavaScript"
alert("《黑客防线》");
</SCRIPT

  一:最简单的加密解密

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

  大家对于JAVASCRIPT函数escape()和unescape()想必是比较了解啦(很多网页加密在用它们),分别是编码和解码字符串,比如例子代码用escape()函数加密后变为如下格式:
alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
 

如何?还看的懂吗?当然其中的ASCII字符"alert"并没有被加密,如果愿意我们可以写点JAVASCRIPT代码重新把它加密如下:
%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
 

呵呵!如何?这次是完全都加密了!

当然,这样加密后的代码是不能直接运行的,幸好还有eval(codeString)可用,这个函数的作用就是检查JavaScript代码并执行,必选项 codeString 参数是包含有效 JavaScript 代码的字符串值,加上上面的解码unescape(),加密后的结果如下:
<SCRIPT LANGUAGE="JavaScript"
var code=unescape("%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B");
eval(code)
</SCRIPT
 

是不是很简单?不要高兴,解密也就同样的简单,解密代码都摆给别人啦(unescape())!呵呵

  二:转义字符""的妙用

  大家可能对转义字符""不太熟悉,但对于JavaScript提供了一些特殊字符如:n (换行)、 r (回车)、' (单引号 )等应该是有所了解的吧?其实""后面还可以跟八进制或十六进制的数字,如字符"a"则可以表示为:"141"或"x61"(注意是小写字符"x"),至于双字节字符如汉字"黑"则仅能用十六进制表示为"u9ED1"(注意是小写字符"u"),其中字符"u"表示是双字节字符,根据这个原理例子代码则可以表示为:

八进制转义字符串如下:
<SCRIPT LANGUAGE="JavaScript"
eval("1411541451621645042u9ED1u5BA2u9632u7EBF425173")
</SCRIPT
 


十六进制转义字符串如下:
<SCRIPT LANGUAGE="JavaScript"
eval("x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B")
</SCRIPT
 


  这次没有了解码函数,因为JavaScript执行时会自行转换,同样解码也是很简单如下:
<SCRIPT LANGUAGE="JavaScript"
alert("x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B")
</SCRIPT
 


就会弹出对话框告诉你解密后的结果!

  三:使用Microsoft出品的脚本编码器Script Encoder来进行编码

  工具的使用就不多介绍啦!我是直接使用JavaScript调用控件Scripting.Encoder完成的编码!代码如下:
<SCRIPT LANGUAGE="JavaScript"
var Senc=new ActiveXObject("Scripting.Encoder");
var code='<SCRIPT LANGUAGE="JavaScript"rnalert("《黑客防线》");rn</SCRIPT';
var Encode=Senc.EncodeScriptFile(".htm",code,0,"");
alert(Encode);
</SCRIPT
 


编码后的结果如下:
<SCRIPT LANGUAGE="JScript.Encode"#@~^FgAAAA==@#@&lsDD`J黑客防线r#p@#@&FgMAAA==^#~@</SCRIPT
 


够难看懂得吧?但相应的解密工具早已出来,而且连解密网页都有!因为其解密网页代码过多,我就不多说拉!给大家介绍一下我独创的解密代码,如下:
<SCRIPT LANGUAGE="JScript.Encode"
function decode(){
#@~^FgAAAA==@#@&lsDD`J黑客防线r#p@#@&FgMAAA==^#~@
}
alert(decode.toString());
</SCRIPT
 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)


咋样?够简单吧?它是原理是:编码后的代码运行前IE会先对其进行解码,如果我们先把加密的代码放入一个自定义函数如上面的decode()中,然后对自定义函数decode调用toString()方法,得到的将是解码后的代码!

展开更多 50%)
分享

猜你喜欢

javascript加密解密终级指南

电脑网络
javascript加密解密终级指南

JAVASCRIPT加密解密终级指南

Web开发
JAVASCRIPT加密解密终级指南

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

javascript设计漫天雪花

电脑网络
javascript设计漫天雪花

加快图片显示(javascript)

ASP
加快图片显示(javascript)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

javascript实例教程(6) 利用javascript进行密码保护

电脑网络
javascript实例教程(6) 利用javascript进行密码保护

javascript模拟ACDSEE简单功能

电脑网络
javascript模拟ACDSEE简单功能

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《炉石传说》应对天梯环境变化解析

《炉石传说》应对天梯环境变化解析

《影之刃》武器强化攻略

《影之刃》武器强化攻略
下拉加载更多内容 ↓