JS奇淫技巧:alert有几种写法?

JS奇淫技巧:alert有几种写法?相信很多人初学 JS 时 就是从写 alert 入手吧 起码我就是这样 写的第一行代码就是 alert alert 真的如此简单吗

大家好,欢迎来到IT知识分享网。

JS奇淫技巧:alert有几种写法?

对于JS程序员,alert人人都会。

相信很多人初学JS时,就是从写alert入手吧,起码我就是这样,写的第一行代码就是alert。

alert真的如此简单吗?

可以很简单,也可以很复杂,复杂到你认不出它是alert。

今天,来探究一下alert的写法。

最常规的写法:

alert(“jshaman.com”);

对它进行一些变形,将字符串的每个字母存放到数组中,并拼合:

var $ = [“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”, “m”, “n”, “o”, “p”, “q”, “r”, “s”, “t”, “u”, “v”, “w”, “x”, “y”, “z”, “(“, “)”, “‘”, “\””, “[“, “]”, “.”];

alert($[9]+$[18]+$[7]+$[0]+$[12]+$[0]+$[13]+$[32]+$[2]+$[14]+$[12]);

执行效果:

JS奇淫技巧:alert有几种写法?

虽然增加了难度,但也并不复杂。

继续增加难度,使用构造函数进行执行:

var $ = [“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”, “m”, “n”, “o”, “p”, “q”, “r”, “s”, “t”, “u”, “v”, “w”, “x”, “y”, “z”, “(“, “)”, “‘”, “\””, “[“, “]”, “.”];

[].constructor.constructor(alert($[9]+$[18]+$[7]+$[0]+$[12]+$[0]+$[13]+$[32]+$[2]+$[14]+$[12]))();

执行效果:

JS奇淫技巧:alert有几种写法?

将构造执行中的alert也利用数组隐藏掉:

var $ = [“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”, “m”, “n”, “o”, “p”, “q”, “r”, “s”, “t”, “u”, “v”, “w”, “x”, “y”, “z”, “(“, “)”, “‘”, “\””, “[“, “]”, “.”];

[].constructor.constructor($[0]+$[11]+$[4]+$[17]+$[19]+$[26]+$[29]+$[9]+$[18]+$[7]+$[0]+$[12]+$[0]+$[13]+$[32]+$[2]+$[14]+$[12]+$[29]+$[27])();

执行效果:

JS奇淫技巧:alert有几种写法?

再增加难度,将构造函数也利用数组隐藏掉:

var $ = [“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”, “m”, “n”, “o”, “p”, “q”, “r”, “s”, “t”, “u”, “v”, “w”, “x”, “y”, “z”, “(“, “)”, “‘”, “\””, “[“, “]”, “.”];

[][$[2]+$[14]+$[13]+$[18]+$[19]+$[17]+$[20]+$[2]+$[19]+$[14]+$[17]][$[2]+$[14]+$[13]+$[18]+$[19]+$[17]+$[20]+$[2]+$[19]+$[14]+$[17]]($[0]+$[11]+$[4]+$[17]+$[19]+$[26]+$[29]+$[9]+$[18]+$[7]+$[0]+$[12]+$[0]+$[13]+$[32]+$[2]+$[14]+$[12]+$[29]+$[27])();

执行效果:

JS奇淫技巧:alert有几种写法?

这时的alert已非常隐秘:

JS奇淫技巧:alert有几种写法?

图中标识的写法,其原理类似于aaencode、jsfack等。

在此基础上再进一步优化,便可实现一个不错的代码加密算法。

回到正题,此时,还能再进一步增强难度吗?

可以。

将上述代码,使用JShaman进行混淆加密:

JS奇淫技巧:alert有几种写法?

配置中使用以下选项:

JS奇淫技巧:alert有几种写法?

JShaman是专业的混淆加密工具,经此处理,得到以下代码:

JS奇淫技巧:alert有几种写法?

这时的代码中,数组字符内容经编码得到进一步隐藏,数组下标也加密了。

执行效果:

JS奇淫技巧:alert有几种写法?

可复制代码执行试试:

var $ = [“\u0061”, “\u0062”, “\u0063”, “\u0064”, “\u0065”, “\u0066”, “\u0067”, “\u0068”, “\u0069”, “\u006a”, “\u006b”, “\u006c”, “\u006d”, “\u006e”, “\u006f”, “\u0070”, “\u0071”, “\u0072”, “\u0073”, “\u0074”, “\u0075”, “\u0076”, “\u0077”, “\u0078”, “\u0079”, “\u007a”, “\u0028”, “\u0029”, “\u0027”, “\u0022”, “\u005b”, “\u005d”, “\u002e”];

[][$[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ]][$[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ]]($[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ] + $[ ^ ])();

遇到这样的代码,你还能认出它是alert吗?

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/161736.html

(0)
上一篇 2024-12-11 21:26
下一篇 2024-12-11 21:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信