Metadane IPTC są automatycznie dodawane do przesyłanych zdjęć na Facebooku

91

Wiele obrazów przesłanych na Facebooka zawiera pola IPTC / IIM, które najwyraźniej są automatycznie dodawane podczas procesu przesyłania:

  • Instrukcja specjalna , ciąg zaczynający się od „FBMD”
  • Oryginalne odniesienie do transmisji .

Zobacz na przykład ten (osobisty) obraz przesłany na Facebooka i zdekodowany za pomocą przeglądarki Jeffrey's Exif Viewer: http://exif.regex.info/exif.cgi

Co to jest?

Patrick Peccatte
źródło
6
"Co to jest?" - o to trzeba zapytać Facebooka…
CBroe
1
BTW, czy możliwe jest przeglądanie danych IPTC bez użycia narzędzia lub interfejsu API, takiego jak Jeffrey's Exif Viewer? czyli w przeglądarce szesnastkowej? lub przynajmniej sprawdzić, czy są dane IPTC, badając tylko binarny plik obrazu? (np. w edytorze tekstu mogącym wyświetlać zawartość szesnastkową) Jak dotąd nie udało mi się znaleźć odpowiedzi +1 na świetne pytanie.
Nie tak ostro
Obecnie próbuję dowiedzieć się tego samego, co jest zakodowane w tym polu metadanych. Ponieważ pracowałem na poziomie bajtów, mogę powiedzieć, że jest tak, jak napisał, po FBMD znajdziesz liczby jako tekst alfanumeryczny (wszystko w zestawie ASCII). Więc to tylko tekst, w moich przypadkach testowych o długości 94 bajtów, i nie mogę ich jeszcze złamać, aby zobaczyć, co jest tam przechowywane.
bconstanzo
@bconstanzo to nie wygląda jak znaki ascii, ponieważ w moim przypadku jest dużo zer w rzędzie
MaKiPL
@MaKiPL Od jakiegoś czasu nie zajmowałem się tym tematem, więc możliwe, że facebook zmienił sposób korzystania z tego rodzaju metadanych. Wydaje się, że używają (może nadużywają?) Pola metadanych ITPC do przechowywania własnych, zakodowanych metadanych „kto wie, jak”. Bez dodatkowych informacji niewiele jest rzeczy, których można by się trzymać podczas inżynierii wstecznej pola danych.
bconstanzo

Odpowiedzi:

44

Według tej strony :

Instrukcje specjalne [IPTC Core] Alternatywna etykieta ze starszego schematu IPTC IIM, używana jako „ Instrukcje ”.

Instrukcje [IPTC Core] To jest proste pole tekstowe, które może zawierać dowolną z wielu instrukcji od dostawcy lub twórcy do odbiorcy zdjęcia. Obejmuje to dowolne z poniższych: embargo (np. News Magazines OUT) i inne ograniczenia nieobjęte polem Rights Usage Terms (lub nowe pola związane z prawami PLUS); informacje dotyczące oryginalnych sposobów przechwytywania (skanowanie notatek, profil kolorów itp.) lub inne szczegółowe informacje tekstowe, których użytkownik może potrzebować do dokładnego odtworzenia; dodatkowe uprawnienia lub kredyty wymagane podczas publikacji. Uwaga: to pole jest „współdzielone” z polem „Instrukcje” w panelu Origin w oknie dialogowym Informacje o pliku programu Adobe Photoshop.

Przykłady: * Obraz do jednorazowego użytku, niewyłączny w magazynie w języku angielskim jako obraz wewnętrzny, nie większy niż cała strona w kolorze. Dodatkowe prawa osób trzecich do uzgodnienia z wyprzedzeniem z Julie Doe / XYZ Agency. Wszelkie prawa, które nie zostały wyraźnie przyznane, są zastrzeżone. Aby uzyskać informacje na temat konkretnej licencji, zobacz notę ​​dostawy.

Tylko do rozważenia; zabronione powielanie w jakiejkolwiek formie bez uprzedniej pisemnej zgody. *

To jest standard Information Interchange Model (IIM) International Press Telecommunications Council (IPTC ) .

Nie udało mi się zdekodować danych Facebooka, ale wklejenie, pobranie i ponowne wklejenie obrazu nieznacznie zmieni dane.

Użycie IrfanView do ustawienia specjalnych instrukcji „testowania” w pliku JPG bez danych IPTC dodaje te bajty do nagłówka:

hexed.it zrzut ekranu dodanych danych IPTC w formacie JPG

Pobrałem 339 obrazów z długością instrukcji 94 po FBMD, a następujące bajty pozostały takie same:

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}

Znalazłem również 3 obrazy z zaledwie 86 tajemniczymi bajtami po FBMD, na przykład 23000986030000f91d0000e5230000502900004889000041ac000004c900007aee0000cf0f0100f02d0100, również zapisane w ciągu ostatnich kilku miesięcy. Były takie same bajty:

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}

Wydaje się, że ten post na blogu zawiera więcej informacji na ten temat:

[...] 13.11.2014 r. Facebook wprowadził nowy kod śledzenia. Pojawia się jako pole metadanych Instrukcje specjalne IPTC. Wyglądają na:

Instrukcje specjalne: FBMD01000ac60300004a1d00002d4b000067580000c9650000d5fc000054350100953a0100d3420100e84b01005f8f0100

Instrukcje specjalne: FBMD23000969010000b1590000cb7700000a8600000c07010046820100b8c0010052590200e5c902006e440300

Myślę, że „FBMD” to skrót od „Facebook Member Data” (ale mogę się mylić).

Udało mi się zdekodować jeden interesujący aspekt tych ciągów: długość. Każdy ciąg zaczyna się od „FBMD”, dwóch znaków szesnastkowych (1 bajt) i długości 16 bajtów (4 znaki). Następnie jest długość + 1 zestawy wartości 32-bitowych (8-bajtowych).

FBMD01 000a = długość 10, więc spodziewaj się 11 pól: c6030000 4a1d0000 2d4b0000 67580000 c9650000 d5fc0000 54350100 953a0100 d3420100 e84b0100 5f8f0100

FBMD23 0009 = długość 9, więc spodziewaj się 10 pól: 69010000 b1590000 cb770000 0a860000 0c070100 46820100 b8c00100 52590200 e5c90200 6e440300

Ja zapytałem Facebooku Społeczność temat.

Cees Timmerman
źródło
10

Wygląda na to, że ktoś patrzy .

Na początku to znalazłem , jest link do tego stosu

Cytując z góry:

„Prześlij zdjęcie, a Facebook oznaczy je potajemnie osadzonym tagiem: A008E8E97FA55

Znajomy „A” z Facebooka go pobiera.

Znajomy „A” wysyła wiadomość do innego znajomego - kogoś, kogo nie znasz, znajomego „B” i innego znajomego znajomego „C.”

Przyjaciela „B” nie ma na Facebooku, a może głównie publikują posty na Reddicie.

Znajomy „B” wysyła posty do Reddita. Facebook to widzi (poprzez systematyczne przeszukiwanie Reddit, sposób w jaki wyszukiwarki przeszukują całą „sieć”). Po kilkukrotnym obejrzeniu tego, szybko powtórzonym, Facebook wie teraz, że jesteś trochę blisko znajomego „B”.

Więc teraz Facebook wie, kim jest inny z Twoich połączeń „Przyjaciel znajomego” - osoba, której nawet nie znasz o sobie!

Powtórz tę czynność na dużą skalę, a teraz Facebook zna twoich znajomych z Facebooka, obserwujących na Facebooku oraz znajomych, współpracowników i stowarzyszenia z prawdziwego świata. Znają nawet twoich „przyjaciół znajomych” (osoby, których nie znasz), ich szczegóły dotyczące zakupów i stylu życia, a także twoje, a także to, jak pasują do siebie twoje kręgi przyjaźni, nawet poza Facebookiem ”.

Trochę więcej rzeczy na Twitterze

Katastrofa
źródło
Chociaż ten link może odpowiedzieć na pytanie, lepiej jest zawrzeć tutaj zasadnicze części odpowiedzi i podać link do odniesienia. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie. - Z recenzji
greg-449