Bagaimana orang ini meretas batas 140 karakter Twitter?

36

Hari ini saya terkejut melihat bahwa seorang pria telah meretas batas 140 karakter Twitter. Pesan terdiri dari 930 karakter. Bagaimana mungkin ini bisa terjadi?

Tautan langsung ke tweet ini ada di sini . Untuk kenyamanan, saya menyalin tangkapan layar tweet lengkap di bawah ini:

masukkan deskripsi gambar di sini

Mehper C. Palavuzlar
sumber
1
Tampaknya menjadi trik yang keren, tetapi itu bukan solusi untuk batas 140 karakter. Sebenarnya ini LEBIH BAIK. Karena orang akan menyatakan dengan jelas apa yang perlu mereka katakan, alih-alih menulis semua sampah. :)
1
Jadi teman-teman, ini mungkin informasi yang berguna, di tengah pesan ada frase dalam bahasa Rusia: Твиттим и не ограничиваемся людиии !!!!!! 140 не предел! Yang dalam bahasa Inggris adalah: Terus twitting tanpa batas, orang !!!!! 140 bukan batas! Saya kira beberapa "hakers" Rusia? :-)
Pekerja
Tampaknya Twitter telah memperbaiki bug itu. Lihat tautan langsung ke tweet.
Mehper C. Palavuzlar
Jawaban singkat: tweet memiliki kurang dari 140 karakter; itu hanya masalah penyandian yang menyebabkan peramban Anda menampilkannya sebagai lebih banyak karakter.
ShreevatsaR
Sebuah komentar di bawah ini menyatakan masalah telah diperbaiki oleh twitter. Hari ini saya menemukan tweet lain yang sangat mirip - twitter.com/#!/luchetti/status/177524100930084864
Chethan S.

Jawaban:

41

Pesan tersebut berisi poin-poin kode pengganti Unicode yang disandikan dengan tidak benar sebagai UTF-8. Pengkodean yang tidak tepat semacam ini juga disebut CESU-8 . Tampaknya beberapa antarmuka Twitter akan menerima kode pengganti CESU-8 yang dikodekan sebagai karakter (untuk tujuan batas 140 karakter), tetapi untuk tujuan tampilan, ia mengharapkan UTF-8 yang valid dan ini bukan urutan UTF-8 yang valid. Jadi alih-alih menampilkan 3 byte dari masing-masing sekuens ini sebagai 3 sekuens ok-gaya melarikan diri masing-masing 4 karakter, dan masing-masing titik kode pengganti akhirnya ditampilkan menggunakan 12 karakter.

Sebagai contoh \ 355 \ 240 \ 265 \ 355 \ 263 \ 220 ketika diterjemahkan sebagai C-lolos UTF-8, tanpa menolak pengganti seperti yang biasanya dilakukan ketika decoding UTF-8, menerjemahkan ke pasangan pengganti U + D835 U + DCD0. Memperlakukan pasangan pengganti ini sebagai UTF-16, seperti yang akan dilakukan ketika decoding CESU-8, menghasilkan karakter Unicode U + 1D4D0 MATHEMATICAL BOLD SCRIPT BOLD MODAL A (𝓐).

Jika pelepasan oktal gaya-C diterjemahkan dan kemudian hasilnya ditafsirkan sebagai CESU-8, hasilnya adalah:

𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨 Твиттим и не ограничиваемся людиии !!!!!! 140 не предел! =)))) 𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨

Ini sebagai gambar, untuk mereka yang tidak memiliki set lengkap font Unicode diinstal:

𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨 Твиттим и не ограничиваемся людиии !!!!!!  140 не предел! =)))) 𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨 𝓐𝓛𝓜𝓐𝓣𝓨

mark4o
sumber
1
sebenarnya 101 karakter - pekerjaan bagus @ mark4o
Jorg
3
Tampaknya Twitter telah memperbaiki bug itu. Sekarang pesan muncul tepat seperti gambar yang Anda posting di jawaban Anda.
Mehper C. Palavuzlar
Saya masih melihat kotak-kotak persegi, @ MehperC.Palavuzlar. Mungkinkah saya tidak memasang font APA SAJA dengan set lengkap Unicode chars?
Gaia
3

Setiap kelompok karakter yang dimulai dengan garis miring terbalik dan diikuti oleh tiga angka adalah " Escape Sequence ". Masing-masing mewakili satu karakter. Ini biasanya digunakan untuk karakter yang tidak ada di keyboard Anda seperti karakter dan simbol non-Bahasa Inggris.

Dugaan saya adalah bahwa ketika menghitung karakter, Twitter menghitung masing-masing grup ini sebagai karakter tunggal tetapi ketika menampilkannya ke browser, ia mencetaknya sebagai empat.

Memperbarui:

Beberapa urutan pelarian yang tersedia adalah "karakter kontrol". Ini memberitahu komputer untuk melakukan sesuatu seperti memainkan suara peringatan atau menggerakkan kursor ke kiri atau ke kanan atau ke atas atau ke bawah atau menghapus karakter ke kiri kursor. Meskipun tidak satupun dari mereka adalah yang terakhir yang saya sebutkan (menghapus karakter sebelumnya), dia mungkin menggunakan karakter itu untuk membingungkan Twitter juga.

Menariknya, ketika kembali ke karakter normal, itu cukup berulang dan terlihat seperti ini:

í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨ í µ í ³ í µ í ³ › í µ í ³ œ í µ í ³ í µ í ³ £ í µ í ³ ¨ 

Pembaruan 2:

Penjelasan yang dia berikan adalah "Пишите в DM, всегда на связи)" yang Google Terjemahan katakan kepada saya adalah "Menulis ke DM, selalu terhubung)". Saya tidak yakin apa artinya atau bagaimana itu membantu.

Ladadadada
sumber
1
Saya memikirkan hal itu juga (ini adalah penjelasan paling masuk akal yang muncul di benak saya), tetapi masalahnya adalah ada lebih dari 140 kelompok yang terdiri dari empat (140 * 4 = 560, yang kurang dari hitungan 930 yang dinyatakan Mepher) ).
Alex
@ Alex: Benar. Saya mencoba menyalin dan menempelkan seluruh pesan ke kotak tweet baru, tetapi Twitter mengatakan itu lebih dari 140 karakter. Saya juga mencoba di TweetDeck tetapi sekali lagi tidak jalan.
Mehper C. Palavuzlar
Terlihat dengan baik. Saya telah memperbarui jawaban saya tetapi saya tidak dapat melihat bukti bahwa pembaruan adalah yang sebenarnya terjadi.
Ladadadada
2
@Mehper Anda tidak bisa hanya menyalinnya ke kotak tweet, karena dengan itu twitter akan menafsirkannya sebagai karakter yang terpisah ('\', '3', '5', '5') dll. Anda harus membuat skrip yang mengirimkan "simbol" sebagai byte, bukan karakter melarikan diri.
Tor Valamo
"Пишите в DM, всегда на связи)" berarti dia mengundang Anda untuk mengiriminya pesan pribadi, dia akan menanggapinya dengan cepat. Terjemahan saya adalah: "Kirim DM, saya selalu ada".
Malcolm