TotalRecall - "隐私噩梦"?
这个非常简单的工具从 Windows 11 的 Recall 功能中提取并显示数据,提供了一种轻松访问您 PC 活动快照信息的方法。
什么是 Windows Recall?
2024 年 5 月 20 日,微软宣布了其新的 Copilot+ PC,运行在 ARM 架构上。 同时,他们还宣布了将于 2024 年 6 月 18 日发布的 Windows Copilot+ Recall。
使用 Recall 追溯你的足迹 跨时间搜索以找到你需要的内容。然后重新与之互动。通过 Recall,你可以探索 PC 过去的时间线。只需描述你记忆中的内容,Recall 就会找到你看到它的那一刻。任何照片、链接或消息都可以成为继续的新起点。当你使用 PC 时,Recall 会对屏幕进行快照。每当屏幕内容与上一个快照不同时,系统就会每五秒拍摄一次快照。你的快照会在本地存储并在你的 PC 上进行本地分析。Recall 的分析功能允许你使用自然语言搜索内容,包括图像和文本。想要回忆你朋友 Alice 提到的韩国餐厅的名字?只需询问 Recall,它就会检索与你的搜索相匹配的文本和视觉内容,并根据结果与搜索的匹配程度自动排序。Recall 甚至可以带你回到你看到的那个项目的确切位置。
要求
要运行或使用此功能,你需要拥有一台运行 ARM 架构的新 Copilot+ PC。可以在这里找到一些。
如果它还未发布,我该如何体验?
一些聪明的人发布了 AmperageKit,展示了如何在本地模拟这样的 ARM 机器或在 Azure 上启动一台。我选择了后者。
技术细节
本月初,微软的 CEO 给所有员工发了一封邮件,说:"如果你面临安全和其他优先事项之间的权衡,你的答案很明确:选择安全。"
那么,他们做到了吗?并非如此。Windows Recall 将所有内容以未加密的形式存储在本地的 SQLite 数据库中,截图则简单地保存在你 PC 的一个文件夹中。你可以在这里找到它们:
C:\Users$USER\AppData\Local\CoreAIPlatform.00\UKP{GUID}
所有图片都存储在以下子文件夹中: .\ImageStore\
数据库 ukg.db
的结构相对简单,但它包含了大量信息。
TotalRecall
那么这个工具做什么? TotalRecall 复制数据库和截图,然后解析数据库以查找潜在的有趣内容。你可以设定日期来限制提取范围,也可以搜索感兴趣的字符串(通过 Recall OCR 提取)。这背后没有什么高深的技术,就是非常基本的 SQLite 解析。
$ totalrecall.py -h
用法: totalrecall.py [-h] [--from_date FROM_DATE] [--to_date TO_DATE] [--search SEARCH]
提取并显示 Windows Recall 数据。
选项:
-h, --help 显示此帮助信息并退出
--from_date FROM_DATE 起始日期,格式为 YYYY-MM-DD。
--to_date TO_DATE 结束日期,格式为 YYYY-MM-DD。
--search SEARCH 文本识别数据的搜索词。
输出示例
$ totalrecall.py --search password --from_date 2024-06-04 --to_date 2024-06-05
___________ __ .__ __________ .__ .__
\__ ___/____/ |______ | |\______ \ ____ ____ _____ | | | |
| | / _ \ __\__ \ | | | _// __ \_/ ___\\__ \ | | | |
| |( <_> ) | / __ \| |_| | \ ___/\ \___ / __ \| |_| |__
|____| \____/|__| (____ /____/____|_ /\___ >\___ >____ /____/____/
\/ \/ \/ \/
v0.3 / Alexander Hagenah / @xaitax / ah@primepage.de
✅ C:\Users\alex\AppData\Local\CoreAIPlatform.00\UKP 及其所有子目录和文件的权限已修改
📁 找到 Recall 文件夹:C:\Users\alex\AppData\Local\CoreAIPlatform.00\UKP\{D87DDB65-90BE-4399-BB1B-5BEB0B1D12CB}
🟢 发现 Windows Recall 功能。是否继续提取?(yes/no): yes
📂 创建提取文件夹:C:\Users\alex\Downloads\TotalRecall\2024-06-06-21-02_Recall_Extraction
🪟 捕获的窗口:166
📸 拍摄的图片:46
🔍 搜索 'password' 的结果:32
📄 提取摘要可在以下文件中找到:
C:\Users\alex\Downloads\TotalRecall\2024-06-06-21-02_Recall_Extraction\TotalRecall.txt
📂 完整提取文件夹路径:
C:\Users\alex\Downloads\TotalRecall\2024-06-06-21-02_Recall_Extraction
TotalRecall 如何工作
- 数据提取:
- TotalRecall 将
ukg.db
数据库和ImageStore
文件夹复制到指定的提取文件夹。这确保了原始数据保持完整,同时你可以探索提取的数据。
- 数据库解析:
- 它解析 SQLite 数据库以提取潜在的有�意思的内容,如窗口标题、时间戳和图像标记。该工具会寻找符合你指定标准(如日期范围、搜索词)的条目。
- 截图管理:
- TotalRecall 将
ImageStore
文件夹中的图片文件重命名,如果它们还没有.jpg
扩展名,则添加该扩展名。这使得查看和管理截图变得更容易。
- 搜索功能:
- 你可以在数据库中搜索特定术语,利用 Windows Recall 的光学字符识别(OCR)功能。这意味着你可以找到出现在屏幕上的文本,即使它是图像中的内容。
- 输出生成:
- 该工具生成提取数据的摘要,包括捕获的窗口数量和拍摄的图片数量。它还会创建一个详细的报告文本文件,列出所有捕获的数据和搜索结果。
主要特性
- 日期过滤:
- 指定开始和结束日期,将提取限制在特定的时间范围内。
- 文本搜索:
- 在捕获的数据中搜索特定文本,轻松找到相关信息。
- 综合报告:
- 生成详细报告,总结捕获的窗口、图像和搜索结果,全部存储在
TotalRecall.txt
文件中,方便参考。
TotalRecall 提供了一种直观的方式来探索 Windows Recall 收集的数据。这绝对不是什么高深的技术。
更新日志
[2024 年 6 月 6 日] - 版本 0.3
- 权限修复:添加了
modify_permissions
函数,确保脚本有必要的权限访问和操作目标目录中的文件,使用icacls
命令。感谢 James Forshaw。
[2024 年 6 月 4 日] - 版本 0.2
- 初始发布
常见问题解答(2024 年 6 月 8 日更新)
Kevin Beaumont (@GossiTheDog) 写了一篇非常好的文章,关于 Recall 灾难的常见问题解答非常到位 - 请记住,这些内容在最终发布时可能都会改变,正如我们昨天所了解到的。