跟踪点提取、解码和匿名工具包
deda的Python项目详细描述
DEDA-跟踪点提取、解码和匿名工具包
文档颜色跟踪点或黄点是对打印机和/或打印输出本身的信息进行编码的小系统点。几乎每台商用彩色激光打印机都集成了这一过程。这意味着几乎每个打印输出都包含源设备的编码信息,如序列号。
一方面,这个工具提供了读取和解码这些法医特征的可能性,另一方面,它允许匿名以防止任意跟踪。
如果您使用此软件,请引用论文: 蒂莫·里克特、斯蒂芬·埃舍尔、达格玛·舍恩菲尔德和托尔斯滕·斯特鲁夫。2018年。法医分析和打印文件的匿名化。在第六届ACM信息隐藏和多媒体安全研讨会(IH&MMSEC'18)会议记录中。ACM,纽约,纽约,美国,127-138。doi:https://doi.org/10.1145/3206004.3206019
安装
- 安装python 3
- 安装deda
来自PYPI:
$ pip3 install --user deda
或从当前目录:
$ pip3 install --user .
- deda_anonmask_apply的可选要求(仅限gnu/linux):
$ pip3 install wand
图形用户界面
- 要打开图形用户界面,请键入:
$ deda_gui
终端应用程序
1.读取跟踪数据
$ pip3 install --user deda
或从当前目录:
$ pip3 install --user .
$ pip3 install wand
- 要打开图形用户界面,请键入:
$ deda_gui
终端应用程序
1.读取跟踪数据
跟踪数据可以读取,有时可以从扫描图像中解码。为了获得良好的结果,输入应使用无损压缩(例如PNG)和300 dpi。确保设置中性对比度
$ deda_parse_print INPUTFILE
2。在一组扫描的文档中查找发散打印机
$ deda_compare_prints INPUT1 INPUT2 [INPUT3] ...
3。分析未知的跟踪模式
parse_print可能无法识别新模式。点可以被提取出来
以便进一步分析。$ deda_extract_yd INPUTFILE
4。创建自己的跟踪点
如果要创建自己的跟踪点矩阵并将其添加到PDF中
文档,将内容作为参数传递(请参见deda_create_dots -h
)。
$ deda_create_dots PDFINPUT
校准页($ deda_anonmask_create -w
)可用作输入。
5。匿名扫描图像
这(主要)从扫描中删除跟踪数据:$ deda_clean_document INPUTFILE OUTPUTFILE
6。匿名打印文档
将文档另存为pdf文件并将其命名为document.pdf。
打印由
创建的testpage.pdf文件$ deda_anonmask_create -w
没有页边空白。扫描文档(300 dpi)并将无损文件传递到
$ deda_anonmask_create -r INPUTFILE
这将创建“mask.json”,即单个打印机的匿名掩码。现在应用匿名掩码:
$ deda_anonmask_apply mask.json DOCUMENT.PDF
这将创建匿名文档“masked.pdf”。它可以用 零页边距设置。
使用
显微镜。掩模的点半径、X和Y偏移量可以定制
作为参数传递给deda_anonmask_apply
。
请注意,如果document.pdf包含带有白色或浅色部分的图形,则仅当安装了“Wand”时才能遮住这些部分(请参见上文)。
故障排除
deda_parse_print:未找到命令
可能的解决方案:
- 根据第0章安装DEDA
- 执行
$ export PATH="$PATH:$(python -c 'import site,os; print(os.path.join(site.USER_BASE, "bin"))')"
DEDA无法识别我的跟踪点
设置扫描程序,使其不会消除纸张结构,也不会按某个阈值跟踪点,然后再次检查。请记住,单色页面和喷墨打印可能不包含跟踪点。
我的打印机不打印跟踪点。我能隐瞒这个事实吗?
如果真的没有跟踪点,您可以创建自己的跟踪点(deda_create_dots
),或者使用另一台打印机打印校准页(deda_anonmask_create -w
),并将掩码用于自己的打印机。您可以使用匿名版本的跟踪点,也可以复制它们(deda_anonmask_create --copy
)。参见“匿名打印文档”和“创建自己的tr”章节回纹点”。
这可能是由gui所需的eel依赖性引起的。尝试
$ sudo apt-get install build-essential autoconf libtool pkg-config python3.6-dev gcc && pip3 install --user eel