探索Chrome数据存储的利器:ccl_chrome_indexeddb

探索Chrome数据存储的利器:ccl_chrome_indexeddb

ccl_chromium_reader (Sometimes partial) Python re-implementations of the technologies involved in reading various data sources in Chrome-esque applications. ccl_chromium_reader 项目地址: https://gitcode.com/gh_mirrors/cc/ccl_chromium_reader

项目介绍

ccl_chrome_indexeddb 是一个强大的开源项目,旨在通过Python重新实现Chrome/Chromium及其类似应用程序中使用的多种数据存储技术。该项目不仅提供了对这些数据存储的编程访问,还特别注重数字取证的角度,例如为大多数数据提供偏移量或ID,以便用户可以手动检查这些数据。

项目技术分析

ccl_chrome_indexeddb 支持多种技术,包括:

  • Snappy解压缩
  • LevelDB
  • Protobuf
  • Pickles
  • V8对象反序列化
  • Blink对象反序列化
  • IndexedDB
  • Web Storage(Local Storage和Session Storage)
  • Cache(Block File和Simple格式)
  • SNSS Session文件(部分支持)
  • FileSystem API
  • Notifications API(平台通知)
  • Downloads(从shared_proto_db)

此外,项目还包含多个实用脚本,如 ccl_chromium_cache.pyccl_chrome_audit.py,用于命令行工具和数据扫描。

项目及技术应用场景

ccl_chrome_indexeddb 适用于以下场景:

  • 数字取证:通过提供数据的偏移量和ID,帮助取证专家手动检查数据。
  • Web应用研究ccl_chrome_audit.py 工具可以扫描Chrome数据存储,快速定位与特定域名相关的数据,有助于研究Web应用的数据存储方式。
  • 数据分析:通过Python脚本访问和处理Chrome数据存储,进行数据分析和挖掘。

项目特点

  • 多技术支持:涵盖了Chrome数据存储中的多种技术,提供全面的访问和处理能力。
  • 数字取证导向:特别注重数据的偏移量和ID,方便手动检查和验证。
  • 实用脚本:包含多个实用脚本,如命令行工具和数据扫描工具,方便用户快速上手和使用。
  • Python 3.10支持:代码基于Python 3.10编写和测试,确保最新的语言特性和性能优化。

使用示例

使用Wrapper API

import sys
import ccl_chromium_indexeddb

# 假设命令行参数是.leveldb和.blob文件夹的路径
leveldb_folder_path = sys.argv[1]
blob_folder_path = sys.argv[2]

# 打开IndexedDB
wrapper = ccl_chromium_indexeddb.WrappedIndexDB(leveldb_folder_path, blob_folder_path)

# 检查存在的数据库
for db in wrapper.database_ids:
    print(db)

# 访问数据库
db = wrapper["MyTestDatabase", "file__0@1"]

# 检查对象存储名称
for store_name in db.object_store_names:
    print(store_name)

# 访问对象存储
obj_store = db["store"]

# 迭代记录
for record in obj_store.iterate_records():
    print(record.user_key)
    print(record.value)

使用Raw Access API

import sys
import ccl_chromium_indexeddb

# 假设命令行参数是.leveldb和.blob文件夹的路径
leveldb_folder_path = sys.argv[1]
blob_folder_path = sys.argv[2]

# 打开数据库
db = ccl_chromium_indexeddb.IndexedDb(leveldb_folder_path, blob_folder_path)

# 迭代数据库
for db_id_meta in db.global_metadata.db_ids:
    max_objstore_id = db.get_database_metadata(
        db_id_meta.dbid_no, 
        ccl_chromium_indexeddb.DatabaseMetadataType.MaximumObjectStoreId)
    
    if max_objstore_id is None:
        continue

    # 迭代对象存储
    for obj_store_id in range(1, max_objstore_id + 1):
        for record in db.iterate_records(db_id_meta.dbid_no, obj_store_id):
            print(f"key: {record.user_key}")
            print(f"key: {record.value}")

通过 ccl_chrome_indexeddb,您可以轻松访问和处理Chrome数据存储中的各种数据,无论是用于数字取证、Web应用研究还是数据分析,都能得心应手。快来尝试吧!

ccl_chromium_reader (Sometimes partial) Python re-implementations of the technologies involved in reading various data sources in Chrome-esque applications. ccl_chromium_reader 项目地址: https://gitcode.com/gh_mirrors/cc/ccl_chromium_reader

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

富艾霏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值