⚫ How The Black Point Message Crashes Android Apps

Same category Education (113556):
Popular videos:
"_If you touch the👇black point then your whatsapp will hang_", says the message that's being sent around, and it's right. It's a text rendering bug, the same as many others -- which isn't interesting. But the characters it's using, Unicode RTL and LTR marks, are worth knowing about.
Thanks to everyone who suggested this subject!
The Unicode Bidirectional Algorithm: http://unicode.org/reports/tr9/
I'm at http://tomscott.com
on Twitter at http://twitter.com/tomscott
on Facebook at http://facebook.com/tomscott
and on Snapchat and Instagram as tomscottgo
There's an old pirate legend. about the black spot:. a circular bit of paper, black on one side,. and a message of doom on the other,. that would mark you for judgment or death. well, now we have a real black spot,. or at least a black point. there is a whatsapp message going round that. crashes the app. when you touch the black point within it. and it's a regular, everyday. text rendering bug in android. whatsapp is just how it's spreading. and i wasn't going to talk about it,. because text rendering bugs are now. pretty commonplace and pretty dull. there isn't a story there. you send some weird characters,. you trigger an obscure bug somewhere. in the text renderer,. which is the bit of code that puts text on. the screen,. and because no-one's ever thought to test. that precise combination of characters in. that precise order,. because it'd never happen in everyday conversation,. it crashes. just like all the other times. and it'll get fixed pretty soon. but there is something interesting in the. characters. that were used to do it this time round. if you analyse what's actually being sent. in the black spot message,. then there are a whole load of. invisible characters. unicode, which is the international standard. for transferring text between computers,. contains tens of thousands of characters. designed for every language in the world. but it also has a few invisible characters. defined in it. one of those is a zero-width space,. which is designed to indicate a good point. to put a line break in a really long word. others dictate whether characters and the. diacritics above or below them. should be combined or left separated. and a few of them say whether the text should. go left-to-right or right-to-left. lots of languages in the world go right-to-left:. for example,. anything that uses arabic script. or the hebrew alphabet. if you're writing in those scripts,. then the unicode standard takes care. of everything for you:. those characters are. 'strongly typed right-to-left'. use the hebrew alphabet and any modern system,. phone or desktop,. will put it right-to-left automatically. left-to-right is not the default,. no matter how much the english-speaking world. might think it is. those strongly-typed characters mean that. if you want to, say,. put some hebrew text in the middle. of some english, you can do that:. the bit of code that's rendering the text. will work out how long that right-to-left. sequence is,. leave enough space,. and then carry on with the rest of the. left-to-right text. or if you want to put numbers,. which are written left-to-right,. in the middle of arabic right-to-left text,. then it'll work it out the same way. mostly, you don't have to worry about it. however: there are a lot of. situations — edge cases —. where this goes wrong. and i am not going to try and describe them,. or even list them,. because they're all really confusing and boring,. but i've put a link to the. unicode bidirectional algorithm. in the description below if. you do want to know the details. but in short: to help make things clearer,. unicode defines several types of invisible. character. that tell the text rendering system:. hey, you know that next bit . right to left. even if it's latin letters,. put them the other way around. or vice versa. these invisible characters have been used. for quite a bit of trickery over the years:. it used to be that you could put them in a. blog comment or a forum post--. for younger viewers, blogs and forums were. where we talked on the web. back before everyone gave up and just piled. inside a load of walled gardens. anyway, put those directional characters in. a comment on a badly-designed site. and suddenly everyone's writing backwards. and it's really confusing,. and that passed for funny ten years ago. hidden inside the black spot text are about. two thousand invisible characters. that swap the direction of text back and forth. and they're just regular characters,. strongly typed:. it's like you put a latin a and a hebrew ?. next to each other a thousand times. except both of them are invisible and have. a width of zero. and somewhere in that jumbled mess. the system gets really confused:. it can display the text, at least,. but when you tap it,. it has to work out exactly. what character you've touched,. so you could highlight it. or copy and paste it. and those thousands of invisible characters. cause a problem,. the details of which will no doubt. be hashed out. by the android development team in the next. week or two. does the black point in the message. have anything to do with it . no, probably not. probably they could have picked any emoji,. or maybe any character at all. and put it in there,. and it would still have worked. we won't know for a while. but the black spot itself almost certainly. isn't the cause of your phone's doom. which is actually true of the original. black spot as well. it's not an old pirate legend. when he was writing treasure island,. author robert louis stevenson just made it up. .
Tags:  android  bugs  crash  exploits  ltr  rtl  tomscott  unicode  whatsapp    how  the  black  point  message  crashes  android  apps 

Number of Views: 1,127,365
Number of Likes: 32,067
Category: Education

You may also like: