Hash 如何均衡两个.ps文件以获得相同的md5哈希

Hash 如何均衡两个.ps文件以获得相同的md5哈希,hash,md5,postscript,Hash,Md5,Postscript,我必须以某种方式均衡两个非常相似的文件,以获得相同的md5哈希。我从这部作品中获得灵感, 但我必须处理Postscript文件。我的文件如下所示: 在哪个块中,我必须添加一些数据以获得相同的文件,并获得相同的哈希值 早在2005年,两位研究人员Magnus Daum和Stefan Lucks展示了一对具有相同MD5哈希但内容不同的PostScript文件。看 他们的一对PostScript语言文件是手工制作的,格式如下: %!PS-Adobe-1.0 %%BoundingBox: 0 0 6

我必须以某种方式均衡两个非常相似的文件,以获得相同的md5哈希。我从这部作品中获得灵感,

但我必须处理Postscript文件。我的文件如下所示:


在哪个块中,我必须添加一些数据以获得相同的文件,并获得相同的哈希值

早在2005年,两位研究人员Magnus Daum和Stefan Lucks展示了一对具有相同MD5哈希但内容不同的PostScript文件。看

他们的一对PostScript语言文件是手工制作的,格式如下:

%!PS-Adobe-1.0
%%BoundingBox: 0 0 612 792                   
(ËB¶jfiM‡’â_¯Âú¡ß/ ∑ó
F~™¿T>±˚Em3¸S‡[ԆɣxRÌZ3Œ6ô
únEZRÑyÎ/ΩïıWÂv:Ïø™Ÿ µsY»2Ù},π£v‘6 ˝Ô;É°Ú}Π6SÜÿk»ÙîÙNa|ÑÄ`œoîµê)(ËB¶jfiM‡’â_¯Âú¡ß/ ∑ó
F~™¿T>±˚Em3¸S‡[ԆɣxRÌZ3Œ6ô
únEZRÑyÎ/ΩïıWÂv:Ïø™Ÿ µsY»2Ù},π£v‘6 ˝Ô;É°Ú}Π6SÜÿk»ÙîÙNa|ÑÄ`œoîµê)eq{
    % Code to print innocent document
}{
    % Code to print evil document
}ifelse
showpage
请注意,代码有两个字符串,由括号分隔
()
,并测试它们是否相等。如果它们相同,则文件将打印无辜文档。否则,它将打印邪恶的文档

打印邪恶文档的PostScript语言文档在第一个字符串中的八位字节序列略有不同:

(ËB¶jfiM‡’â_¯Âú¡ß/ ∑
F~™¿T>±˚Em3¸S‡[Ô†É#yRÌZ3Œ6ô
únE⁄RÑyÎ/ΩïıWÂv:Ïø™Ÿ µsYH2Ù},π£v‘6 ˝Ô;É°Ú}Π6SÜXk»ÙîÙNa|ÑÄ`œÔîµê)
两个文件都有相同的MD5摘要,
a25f7f0b29ee0b3968c860738533a4b9

由于您的文件包含二进制数据和所有其他内容,因此它们使用的结构对您来说不太合适。相反,您可以尝试在文件的早期部分插入这样的字符串。将其放在文件开头的文档结构约定(以
%
开头的行)之后

(0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789) pop
然后使用散列冲突查找工具确定需要替换该字符串主体中的哪些八位字节,以及需要替换哪些其他八位字节,以便使PostScript语言文件中的一个与另一个的md5散列匹配


哪个工具可以找到哈希冲突不是PostScript特有的问题,因此不在本答案的范围之内。

学校作业。必须准备两个具有相同哈希的文件,以显示MD5冲突艰难的学校!这篇文章链接到一个工具。你需要使用一个工具,这不是一件小事,所以它不是那样工作的,我只需要在特定的文件块中添加一条注释,使其具有相同的权重和长度?如果PostScript程序(看起来可疑地像是从PDF文件创建的)预期在以后工作,那么你需要添加注释(因为这些不会影响程序的运行)您需要将它们添加到一个不影响程序功能的位置,这一点比较困难。您最好将它们添加到已经是注释的行中。您尚未提供完整的示例,但我建议您查找DSC注释,其形式为%%Comment:(例如%%Page:1)谢谢你的回答。1.它是在photoshop中创建的。2.文件具有相同的权重,但:文件1:47.267字节(53 KB auf dem卷)文件2:47.267字节(49 KB auf dem卷)3.我在标题中添加了commos,但哈希是另一个。4.MD5(evil_1609910.ps)=e1635f5003b12942dcb9fa4cb0551b6a MD5(good_1609910.ps)=3d10609d366af0edbff8c3998f0b58b3 5.链接到Commons,它们是否位于正确的位置?