在 web 端用 JS 搞了个虚拟机执行未知内容字节码,整个虚拟机还被深度混淆,黑人小伙破解了部分指令集,但目前仍然不知道它实际做了什么。
https://ibiyemiabiodun.com/projects/reversing-tiktok-pt2/
不知道是不是字节国内的高手做的啊?这技术水平有一手啊
1
des 2023-01-10 00:24:41 +08:00 1
目前仍不知道做了什么(指收集设备指纹),https://www.nullpt.rs/reverse-engineering-tiktok-vm-1
|
2
0o0O0o0O0o 2023-01-10 00:37:27 +08:00 via iPhone
几乎各个大厂各个端都有 vmp 或者别的保护手段,包括国外土生土长的大厂。
|
3
alalida 2023-01-10 00:45:24 +08:00 via Android
我觉得还好啊,也不是什么高深技术。
js 重新实现一个 runtime 来运行 js ,类似手法一直被用来做热更新,绕过各类商店的审核。拿着这东西做 js 混淆和代码保护也有业界工具的。 而看文章,其实就是 tt 做了一个浏览器端设备指纹生成的事。根据开源库的数据,只在客户端做,重复率高达 1 %以上,考虑用户基数,这个数值对于商业应用的价值一般般。 |
4
humpy OP @des #1 @0o0O0o0O0o #2 @alalida #3 感谢科普,是我见识少了😂
上次看到类似的,还是 google 的 project zero 发现的 ios 漏洞,攻击者用位运算搞了个虚拟机,当时也是开了眼界 https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html |
5
Jirajine 2023-01-10 01:39:03 +08:00
很正常,在设备指纹、用户追踪、反作弊、加固、反爬、风控、防滥用、用户粘性、深度包检测等领域,国内一直处在世界领先地位。
|
6
Eiden 2023-01-10 08:57:42 +08:00
百度贴吧的加密参数 bsk 就是 js 虚拟机跑的
|
7
gaifanking 2023-01-10 11:11:29 +08:00
其实也没那么难,就是编译原理那一套,认真学习的话可以手写递归下降生成语法树,不想手写的话也有很多编译器前端框架,比如 ANTLR 这种,学起来也比较简单。后端的话 op 的场景就是翻译为 js 执行,也没啥难度。
楼主可以自己玩玩,antlr+解释器算是最简单的入门方式了,熟悉后后端可以试试生成汇编码(也可以用 llvm ir 来做),或者基于 jvm 生成 class 等很多玩法。 再然后可以试着自己创造一门比较完善的编程语言,走出国门,走向世界,赢取白富美,走上人生巅峰。 |
8
xvnehc 2023-01-10 14:36:27 +08:00
看到“黑人小伙破解了部分指令集”忍不住笑了,有 tiktok 内味
|