The wallpaper that can kill your phone (and why it works)


The wallpaper that can brick your phone has been doing rounds on twitter and various tech news sites since the last few days. Is it a myth, or a hoax? Surprise surprise. It isn't. It actually can brick your phone.

But how and why? Read on to know more.


Actually not a click-bait?

So, this idea of the Android wallpaper that can brick your phone first emerged about a month ago on May 31st with a tweet by a chinese account called Ice universe. The account posted the following warning.



But the thing is not everyone took it seriously, people started to set their wallpapers hence leading into a crash loop on their phone. Some people were eventually able to get out of this but others had to factory reset their phone.

What went wrong and where?

Intially nobody knew what it was . There were speculations that this was probably an infected a photo which contained some sort of malware in it but that is not the case. I went ahead and opened this photo in my image viewer to take a look at some metadata . 
 
ProfileVersion 2.1.0
ProfileClass Display Device Profile
ColorSpaceData RGBM
Color Profile ProPhoto RGB
ProfileConnectionSpace XYZ
ProfileDateTime 0000:00:00 00:00:00
ProfileFileSignature acsp
PrimaryPlatform Unknown ()
CMMFlags Not Embedded, Independent
DeviceManufacturer
DeviceModel
DeviceAttributes Reflective, Glossy, Positive, Color
RenderingIntent Media-Relative Colorimetric
ConnectionSpaceIlluminant 0.9642 1 0.82491
ProfileCreator
ProfileID 0
ProfileDescription Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126
RedMatrixColumn 0.79767 0.28804 0
GreenMatrixColumn 0.13519 0.71188 0
BlueMatrixColumn 0.03134 9e-05 0.82491
RedTRC (Binary data 40 bytes)?
GreenTRC (Binary data 40 bytes)
BlueTRC (Binary data 40 bytes)
MediaWhitePoint 0.9642 1 0.82491
ProfileCopyright Google Inc. 2016


So what exactly is wrong with this metadata? Well, to understand that, we need to talk about another thing called a color space

What exactly is a color space ?

So in the easiest terms, a color space basically is a specific organization of colors. It contains a set of colors which are mapped to a value in the color model .A color model basically is a representation of colors in tuples which is RGB values arranged in a column like fashion. 




Color spaces are useful so that we can maintain consistency everywhere. Which basically means that when I upload an image to instagram it should look the same as my phone. When I print an image it should look the same as my phone and so on.
So basically what we can see is that each color space is a little bigger than the other. sRGB is basically a smaller subset of Adobe RGB and ProPhoto RGB which is bigger than Adobe RGB. So, a lot of people think that this is where the problem occurred but this is not the case. Android is actually programmed to convert back this Pro Photo RGB to sRGB, in fact it does do that a lot of times. Still the question remains,

What went wrong?

Now the thing that went wrong is the luminescence of one of the pixels. Luminiscence basically means the brightness of the individual pixels. The human eye can see the green pixels the best, then comes the red pixels and in the end we have the color blue so this is what the formula for luminescence looks like in case of android.
0.2126 * RED + 0.7152* GREEN + 0.0722 *BLUE
The combined values for all the rgb should never be greater than 255 in total which seems reasonable. The maximum value of R G and B individually can never exceed 255 and all this formula is doing is squishing them.


But the thing with the faulty pixels is that all the values for rgb are incredibly high
Red Green Blue
255  255 243
So putting this into the formula we simply get
Red    Green Blue
54.21    182.37    17.544
Now adding these up we get around 254 which is still less than 255 but the catch here is that this is not what happens. Google's engine approximates it to about this
Red Green Blue
55 183 18
And now this is what adds up to 256 and this is where the problem occurs, The color engine gets confused as to what it should make of this and hence each time you try to get past your lock-screen, your phone crashes since it cant render the wallpaper.

But I applied this wallpaper and nothing happenned to my phone, Please kill it.

If your phone wasn't bricked when you applied this wallpaper, The most probable reason is that your phone isn't using the same color engine as Google. Another reason can be that you got it off a website that doesn't support the Pro Photo RGB color space, so when you uploaded that to the website,  it basically converted it to sRGB or some other color space. Try uploading it to a website such as weibo.com and you can see the same in action
With the clear decrease in the quality of the image, you can see that the color space of the image was changed. But the thing with twitter is that it supports the Pro Photo RGB. So the image when downloaded from twitter still remains dangerous.
And even if you took a screenshot of this and then applied it as a wallpaper even then it will not cause any kind of problems since it has been reduced to the sRGB color space.Because you see, when you take a screenshot your phone doesn't copy that image but it creates a new one and adds it to your gallery. The new image created by your phone is obviously in the sRGB color space.

Conclusion

Please do not apply this wallpaper just to "try" it out, This can and will soft brick your phone and if you do, the only proper way out is a factory reset of your phone.

Also, Everyone please stay tuned for Story Sunday because this week we will be talking about the legendary OS Wars

Comments

Popular Posts