Facebook自动添加IPTC元数据到上传的图片

97

许多在Facebook上上传的图像都包含IPTC / IIM字段,这些字段显然是在上传过程中自动添加的:

  • 特殊指令,一个以"FBMD"开头的字符串
  • 原始传输参考

例如,此(个人)图像已上传到Facebook并使用Jeffrey's Exif Viewer进行解码:

http://exif.regex.info/exif.cgi

这是什么?


8
“这是什么?”- 这是你需要问Facebook的东西... - CBroe
2
顺便问一下,是否有可能不使用工具或API(如Jeffrey的Exif Viewer)查看IPTC数据?即在十六进制查看器中查看?或者至少通过检查二进制图像文件来检查是否存在IPTC数据?(例如,在能够显示十六进制内容的文本编辑器中)。到目前为止,我一直没有成功找到答案。+1个好问题。 - Not So Sharp
我目前正在尝试找出相同的内容,即此元数据字段中编码的内容。由于我一直在字节级别上工作,所以我可以告诉你,在FBMD之后,你会发现数字以字母数字文本形式呈现(全部在ASCII集合内)。因此,它只是文本,在我的测试案例中长度为94个字节,但我还无法破解它们以查看存储的内容。 - bconstanzo
@bconstanzo,这看起来并不像我的情况中的ASCII字符,因为有很多行都是零。 - MaKiPL
1
相关链接:https://twitter.com/oasace/status/1149181539000864769 - kenorb
显示剩余2条评论
2个回答

49
根据这个网站的说法: 特别说明 [IPTC Core] 是旧的IPTC IIM模式下的替代标签,用于“说明”。 说明 [IPTC Core] 这是一个简单的文本字段,可以包括来自照片提供者或创建者的多种说明,以便照片的接收者使用。可能包括以下内容:禁运(例如:新闻杂志禁止发布)和其他权利/限制等,而这不属于权利/限制相关领域的条款(或新PLUS权利相关领域);原始捕获方式(扫描笔记、颜色配置文件等)或其他用户需要进行准确再现的特定文本信息;在发布时需要的其他权限或信贷。注意:此字段与Adobe Photoshop文件信息对话框中“来源”面板中的“说明”字段共享。
示例:*仅可使用一次的图像,作为内页图片出现在英语版本杂志上,颜色不超过全页大小。必须事先与Julie Doe / XYZ Agency商讨其他第三方权利。未明示授权的所有权利均有保留。请参阅交货备忘录以获取特定许可证。
仅供考虑;未经事先书面许可,不得以任何形式复制。*
这是国际新闻电讯委员会(IPTC)信息交换模型(IIM)标准。
我无法解码Facebook的数据,但将图像粘贴、下载并重新粘贴会略微更改数据。
使用IrfanView在没有IPTC数据的JPG中设置特殊说明为“testing”,将这些字节添加到头部: hexed.it screenshot of added IPTC data in JPG 我已经下载了339张指令长度为94的图片,FBMD后面的字节保持不变。
0 {'0': 339}
1 {'1': 339}
2 {'0': 339}
3 {'0': 339}
4 {'0': 339}
5 {'a': 339}
8 {'0': 339}
9 {'3': 339}
10 {'0': 339}
11 {'0': 339}
12 {'0': 339}
13 {'0': 339}
18 {'0': 339}
19 {'0': 339}
20 {'0': 339}
21 {'0': 339}
26 {'0': 339}
27 {'0': 339}
28 {'0': 339}
29 {'0': 339}
34 {'0': 339}
35 {'0': 339}
36 {'0': 339}
37 {'0': 339}
42 {'0': 339}
43 {'0': 339}
44 {'0': 339}
45 {'0': 339}
50 {'0': 339}
52 {'0': 339}
53 {'0': 339}
58 {'0': 339}
60 {'0': 339}
61 {'0': 339}
66 {'0': 339}
68 {'0': 339}
69 {'0': 339}
74 {'0': 339}
76 {'0': 339}
77 {'0': 339}
82 {'0': 339}
84 {'0': 339}
85 {'0': 339}
90 {'0': 339}
92 {'0': 339}
93 {'0': 339}

我也发现了3张图片,其中只有86个神秘字节在FBMD后面,例如:23000986030000f91d0000e5230000502900004889000041ac000004c900007aee0000cf0f0100f02d0100,这些图片是在过去几个月保存的。同样的字节:

0 {'2': 3}
1 {'3': 3}
2 {'0': 3}
3 {'0': 3}
4 {'0': 3}
5 {'9': 3}
6 {'8': 3}
8 {'0': 3}
9 {'3': 3}
10 {'0': 3}
11 {'0': 3}
12 {'0': 3}
13 {'0': 3}
16 {'1': 3}
18 {'0': 3}
19 {'0': 3}
20 {'0': 3}
21 {'0': 3}
26 {'0': 3}
27 {'0': 3}
28 {'0': 3}
29 {'0': 3}
34 {'0': 3}
35 {'0': 3}
36 {'0': 3}
37 {'0': 3}
42 {'0': 3}
43 {'0': 3}
44 {'0': 3}
45 {'0': 3}
50 {'0': 3}
51 {'0': 3}
52 {'0': 3}
53 {'0': 3}
58 {'0': 3}
59 {'0': 3}
60 {'0': 3}
61 {'0': 3}
66 {'0': 3}
67 {'0': 3}
68 {'0': 3}
69 {'0': 3}
74 {'0': 3}
76 {'0': 3}
77 {'0': 3}
82 {'0': 3}
84 {'0': 3}
85 {'0': 3}
86 {'\x00': 3}

这篇博客文章 似乎对此有更多了解:

在2014年11月13日,Facebook引入了一个新的跟踪代码,它出现在IPTC特殊说明元数据字段中。它们看起来像:

特殊说明:FBMD01000ac60300004a1d00002d4b000067580000c9650000d5fc000054350100953a0100d3420100e84b01005f8f0100

特殊说明:FBMD23000969010000b1590000cb7700000a8600000c07010046820100b8c0010052590200e5c902006e440300

我认为“FBMD”代表“Facebook会员数据”(但我可能错了)。

我成功地解码了这些字符串中的一个有趣的方面:长度。每个字符串以“FBMD”开头,两个十六进制字符(1字节),和一个16字节(4字符)长度。然后是长度+1组32位(8字节)值。

FBMD01 000a = 长度10,因此期望有11个字段: c6030000 4a1d0000 2d4b0000 67580000 c9650000 d5fc0000 54350100 953a0100 d3420100 e84b0100 5f8f0100

FBMD23 0009 = 长度9,因此期望有10个字段: 69010000 b1590000 cb770000 0a860000 0c070100 46820100 b8c00100 52590200 e5c90200 6e440300

我已经在Facebook社区提问了。


12

嗯,看起来有人在关注

我最初发现了这个, 这里有一个指向Stack帖子的链接

引用上文:

"上传图片并由Facebook附加带有秘密嵌入标签A008E8E97FA55的标签:

好友“A”在Facebook上下载它。

好友“A”将其发送给另一个朋友——你不认识的人,他们的朋友好友“B”,以及他们的另一个朋友好友“C”。

朋友“B”不在Facebook上,或者可能只是在Reddit上发布内容。

朋友“B”在Reddit上发布。Facebook通过系统地搜索Reddit(就像搜索引擎一样)来发现这一点。看到这个情况多次快速重复后,Facebook现在知道您与好友“B”相当接近。

因此,现在Facebook知道了您的“朋友的朋友”联系人之一,即您自己甚至不知道的人!

在大规模重复此活动之后,现在Facebook知道了您的Facebook好友,Facebook粉丝以及您的现实世界中的朋友,同事和关系。他们甚至知道您的“朋友的朋友”(您不认识的人)以及他们的购买和生活方式详情,以及您自己的详情,以及您的友谊圈子如何组合在一起,即使在Facebook之外也是如此。”

关于Twitter的更多内容


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接