Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
datadome-vm-internals — 对DataDome自定义混淆虚拟机及字节码格式的分析,揭示了字符串加密、S盒密码及浏览器指纹特征信号,用于逆向工程教育。 | Kitploit
工具/GitHubGitHub/manjustice/datadome-vm-internals
逆向工程恶意软件分析二进制分析论文与研究学习与教育反机器人
GitHubmanjustice/datadome-vm-internals

datadome-vm-internals

对DataDome自定义混淆虚拟机及字节码格式的分析,揭示了字符串加密、S盒密码及浏览器指纹特征信号,用于逆向工程教育。

查看仓库
2754个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DataDome VM

DataDome 在其捆绑包中嵌入了一个自定义虚拟机,以隐藏他们实际做的事情。我对此感到好奇,并拆解了它。在这里分享给任何对同类逆向工程谜题感兴趣的人。

DataDome 向你的浏览器发送一个高度混淆的 JavaScript 捆绑包。其中包含一个自定义虚拟机——他们将实际的指纹识别逻辑编译成私有的字节码格式,然后在运行时在该虚拟机内执行。这是对撰写本文时最新版本的分析。

本仓库不包含任何 DataDome 的代码——只有我自己的分析和工具。

使用前请阅读底部的说明。


内部有哪些有趣的东西

一旦你能读取字节码,有几样东西会特别引人注目。

字符串加密。 所有字符串都存储在一个位于字节码顶部的加密块中。每个字符串在运行时使用每项的 XOR 密钥结合表格头部中内置的种子进行解码。因此,如果不了解种子,即使读取原始字节你也一无所知。

S-box 表无处不在。 前约 20KB 的字节码几乎全部是 PUSH_N_IMM + ARRAY_FROM_STACK 序列,用于构建 256 字节的查找表。这些是 S 盒,可能用于自定义密码或 AES 轮次,用来在发送前对收集到的信号进行哈希处理。

解码字符串后实际可见的指纹识别信号:

  • Canvas:绘制矩形并读取像素值
  • WebGL:一旦解码,完整的着色器源代码就以纯文本形式呈现
  • Timing:基本上是完整的导航时间线
  • Memory:当前 JS 堆使用情况
  • Screen:尺寸和像素比
  • DOM 技巧:注入隐藏元素以测量字体渲染和布局
  • 自动化检测:经典的 webdriver 检查

说明

本项目纯粹是为了满足对自定义虚拟机混淆在实践中如何工作的好奇心。这是一个逆向工程的学习练习,而不是绕过机器人检测的工具。

你如何处理这些知识,完全取决于你自己。

下载工具