chrome cookies cookie 解密 写入(80+版本)

一,历史变迁

80之前,解密:win32crypt.CryptUnprotectData(encrypted_value_bytes,None,None,None,0)[1],老文N多,自行搜索。

80开始,改了:https://github.com/chromium/chromium/blob/master/components/os_crypt/os_crypt_win.cc

AESGCM加密cookie明文

def EncryptString(key,plaintext):
    plainbytes=plaintext.encode('utf-8')
    nonce=os.urandom(12)
    aesgcm=AESGCM(key)
    cipherbytes=aesgcm.encrypt(nonce,plainbytes,None)
    data=b'v10'+nonce+cipherbytes
    #也有v11的,反正就前3字节,无影响
    return data

AESGCM的key是这么生成的:(1)随机32字节DPAPI加密(2)5字节b’DPAPI’头(3)base64编码

def generate_a_new_key():
    key=os.urandom(32)
    encrypted_key=win32crypt.CryptProtectData(key,None,None,None,None,0)
    encrypted_key_with_header=b'DPAPI'+encrypted_key
    base64_encrypted_key=base64.b64encode(encrypted_key_with_header)
    return base64_encrypted_key

二,读取解密

因此,解密就是:(1)读取数据库里的密文(字节)(2)AESGCM解密。两个路径:

Cookies文件(sqlite3 db,储存网站的cookies)
在这里插入图片描述
Local State文件(json,储存各种,key也在其中)在这里插入图片描述
python读取解密

# -*- coding=utf-8 -*-
import os
import json
import base64
import sqlite3
import</
  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值