1
muzuiget 2021-07-13 21:56:11 +08:00 1
无非就是定义一个变量而已,后面的代码肯定拿来解析,你当它下载一个 zip 文件就是,里面可以是任何数据,图片、样式、脚本都可以。
|
2
zhaiblog 2021-07-14 00:43:01 +08:00 via iPhone
chromw 打个断点就知道了
|
4
wyx119911 2021-07-14 01:07:25 +08:00
都是提高门槛的操作,可以把代码的抽象语法数进行变换加密
|
5
x4storm 2021-07-14 01:42:51 +08:00
像这种么 aem1k.com/world
|
6
ysc3839 2021-07-14 03:40:37 +08:00 2
简单分析了一下,原数据不是 js 代码,是 JSON 数据。
那个变量名第一个字符是随机的,第二个字符固定是 i,后面跟着的是域名倒序的 MD5 值,变量名这么处理猜测是为了反爬虫。 后面的字符串中 '.' 会先被替换为 't',然后去掉开头 16 个字符,再用非标准的 Base64 解码。 这就只是一个非常简单的编码,依靠算法保密来“保密”,大概只是为了防一些自动化的爬虫,人工分析一下全都出来了。 |
7
stkstkss 2021-07-14 09:04:37 +08:00
B 站昨晚崩了 打脸吗
|
8
Dididadada 2021-07-14 09:40:50 +08:00
https://www.obfuscator.io/
是这个东西吧,之前用过一两次,能跑,但性能差很多 |
9
cheng6563 2021-07-14 09:59:11 +08:00 1
这不就是加壳
|
10
lizhenda 2021-07-14 10:06:35 +08:00
蛮有意思的,这个加密是为了加密啥,资源吗?看起来不像加密代码
|
11
libook 2021-07-14 10:32:03 +08:00
防机器人不防小人,对付机器人足够了。
如果对前端闭源感兴趣可以了解一下 WebAssembly 。 |
12
FaiChou 2021-07-14 15:11:25 +08:00
我见过这种的劫持代码:
``` ['son']["\x66\x69\x6c\x74\x65\x72"]["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"](((['son']+[])["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"]['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']['\x61\x70\x70\x6c\x79'](null,"xxxxxxxx...xxx"['\x73\x70\x6c\x69\x74'](/[a-zA-Z]{1,}/))))('son'); ``` 16 进制转成 string 是以下代码, 依然非常模糊 ``` ['son']["filter"]["constructor"](((['son'] + [])["constructor"]['fromCharCode']['apply'](null, "xxxxxxxx...xxx"['split'](/[a-zA-Z]{1,}/))))('son'); ``` 拆解下: ``` (['son'] + [])["constructor"] ``` 上面👆这个其实是个构造器 `f String() {}` ``` "xxxxxxxx...xxx"['split'](/[a-zA-Z]{1,}/) ``` 上面👆执行的是 str.split(/[a-zA-Z]{1,}/) 将 str 的字母部分拿掉, 剩下的用数组形式代表, 以字母切割的数组 `String.fromCharCode([88, 111, 222....])` 最终翻译成就是普通的 js 代码了. |
13
qinghuida1997 OP @muzuiget 受教了,谢谢讲解
|
14
qinghuida1997 OP |
15
qinghuida1997 OP @wyx119911 提高门槛的操作...在下格局小了,惭愧惭愧
|
16
qinghuida1997 OP @x4storm 不错,开头 eval 就暴露了,一目了然过于简单(* ̄ 0  ̄)
|
17
qinghuida1997 OP @ysc3839 非常大佬的详细讲解
|
18
qinghuida1997 OP @stkstkss 不明所以...
|
19
qinghuida1997 OP @Dididadada 用过一次,不在乎性能其他的用这个加密还是可以的
@lizhenda 这就是问题的关键了... @libook 听说过 WebAssembly,但没有深入研究了解 @FaiChou 劫持加密?感谢提供详解... |
20
qinghuida1997 OP @ysc3839 非常感谢大佬的详细讲解
|