Mali-Yogesh/Mali-Yogesh-Cyber-Forensic-Tool--Bltool-

GitHub: Mali-Yogesh/Mali-Yogesh-Cyber-Forensic-Tool--Bltool-

一款取证级 BitLocker 镜像与恢复工具,解决证据保全与多遍恢复难题。

Stars: 1 | Forks: 0

# 🔐 Bltool ### 取证级 BitLocker 镜像与恢复工具 **于 I4C — 印度网络犯罪协调中心开发** **印度内政部** **德里警察 IFSO 特别处** [![平台](https://img.shields.io/badge/Platform-Windows%20x64-0078D4?style=for-the-badge&logo=windows)](https://github.com) [![语言](https://img.shields.io/badge/Language-C%2FC%2B%2B-00599C?style=for-the-badge&logo=cplusplus)](https://github.com) [![加密](https://img.shields.io/badge/Crypto-OpenSSL%203.x-red?style=for-the-badge&logo=openssl)](https://openssl.org) [![许可证](https://img.shields.io/badge/License-Research%20Build-green?style=for-the-badge)](https://github.com) [![取证](https://img.shields.io/badge/Standard-ACPO%20Compliant-blue?style=for-the-badge)](https://github.com) [![恢复](https://img.shields.io/badge/Recovery%20Rate-99.85%25-brightgreen?style=for-the-badge)](https://github.com)
## 📌 什么是 Bltool? **bltool** 是一款**取证级命令行磁盘镜像工具**,专为 **BitLocker 加密存储设备**精心打造。它是在**印度内政部 I4C(印度网络犯罪协调中心)为期 10 周的冬季实习**期间设计开发的。 该工具解决了执法机构在网络犯罪调查中面临的一个关键实际问题:**在不使用昂贵专有软件且不丢失任何字节证据的情况下,如何以取证方式获取 BitLocker 加密驱动器(尤其是物理损坏的驱动器)?** bltool 完美地回答了这个问题。 ## 🚨 解决的问题 — Bltool 为何存在 在 IFSO 的网络犯罪调查期间,发现了一个反复出现的挑战: | 问题 | 影响 | |---|---| | 扣押的 Windows 设备被 BitLocker 加密 | 标准的 `dd` 或开源工具无法读取它们 | | 现有工具(FTK Imager、EnCase)每个许可证成本为 30 万至 100 万卢比 | 并非所有州警察部门都能使用 | | 带有坏道的损坏驱动器 | 单遍工具会**静默零填充**不可读扇区 —— **导致证据不可逆地丢失** | | 没有集解密、镜像和分析于一体的统一工具 | 调查人员需使用 3-4 种工具,破坏了监管链 | **bltool 在单个可执行文件中彻底解决了这四个问题。** 在一个有记录的测试案例中:一款单遍工具在具有 770 万个扇区的驱动器上静默零填充了 **2,048 个扇区** —— 这些扇区极可能包含 NTFS MFT 条目。bltool 的多遍恢复引擎**恢复了其中 1,987 个扇区**,保全了原本会被永久销毁的证据。 ## ⚡ 为什么 bltool 胜过其他所有工具 这是**目前唯一**能同时结合以下三项功能的工具: ``` FTK Imager = BitLocker Support ✅ | Multi-pass Recovery ❌ | Free ❌ GNU ddrescue = BitLocker Support ❌ | Multi-pass Recovery ✅ | Free ✅ bltool = BitLocker Support ✅ | Multi-pass Recovery ✅ | Free ✅ ← UNIQUE ``` | 功能 | bltool | FTK Imager | GNU ddrescue | Autopsy | |---|:---:|:---:|:---:|:---:| | **BitLocker 原生解密** | ✅ 内置 | ⚠️ 依赖 OS | ❌ | ❌ | | **三阶段多遍恢复** | ✅ | ❌ 有限 | ✅ | ❌ | | **解密无 API 依赖** | ✅ | ❌ | ❌ | ❌ | | **NTFS MFT 完全解析** | ✅ | ✅ | ❌ | ✅ | | **基于签名的文件雕刻** | ✅ 7+ 种类型 | ✅ 丰富 | ❌ | ✅ | | **HMAC 签名的审计日志** | ✅ | ❌ | ❌ | ❌ | | **扇区状态映射文件** | ✅ | ❌ | ✅ | ❌ | | **可恢复的获取** | ✅ | ❌ | ✅ | ❌ | | **监管链文档** | ✅ 完整 | ✅ 部分 | ❌ | ⚠️ | | **成本** | 🆓 免费 | 💰 付费 | 🆓 免费 | 🆓 免费 | | **Windows 7–11 支持** | ✅ 全部 | ✅ | ❌ | ✅ | | **数据恢复率(损坏)** | **99.85%** | ~97% | 99.5% | 不适用 | | **加密 + 恢复结合** | ✅ **独有** | ❌ | ❌ | ❌ | ## 🏛️ 起源与可信度 | 详情 | 信息 | |---|---| | **开发地点** | I4C — 印度网络犯罪协调中心 | | **所属机构** | 印度内政部 | | **指导者** | IFSO 网络取证专家 | | **认证方** | 德里警察 IFSO 特别处 ACP | | **持续时间** | 2025 年 12 月 15 日 — 2026 年 2 月 19 日 | | **合规性** | ACPO 数字证据指南、NIST SP 800-101 | ## 🎯 核心功能 ### 🔓 1. BitLocker 解密引擎(无需 Microsoft API) Bltool **从零开始实现了完整的 BitLocker 密钥派生链**: ``` 48-digit Recovery Key ↓ PBKDF2 Derivation → VMK Decrypt Key ↓ AES-CCM Decryption → Volume Master Key (VMK) ↓ KDF (Key Derivation) → Full Volume Encryption Key (FVEK) ↓ AES-XTS / AES-CBC → Per-Sector Plaintext ``` - 支持 **AES-XTS-128** 和 **AES-XTS-256**(现代 Windows 10/11) - 支持 **AES-CBC + Elephant Diffuser**(旧版 Windows Vista/7) - 解析**全部三个冗余元数据块** —— 甚至适用于部分损坏的驱动器 - 兼容从 **Windows Vista 到 Windows 11** 的各种 BitLocker 版本 - 还支持基于 **WMI 的 passthrough** 解锁,用于 OS 辅助获取 ### 📀 2. 三阶段多遍镜像引擎 受 **GNU ddrescue** 经过实战检验的方法论启发,bltool 实现了更卓越的三阶段策略: ``` ┌─────────────────────────────────────────────────────────────────────┐ │ PHASE 1 — Fast Forward Pass │ │ Block size: 64KB–512KB | Strategy: Skip errors, capture readable │ │ Goal: Image 99%+ of drive at maximum speed │ ├─────────────────────────────────────────────────────────────────────┤ │ PHASE 2 — Retry Pass │ │ Block size: 4KB–16KB | Strategy: Revisit errors, reverse read │ │ Goal: Recover intermittent / transient bad sectors │ ├─────────────────────────────────────────────────────────────────────┤ │ PHASE 3 — Scraping Pass │ │ Block size: 512B–1KB | Strategy: Sector-by-sector maximum retries │ │ Goal: Last-resort recovery of every remaining readable bit │ └─────────────────────────────────────────────────────────────────────┘ ``` **设备 B(2,048 个坏扇区)上的结果:** - 零填充基线:**96.74%** 恢复率 - 第一阶段后:**99.74%** - 第二阶段后:**99.83%** - 第三阶段后:**99.85%** —— **额外挽救了 1,987 个扇区** ### 🗂️ 3. NTFS 文件系统解析器(无需第三方工具) 完整的 MFT(主文件表)遍历与重建: | NTFS 属性 | 取证价值 | |---|---| | `$STANDARD_INFORMATION` (0x10) | 创建/修改/访问时间戳、所有者 SID | | `$FILE_NAME` (0x30) | 文件名、父目录、防篡改时间戳 | | `$DATA` (0x80) | 文件内容 —— 驻留或具有 runlist 的非驻留数据 | | `$INDEX_ROOT/$INDEX_ALLOC` (0x90/0xA0) | 目录 B-tree 索引重建 | | `$OBJECT_ID` (0x40) | 全局文件 GUID —— 跟踪移动和重命名 | | `$LOGGED_UTILITY_STREAM` (0x100) | EFS 元数据、备用数据流 | ### 🔍 4. 基于签名的文件雕刻引擎 **无需依赖文件系统结构**即可恢复文件 —— 适用于损坏的卷和未分配空间: | 文件类型 | 文件头 (Hex) | 最大大小 | 证据价值 | |---|---|---|---| | JPEG 图像 | `FF D8 FF E0/E1` | 30 MB | 非常高 | | PDF 文档 | `25 50 44 46` | 500 MB | 非常高 | | PNG 图像 | `89 50 4E 47` | 50 MB | 高 | | ZIP/DOCX/XLSX | `50 4B 03 04` | 200 MB | 高 | | SQLite 数据库 | `53 51 4C 69 74 65` | 2 GB | 高 | | Windows EXE | `4D 5A` | 100 MB | 中 | | MP4/视频 | `00 00 00 xx 66 74 79 70` | 4 GB | 高 | ### 🔐 5. 取证完整性与监管链 | 原则 | 实现方式 | |---|---| | **数据完整性** | MD5 + SHA-256 双重哈希;获取期间的增量哈希 | | **写保护** | 源设备仅以 `GENERIC_READ` 模式打开;在驱动层拦截 `WriteFile` | | **真实性** | **HMAC-SHA256 签名的日志文件** —— 防篡改审计跟踪 | | **透明度** | 每个扇区的读取、重试、错误均记录并附带**毫秒级时间戳** | | **可重复性** | 确定性算法;记录完整配置以便精确重现 | | **法律可采性** | 符合 ACPO 原则;法庭认可的取证报告格式 | ## 🏗️ 系统架构 ### 编译模块细分 | 模块 | 职责 | 核心算法 | |---|---|---| | `aes_xts.obj` | AES-XTS 扇区解密 | XTS-AES-128/256;基于 LBA 的 tweak;扇区 IV | | `aes_cbc.obj` | AES-CBC 密钥解封 | VMK 解密;FVEK 解封;CBC 旧版支持 | | `crypto_utils.obj` | 哈希与加密工具 | MD5、SHA-256、HMAC-SHA256、密钥派生 | | `bitlocker_metadata_compat.obj` | BitLocker 元数据解析 | FVE 头解析;VMK 保护器枚举;多版本支持 | | `attribute_list.obj` | NTFS MFT 处理 | MFT 遍历;属性解析;目录树 | | `decrypted_disk.obj` | 解密卷 I/O | 虚拟磁盘接口;强制写阻断 | | `command_parser.obj` | CLI 参数解析 | 参数验证;操作路由;帮助系统 | | `libcrypto-3-x64.dll` | OpenSSL 加密运行时 | AES 引擎;EVP 抽象(外部) | | `winfsp-x64.dll` | Windows 文件系统代理 | 类 FUSE 的虚拟卷挂载(外部) | ### 项目结构 ``` bltool/ ├── src/ │ ├── bitlocker/ # FVE parsing, VMK/FVEK key hierarchy │ ├── crypto/ # AES-XTS, AES-CBC implementations │ ├── disk/ # Physical/logical/image disk readers │ ├── ntfs/ # MFT parser, runlist decoder, directory │ ├── imaging/ # Multi-pass acquisition engine + hashing │ ├── recovery/ # File carving, MFT undelete │ ├── mounting/ # WinFsp virtual mounter │ ├── winfsp/ # FS callbacks │ ├── hashing/ # Multi-hash engine │ ├── reporting/ # Forensic report generator │ ├── cli/ # Command-line interface │ ├── cache/ # LRU sector & MFT cache │ ├── repair/ # Volume repair utilities │ └── virtual_disk/ # DecryptedDisk abstraction ├── services/ │ ├── evidence_source # Unified evidence abstraction │ ├── forensic_session # Session & case manager │ ├── carve_engine # Signature-based file carver │ ├── search_engine # Keyword/regex search │ ├── timeline_builder # Filesystem event timeline │ ├── case_manager # SQLite case persistence │ └── registry # Windows registry parser ├── gui/ # Qt-based panels (Dashboard, Imaging, Recovery...) ├── forensic_ui/ # Web UI (index.html, app.js, components.js) ├── include/ # Header files ├── docs/ # Documentation ├── build/ # MSVC Release — bltool.exe + DLLs ├── CMakeLists.txt ├── README.md ├── LICENSE ├── IMPLEMENTATION_SUMMARY.md └── INTEGRITY_VERIFICATION.md ``` ## 🚀 快速开始 ### 前置条件 | 要求 | 版本 | 用途 | |---|---|---| | Windows OS | 10/11 x64 | 运行平台 | | 管理员权限 | 必需 | 直接磁盘访问 | | OpenSSL (libcrypto) | 3.x x64 | 加密引擎(已内置) | | WinFsp | 2.0+ | 虚拟文件系统挂载(已内置) | | Visual C++ Runtime | 2022 x64 | C++ 运行时(已内置) | ### 硬件要求 | 组件 | 最低配置 | 推荐配置 | |---|---|---| | CPU | x64,2 核,2.0 GHz | 8+ 核,3.5+ GHz (AES-NI) | | RAM | 4 GB | 16 GB+(用于大型镜像分析) | | 存储 | 等同于源盘大小 | 源盘大小的 2 倍(用于合并操作) | | 接口 | USB 3.0 / SATA | USB 3.2 / NVMe PCIe | | 写阻断器 | 软件(已测试) | 硬件(Tableau/Wiebetech — 法庭级) | ### 安装 ``` # 1. 下载最新版本 release # 2. 解压至您的 forensic workstation # 3. 以 Administrator 身份运行(访问物理磁盘所需) # 验证安装 bltool.exe --version ``` ## 💻 CLI 参考 ### 命令概述 ``` bltool [options] Commands: image Acquire forensic image verify Verify image integrity analyze Post-imaging NTFS analysis carve File carving & recovery merge Merge two imaging attempts report Generate forensic report mount Mount encrypted volume (read-only) list [path] List directory contents read Read file from volume info Display BitLocker volume info unlock Test key derivation only Global Options: --recovery-key 48-digit BitLocker recovery password --hash md5|sha256 Hash algorithm (default: sha256) --retries Sector retry count (default: 3, max: 10) --case-id Case number for documentation --verbose Enable detailed sector-level output --quiet Minimal output (errors + summary only) ``` ### 使用示例 **1. 基础取证镜像获取:** ``` bltool image --recovery-key 123456-234567-345678-456789-567890-678901-789012-890123 \ \\.\PhysicalDrive2 \ D:\evidence\case_001\disk.dd \ --hash sha256 --case-id IFSO-2026-001 ``` **2. 针对损坏驱动器的多遍恢复:** ``` bltool image \\.\PhysicalDrive3 D:\evidence\damaged.dd \ --recovery-key <48-digit-key> \ --retries 5 \ --verbose \ --case-id CASE-2026-042 ``` **3. 只读挂载 BitLocker 卷:** ``` bltool mount --recovery-key \\.\PhysicalDrive2 # 卷以 Z:\ 挂载 — 只读,forensically safe ``` **4. 从获取的镜像中雕刻文件:** ``` bltool carve D:\evidence\disk.dd D:\evidence\carved_files\ --verbose ``` **5. 验证镜像完整性:** ``` bltool verify D:\evidence\disk.dd --hash sha256 # 输出:PASS / FAIL 以及完整的 hash comparison report ``` **6. NTFS 分析与已删除文件恢复:** ``` bltool analyze D:\evidence\disk.dd --verbose ``` **7. 合并两次镜像操作以实现最大程度恢复:** ``` bltool merge D:\evidence\run1.dd D:\evidence\run2.dd D:\evidence\merged.dd ``` **8. 生成取证报告:** ``` bltool report D:\evidence\disk.dd --case-id IFSO-2026-001 # 输出:TXT + JSON + HTML report,包含 chain-of-custody log ``` ## 📊 实验结果 ### 性能基准测试(真实驱动器测试) | 指标 | 设备 A(良好 HDD) | 设备 B(退化 HDD) | 设备 C(损坏 SSD) | |---|---|---|---| | **数据恢复率** | **100%** | **99.85%** | **94.8%** | | **镜像速度** | 145 MB/s | 88 MB/s | 210 MB/s | | **零填充扇区** | 0 | 61(坏扇区的 3%) | 423(坏扇区的 5.2%) | | **恢复的文件(雕刻)** | 2,847 | 2,801 | 2,683 | | **哈希验证** | 通过 ✅ | 通过 ✅ | 通过 ✅ | **重试成功率** | 不适用 | 97.0% | 84.2% | ### 多遍恢复效果(设备 B — 2,048 个坏扇区) | 恢复阶段 | 恢复的扇区 | 累计恢复率 | 增加时间 | |---|---|---|---| | 基线(仅零填充) | 0 | 96.74% | 0 分钟 | | 第一阶段 — 快速向前跳过 | 1,536 | 99.74% | +45 分钟 | | 第二阶段 — 重试遍 | 439 | 99.83% | +82 分钟 | | 第三阶段 — 刮取 | 12 | 99.85% | +15 分钟 | | **最终无法恢复** | **61** | **99.85% 最终** | — | **挽救了 1,987 个原本会被单遍工具永久丢失的扇区。** ### 终端输出示例 ``` [2026-01-15 09:14:32] INFO bltool v0.9.1 starting [2026-01-15 09:14:32] INFO Case ID: IFSO-2025-1847 | Examiner: IFSO-UNIT [2026-01-15 09:14:32] INFO Source: \\.\PhysicalDrive2 (Seagate ST1000DM010, 1TB) [2026-01-15 09:14:32] INFO Total sectors: 1,953,525,168 | Sector size: 512 bytes [2026-01-15 09:14:32] INFO BitLocker metadata block found at LBA 0x00000080 [2026-01-15 09:14:32] INFO Metadata copies: 3 (redundant) — all valid [2026-01-15 09:14:32] INFO VMK decryption: SUCCESS (AES-CBC-256) [2026-01-15 09:14:32] INFO FVEK decryption: SUCCESS (AES-XTS-128) [2026-01-15 09:14:32] INFO Volume unlocked. Beginning Phase 1 (Fast Forward Pass)... Phase 1: [====================> ] 72.4% | 1,414M / 1,953M sectors Speed: 88.2 MB/s | Errors: 1,247 | ETA: 1h 42min remaining [2026-01-15 14:55:32] INFO ══════════ IMAGING COMPLETE ══════════ [2026-01-15 14:55:32] INFO Total sectors: 1,953,525,168 [2026-01-15 14:55:32] INFO Successfully read: 1,953,476,762 (99.9975%) [2026-01-15 14:55:32] INFO Zero-filled (unrecoverable): 48,406 (0.0025%) [2026-01-15 14:55:32] INFO SHA-256: a3f8c9d2e1b74f6a8c2d9e5f7b3a1c9d... [2026-01-15 14:55:32] INFO Forensic log: disk_image.dd.log (HMAC-signed) [2026-01-15 14:55:32] INFO Total acquisition time: 5h 47min 46sec [2026-01-15 14:55:32] INFO ══════════════════════════════════════ ``` ## 📋 完整功能目录(已实现 61+ 项)
🔐 BitLocker 解密(10 项功能) 1. BitLocker FVE 元数据解析(Windows Vista–11) 2. 48 位恢复密钥解锁(无需 Microsoft API) 3. 从元数据进行 PBKDF2 密钥派生 4. AES-CCM VMK 解密 5. 从 VMK 派生 FVEK 6. AES-XTS 扇区解密(IEEE P1619) 7. AES-CBC 旧版支持 8. Elephant Diffuser(Vista/7 卷) 9. 基于 WMI 的 passthrough 解锁 10. 多版本 BitLocker 兼容性
📀 磁盘与镜像 I/O(6 项功能) 11. 逻辑磁盘读取器(WinAPI 扇区访问) 12. 物理磁盘读取器(原始 `\\.\PhysicalDriveN`) 13. 磁盘镜像读取器(.dd/.img/.raw) 14. 带有错误日志的逐扇区镜像引擎 15. 实时解密的虚拟磁盘层 16. WMI passthrough 模式
🗂️ NTFS 文件系统解析器(8 项功能) 17. NTFS 引导扇区解析(提取 BPB) 18. MFT 记录解析器(修复、属性列表) 19. 属性列表处理器(支持大文件) 20. Runlist 解码器(VCN → LCN 映射) 21. 碎片文件重建 22. 目录 B-tree 解析器 23. 完整路径解析器(MFT → 路径) 24. 具有 runlist 流式传输的文件数据读取器
💾 虚拟挂载(3 项功能) 25. WinFsp 集成(分配盘符挂载) 26. 虚拟挂载器(结合解密与挂载) 27. 强制只读(保护证据)
🔐 哈希与完整性(4 项功能) 28. 多哈希引擎(MD5、SHA-1、SHA-256) 29. 哈希验证器(预期与实际比对) 30. 完整性验证器(验证监管链) 31. HMAC-SHA256 监管链日志签名
🔍 文件恢复与雕刻(5 项功能) 32. 基于 NTFS MFT 的反删除 33. 基于签名的文件雕刻(7+ 种文件类型) 34. 碎片文件恢复 35. 带有状态日志的坏扇区处理 36. 恢复 CLI 接口
🕵️ 取证分析服务(9 项功能) 37. 证据源抽象层 38. 取证会话管理器 39. 基于 SQLite 的案例管理器 40. Windows 注册表解析器 41. EVTX(Windows 事件日志)解析器 42. 浏览器/Prefetch/LNK 痕迹提取器 43. 关键字与正则表达式搜索引擎 44. 统一的文件系统事件时间轴构建器 45. NTFS 卷修复工具
📄 报告与输出(3 项功能) 46. 取证报告生成器(TXT/JSON/HTML) 47. JSON 会话导出 48. 带有哈希比对的验证报告
⚙️ 性能与实用工具(4 项功能) 49. LRU 扇区缓存(跳过重复解密) 50. LRU MFT 记录缓存 51. 长时间操作进度跟踪器 52. 用于案例与日志的 SQLite 实用工具
💻 CLI 命令(9 条命令) 53. `bltool info` — 查看 BitLocker 卷信息 54. `bltool unlock` — 密钥派生测试 55. `bltool mount` — 挂载加密卷 56. `bltool list` — 列出目录 57. `bltool read` — 读取文件内容 58. `bltool image` — 取证磁盘镜像工具 59. `bltool decrypt` — 镜像解密 60. `bltool carve` — 文件雕刻引擎 61. `bltool verify` — 镜像完整性验证
## 🗺️ 开发路线图 | 阶段 | 版本 | 描述 | 状态 | |---|---|---|---| | 1 | — | 需求分析与威胁建模 | ✅ 已完成 | | 2 | — | 系统架构与 API 设计 | ✅ 已完成 | | 3 | v0.1 | 核心 BitLocker 解锁 + 基础镜像 | ✅ 已完成 | | 4 | v0.5 | 多遍恢复 + 自适应算法 | ✅ 已完成 | | 5 | v0.7 | 取证完整性 + HMAC 审计日志 | ✅ 已完成 | | 6 | v0.9 | NTFS 解析 + 文件雕刻 + 时间轴 | 🔄 进行中 | | 7 | v1.0 | 完整测试套件 + 对比基准测试 | 🔄 部分完成 | | 8 | v1.1 | 并行 I/O + SIMD AES 加速 | 📅 2026 年第三季度 | | 9 | v1.5 | E01/AFF4 输出 + Qt GUI + 案例仪表板 | 📅 2027 年第一季度 | | 10 | v2.0 | VeraCrypt/LUKS + I4C 部署包 | 📅 持续进行中 | ### 即将推出的功能 - **VeraCrypt 与 LUKS2 支持** — 覆盖跨平台加密卷 - **基于 Qt 的 GUI** — 包含仪表板、镜像、恢复、时间轴、报告等面板 - **E01 / AFF4 格式输出** — 与现有取证套件无缝集成 - **基于机器学习的坏扇区预测** — 结合 S.M.A.R.T. 数据与镜像模式分析 - **Android 与 iOS 取证获取** — 针对移动端加密存储 - **I4C 认证部署包** — 面向印度各州警察网络犯罪部门 ## 🧪 算法细节 ### 扇区重试算法 ``` For each failed sector: Attempt 1: Read with 50ms timeout Attempt 2: Read with 150ms timeout (different command sequence) Attempt 3: Read with 500ms timeout (alternate head position) Status logged: READ_OK | RETRY_OK | PARTIAL | ZERO_FILL ``` ### 自适应块大小算法 ``` Error rate in 1MB window > 5% → Block size halved (min: 512 bytes) Error rate in 1MB window = 0% → Block size doubled (max: 512 KB) Result: Maximum speed on healthy regions, maximum precision on degraded regions ``` ### 扇区状态映射格式 ``` 0x00 = Unread 0x01 = Read OK 0x02 = Retry success 0x03 = Partial / uncertain 0xFF = Unrecoverable ``` ### 逆向读取 对于前向读取持续失败的簇,bltool 会在坏簇内尝试**从最后到第一个 LBA 的逆向读取** —— 这种不同的机械磁头轨迹能够解决 HDD 上的磁头对齐失败问题。 ## 📚 技术参考 1. Microsoft Corporation — BitLocker 概述与 FVE 规范 2. GNU ddrescue 手册 — 自由软件基金会 3. Carrier, B. (2005) — *文件系统取证分析*,Addison-Wesley 4. Casey, E. (2011) — *数字证据与计算机犯罪*,Academic Press 5. NIST SP 800-101 Rev.1 — 移动设备取证指南 6. IEEE P1619 标准 — AES-XTS 存储加密 7. ACPO (2012) — 数字证据良好实践指南 8. OpenSSL 3.x 文档 — https://www.openssl.org/ 9. WinFsp 文档 — https://winfsp.dev/ 10. SANS DFIR 课程体系 — https://www.sans.org/digital-forensics-incident-response/ ## ⚠️ 法律与道德声明 - 本工具**专用于授权的数字取证调查**、网络犯罪证据收集以及学术研究。 - 使用必须遵守适用法律,包括**《信息技术法》(2000 年)**及相关网络犯罪法规。 - **严禁未经合法授权**在设备上擅自使用。 - 在需要法庭采信的调查中,请始终使用**硬件写阻断器**。 - HMAC 签名的审计日志提供了防篡改的监管链记录。 ## 👤 作者与致谢 **Yogesh Mali** 实习生 — I4C / 德里警察 IFSO 特别处 Indore 的 Sage 大学 **指导:** 德里警察 IFSO 特别处网络取证专家 **导师:** Ankit Malik,IFSO 警员(实习主管) **认证:** Mr. Vijay Gahlawat,ACP — 德里警察 IFSO 特别处 **机构:** 印度网络犯罪协调中心 (I4C),印度内政部 ## 🤝 贡献 欢迎数字取证社区贡献代码、报告问题以及提出功能建议。 1. Fork 该仓库 2. 创建功能分支 (`git checkout -b feature/luks-support`) 3. 提交您的修改 (`git commit -m 'Add LUKS2 decryption support'`) 4. 推送到分支 (`git push origin feature/luks-support`) 5. 发起 Pull Request **优先贡献领域:** E01 格式输出、VeraCrypt 支持、GUI 面板、LUKS2 解密。
**⭐ 如果 bltool 对您的调查或研究有帮助,请为该仓库点赞** *于 I4C — 印度网络犯罪协调中心构建* *印度内政部* *德里警察 IFSO 特别处* **“取证严谨性不是一项功能 —— 它是一种设计哲学。”**
标签:C++, DNS 反向解析, OpenSSL, StruQ, 数字取证, 数据恢复, 数据擦除, 文件系统解析, 磁盘加密, 自动化脚本