Los metadatos IPTC se agregan automáticamente a las imágenes cargadas en Facebook

91

Muchas imágenes cargadas en Facebook contienen campos IPTC / IIM que aparentemente se agregan automáticamente durante el proceso de carga:

  • Instrucción especial , una cadena que comienza con "FBMD"
  • Referencia de transmisión original .

Vea, por ejemplo, esta imagen (personal) cargada en Facebook y decodificada usando el visor Exif de Jeffrey: http://exif.regex.info/exif.cgi

¿Que es esto?

Patrick Peccatte
fuente
6
"¿Que es esto?" - eso es algo que tendrías que preguntarle a Facebook…
CBroe
1
Por cierto, ¿es posible ver los datos de IPTC sin usar una herramienta o una API como Exif Viewer de Jeffrey? es decir, en un visor hexadecimal? o al menos comprobar si hay datos IPTC examinando solo el archivo de imagen binaria? (por ejemplo, en un editor de texto capaz de mostrar contenido hexadecimal) Hasta ahora, no he podido encontrar la respuesta +1 para una gran pregunta.
No tan agudo
Actualmente estoy tratando de averiguar lo mismo, lo que está codificado en este campo de metadatos. Como he estado trabajando a nivel de bytes, puedo decirles que es como él publicó, después del FBMD encontrará los números como texto alfanumérico (todo dentro del conjunto ASCII). Así que es solo texto, en mis casos de prueba de 94 bytes de longitud, y todavía no puedo descifrarlos para ver qué está almacenado allí.
bconstanzo
@bconstanzo eso no parece realmente caracteres ascii, ya que en mi caso hay muchos ceros en la fila
MaKiPL
@MaKiPL He estado alejado de este tema por un tiempo, por lo que podría ser que Facebook haya cambiado su uso de este tipo de metadatos. Parece que están usando (¿abusando tal vez?) El campo de metadatos ITPC para mantener sus propios metadatos codificados quién sabe cómo. Sin más información, hay muy poco a lo que aferrarse para realizar ingeniería inversa en el campo de datos.
bconstanzo

Respuestas:

44

Según este sitio :

Instrucciones especiales [IPTC Core] Etiqueta alternativa del esquema IPTC IIM anterior, utilizada para " Instrucciones ".

Instrucciones [IPTC Core] Este es un campo de texto simple que puede incluir cualquiera de una serie de instrucciones del proveedor o creador al receptor de la fotografía. Cualquiera de los siguientes pueden estar incluidos: embargos (por ejemplo: Revistas de noticias FUERA) y otras restricciones no cubiertas por el campo Términos de uso de derechos (o nuevos campos relacionados con derechos PLUS); información sobre los medios originales de captura (notas de escaneo, perfil de color, etc.) u otra información de texto específica que el usuario pueda necesitar para una reproducción precisa; permisos o créditos adicionales requeridos al publicar. Nota: Este campo se "comparte" con el campo "Instrucciones" en el panel Origen del cuadro de diálogo Información de archivo de Adobe Photoshop.

Ejemplos: * Imagen para ser utilizada una sola vez, no exclusiva en la revista de edición en inglés como imagen interior, no más grande que una página completa en color. Derechos adicionales de terceros que se negociarán con Julie Doe / Agencia XYZ por adelantado. Todos los derechos no otorgados específicamente están reservados. Consulte la nota de entrega para obtener una licencia específica.

Solo para consideración; Prohibida la reproducción en cualquier forma sin permiso previo por escrito. *

Ese es el modelo de intercambio de información (IIM) estándar del International Press Telecommunications Council (IPTC ) .

No he podido decodificar los datos de Facebook, pero pegar, descargar y pegar una imagen de nuevo cambiará ligeramente los datos.

Usando IrfanView para configurar instrucciones especiales para "probar" en un JPG sin datos IPTC, agrega estos bytes al encabezado:

Hexed.it captura de pantalla de datos IPTC agregados en JPG

Descargué 339 imágenes con una longitud de instrucción de 94 después de la FBMD, y los siguientes bytes se mantuvieron iguales:

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}

También encontré 3 imágenes con solo 86 bytes misteriosos después FBMD, por ejemplo 23000986030000f91d0000e5230000502900004889000041ac000004c900007aee0000cf0f0100f02d0100, también guardadas en los últimos meses. Los mismos bytes que había:

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}

Esta publicación de blog parece saber más al respecto:

[...] el 13/11/2014, Facebook introdujo un nuevo código de seguimiento. Aparece como un campo de metadatos de Instrucciones especiales de IPTC. Parecen:

Instrucciones especiales: FBMD01000ac60300004a1d00002d4b000067580000c9650000d5fc000054350100953a0100d3420100e84b01005f8f0100

Instrucciones especiales: FBMD23000969010000b1590000cb7700000a8600000c07010046820100b8c0010052590200e5c902006e440300

Creo que "FBMD" significa "Datos de miembros de Facebook" (pero podría estar equivocado).

Me las arreglé para decodificar un aspecto interesante en estas cadenas: la longitud. Cada cadena comienza con "FBMD", dos caracteres hexadecimales (1 bytes) y una longitud de 16 bytes (4 caracteres). Luego viene la longitud + 1 conjuntos de valores de 32 bits (8 bytes).

FBMD01 000a = longitud 10, así que espere 11 campos: c6030000 4a1d0000 2d4b0000 67580000 c9650000 d5fc0000 54350100 953a0100 d3420100 e84b0100 5f8f0100

FBMD23 0009 = longitud 9, así que espere 10 campos: 69010000 b1590000 cb770000 0a860000 0c070100 46820100 b8c00100 52590200 e5c90200 6e440300

Le pregunté a la comunidad de Facebook al respecto.

Cees Timmerman
fuente
10

Bueno, parece que alguien está mirando .

Encontré esto al principio , hay un enlace a esta publicación de pila

Citando desde arriba:

"Sube una imagen y Facebook la etiqueta con una etiqueta incrustada en secreto: A008E8E97FA55

El amigo "A" en Facebook lo descarga.

El amigo "A" se lo envía por mensaje de texto a otro amigo: alguien que no conoces, su amigo el amigo "B" y otro amigo suyo, el amigo "C".

El amigo "B" no está en Facebook, o tal vez solo publican en Reddit.

El amigo "B" publica en Reddit. Facebook ve esto (al rastrear Reddit sistemáticamente, la forma en que los motores de búsqueda recorren toda la 'web' en general). Después de ver esto varias veces, repetido rápidamente, Facebook ahora sabe que eres un poco cercano al amigo "B".

Así que ahora Facebook sabe quién es otra de tus conexiones de "amigo de un amigo", ¡una persona que ni siquiera conoces de ti mismo!

Repita esta actividad a gran escala y ahora Facebook conocerá a sus amigos de Facebook, seguidores de Facebook y sus amigos, compañeros de trabajo y asociaciones del mundo real. Incluso conocen a sus "amigos de amigos" (personas que no conoce) y sus detalles de compra y estilo de vida, y los suyos, y cómo encajan sus círculos de amistades, incluso fuera de Facebook ".

Algunas cosas más en Twitter

Desastre
fuente
Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden dejar de ser válidas si cambia la página enlazada. - De la crítica
greg-449