开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 725|回复: 10
收起左侧

[其它源码] 千牛获取本地cookie解密新

[复制链接]
结帖率:88% (37/42)
发表于 2025-3-10 21:04:06 | 显示全部楼层 |阅读模式   上海市上海市
分享源码
界面截图: -
是否带模块: -
备注说明: -
在论坛里看见别的兄弟分享了一份,但是cookie换了位置,就稍微研究了下,结果对我好像没啥用。。。。因为如果登录了千牛那个cookie文件就被占用了,所以这份代码要千牛退出登录的时候才可以获取,要不然会出错。。。。看看哪个兄弟有没有好的办法,写的是python代码,可以搜一下chrome cookie本地解密,然后套一下就好了,cookie新的位置在C:\Users\ASUS\AppData\Local\QianniuTemp,这里面有个network目录里面有cookie文件,在刚刚那个目录下有LocalPrefs.json里面有密钥

import os
import json
import base64
import sqlite3
from win32crypt import CryptUnprotectData
from Crypto.Cipher import AES
import re
# Chrome 文件路径
chrome_cookies_path =os.path.join(os.getenv('LOCALAPPDATA'), 'QianniuTemp')
chrome_local_state_path = os.path.join(os.getenv('LOCALAPPDATA'), 'QianniuTemp', 'LocalPrefs.json')
pattern = re.compile(r'^\d+$')

# 获取加密密钥
def get_encryption_key():
    with open(chrome_local_state_path, 'r', encoding='utf-8') as f:
        local_state = json.loads(f.read())

    encrypted_key = base64.b64decode(local_state.get('os_crypt', {}).get('encrypted_key'))
    encrypted_key = encrypted_key[5:]  # 去掉前缀 'DPAPI'
    return CryptUnprotectData(encrypted_key, None, None, None, 0)[1]

# 解密 Cookie
def decrypt_cookie(encrypted_value, key):
    try:
        if encrypted_value.startswith(b'v10') or encrypted_value.startswith(b'v11'):
            # AES 解密
            iv = encrypted_value[3:15]  # 提取 IV
            payload = encrypted_value[15:]  # 提取加密数据
            cipher = AES.new(key, AES.MODE_GCM, iv)
            decrypted_data = cipher.decrypt(payload)
            return decrypted_data[:-16].decode('utf-8')  # 去掉尾部认证标签
        else:
            # DPAPI 解密
            return CryptUnprotectData(encrypted_value, None, None, None, 0)[1].decode('utf-8')
    except Exception as e:
        print(f"解密失败: {e}")
        return None

# 主函数
def main():
    # 获取加密密钥
    Cookies=""
    key = get_encryption_key()

    # 连接到 Chrome Cookie 数据库
    lib=enumerate_numeric_directories(chrome_cookies_path)
    for i in lib:
        cookie=""
        conn = sqlite3.connect(i+"\\Network\\Cookies")

        cursor = conn.cursor()

    # 查询 Cookie
        cursor.execute('SELECT host_key, name, encrypted_value FROM cookies')
        for host_key, name, encrypted_value in cursor.fetchall():
            decrypted_value = decrypt_cookie(encrypted_value, key)
            if host_key==".taobao.com":
                cookie=cookie+name+"="+decrypted_value+"; "
        Cookies=Cookies+cookie+"\n"


    # 关闭连接
        cursor.close()
        conn.close()
    print(Cookies)
    # 文件路径
    file_path = 'output.txt'



    # 打开文件并写入数据
    with open(file_path, 'w', encoding='utf-8') as f:
        f.writelines(Cookies)  # 写入多行数据

    print(f"数据已写入文件: {file_path}")
# 枚举纯数字目录
def enumerate_numeric_directories(directory):
    numeric_dirs = []
    try:
        # 遍历目标目录
        for entry in os.listdir(directory):
            full_path = os.path.join(directory, entry)
            # 检查是否为目录且目录名为纯数字
            if os.path.isdir(full_path) and pattern.match(entry):
                numeric_dirs.append(full_path)
    except FileNotFoundError:
        print(f"目录未找到: {directory}")
    except Exception as e:
        print(f"枚举目录时出错: {e}")
    return numeric_dirs
if __name__ == '__main__':
    main()





结帖率:78% (18/23)
发表于 2025-3-17 09:19:17 | 显示全部楼层   广东省广州市
有人说占用的问题,我觉得可以用文件监听+复制来解决。
回复 支持 反对

使用道具 举报

结帖率:78% (18/23)
发表于 2025-3-17 09:18:29 | 显示全部楼层   广东省广州市

这是一条广告,也是一条思路
回复 支持 反对

使用道具 举报

结帖率:93% (37/40)

签到天数: 2 天

发表于 2025-3-17 04:34:41 | 显示全部楼层   湖南省怀化市
1043603367 发表于 2025-3-14 10:27
取实时cookie的,不是取缓存的,不知道是不是你口中更好的方案。https://www.showdoc.com.cn/sainiu/115584 ...

给你的广告点赞
回复 支持 反对

使用道具 举报

结帖率:78% (18/23)
发表于 2025-3-14 10:27:16 | 显示全部楼层   广东省广州市
取实时cookie的,不是取缓存的,不知道是不是你口中更好的方案。https://www.showdoc.com.cn/sainiu/11558406231125516
回复 支持 反对

使用道具 举报

结帖率:80% (8/10)

签到天数: 2 天

发表于 2025-3-12 08:58:28 | 显示全部楼层   河南省新乡市
6666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:95% (98/103)

签到天数: 2 天

发表于 2025-3-11 15:38:08 | 显示全部楼层   内蒙古自治区通辽市
学习一下
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2025-3-11 12:04:24 | 显示全部楼层   广东省深圳市
学习一下
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2025-3-11 11:23:07 | 显示全部楼层   重庆市重庆市
可以占用问题不知道如何解决~
回复 支持 反对

使用道具 举报

结帖率:88% (7/8)
发表于 2025-3-11 10:36:14 | 显示全部楼层   黑龙江省大庆市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表