开发Discord令牌防盗程序的技术疑问:病毒如何窃取令牌?
Discord令牌窃取的常见手段及技术细节
一、令牌存储的核心文件位置
病毒主要从Discord相关的LevelDB存储文件中提取加密令牌,不同版本的路径如下:
- 官方Discord客户端:
%appdata%\Discord\Local Storage\leveldb目录下的.ldb和.log文件 - Discord Canary测试版:
%appdata%\discordcanary\Local Storage\leveldb - Discord PTB公开测试版:
%appdata%\discordptb\Local Storage\leveldb - 浏览器端登录的情况(以Chrome为例):
%localappdata%\Google\Chrome\User Data\Default\Local Storage\leveldb
这些文件里的令牌并非明文,是经过加密处理的字符串。
二、令牌解密的关键逻辑
Discord在Windows平台下使用系统自带的**DPAPI(数据保护API)**对令牌进行加密,病毒的解密步骤通常是:
- 从LevelDB文件中筛选出以
dQw4w9WgXcQ:开头的加密令牌条目 - 调用Windows系统API
CryptUnprotectData进行解密——因为Discord是用当前登录用户的上下文加密令牌的,所以病毒在同一用户权限下运行时,无需额外密钥就能直接解密出明文令牌 - 解密后的明文令牌是一段长字符串,可直接用于请求Discord接口完成账号登录
三、其他常见的令牌窃取方式
除了从文件提取解密,病毒还会用这些手段:
- 内存读取:注入Discord进程,直接从内存中抓取运行时加载的未加密令牌
- 函数钩子:Hook Discord的网络请求相关函数,拦截发送令牌的请求数据
- 钓鱼诈骗:伪装成Discord官方登录页面、账号验证通知,诱骗用户主动输入令牌或账号密码
内容的提问来源于stack exchange,提问作者Filip G
相关产品推荐
相关产品推荐

