您的位置: 首頁 >互聯(lián)網(wǎng) >

為什么壁紙上的一個像素會讓安卓手機崩潰

2020-06-16 14:34:45 編輯: 來源:
導讀 最近,Android 10的一個漏洞被暴露出來,一張蒙大拿州冰川國家公園圣瑪麗湖(St Mary Lake)的簡單照片被設為壁紙,導致智能手機屏幕不斷開機關(guān)機,導致一些手機無法使用。使用圖片(上圖)作為壁紙的手機陷入了bootloop,用戶被迫重置他們的手機來擺脫它。 人們大聲疾呼為什么會發(fā)生這種事。雖然大多數(shù)人認為這張“被詛咒的”圖片會有更多的內(nèi)容,但結(jié)果顯示,這張圖片的顏色配置超出了Andro

最近,Android 10的一個漏洞被暴露出來,一張蒙大拿州冰川國家公園圣瑪麗湖(St Mary Lake)的簡單照片被設為壁紙,導致智能手機屏幕不斷開機關(guān)機,導致一些手機無法使用。使用圖片(上圖)作為壁紙的手機陷入了bootloop,用戶被迫重置他們的手機來擺脫它。

人們大聲疾呼為什么會發(fā)生這種事。雖然大多數(shù)人認為這張“被詛咒的”圖片會有更多的內(nèi)容,但結(jié)果顯示,這張圖片的顏色配置超出了Android所能處理的范圍,僅差一個像素,這使得手機表現(xiàn)得和把圖片設置為墻紙時一樣。

這個漏洞第一次被發(fā)現(xiàn)是在一個名為“冰宇宙”的twitter賬號發(fā)布了這張引起問題的圖片后。警告其他人:“尤其是將照片設置為三星手機的壁紙會導致手機崩潰。”“這應該是一種威懾,但我們生活在一個瘋狂的世界。人們誤以為這是惡作劇,結(jié)果手機屏幕反復閃爍,無法啟動。

將圖像設置為手機上的壁紙會導致崩潰和軟磚——當設備試圖啟動,但失敗并重復重啟啟動過程的一種狀態(tài)。這個引導循環(huán)不能被打破,直到電話工廠重置在安全模式,這意味著電話數(shù)據(jù)完全丟失。然而,一些用戶能夠進入安全模式,從相冊中刪除圖片,并將壁紙設置為默認,然后重啟手機正常工作。

這個愚蠢的舉動揭示了這個問題并不以三星為中心,其他的智能手機包括谷歌Pixel,運行Android 10或更早版本的手機也會崩潰。一些用戶甚至舉報了一些一加、諾基亞和小米手機型號。在測試中,Android權(quán)威表示,華為Mate 20沒有問題,甚至9to5Google測試的運行Android 11的Pixel 4 XL也沒有受到影響。

科學家兼攝影師Gaurav Agrawal于2019年8月用諾基亞相機拍攝;這張照片是在Lightroom中編輯的,然后導出為“ProPhoto RGB”格式,而不是標準的sRGB格式。高拉夫?qū)⑦@張照片上傳到他的Flicker個人資料中,有超過1萬名粉絲希望這張照片“走紅是有原因的”,但命運卻并非如此。

這張照片在新聞頭條上隨處可見,因為它在用作壁紙時,會導致手機崩潰。高拉夫公開了這件事——在與BBC的對話中,他說:“我并沒有故意這么做?!拔也恢肋@種格式能做到這一點,”他補充道。有趣的是,當照片被設置為僅作為壁紙時,它就會觸發(fā)這個錯誤——在谷歌照片應用中,它不會對手機造成任何問題。

嘗試將圖片設置為手機的壁紙是很有誘惑力的。我們強烈反對這樣做;但如果你仍然想要這種墻紙,你可以嘗試一些觀察(風險自負)。例如,把圖片截圖用作壁紙——不要直接下載圖片。

幾乎可以預見的是,圖像以某種方式干擾了Android墻紙引擎的基本原理;而且它并不是像之前預測的那樣,是為了利用操作系統(tǒng)的某些漏洞而故意創(chuàng)建的,這被松散地稱為“Android的惡意軟件”。

這張圖片在三星和谷歌像素手機上表現(xiàn)得不太好,這是因為他們使用了默認的Android顏色引擎,使用sRGB顏色空間而不是圖像使用的RGB顏色空間。當用戶試圖將RGB而不是sRGB的圖像設置為墻紙時,bootloop會被觸發(fā)——ImageProcessorHelper類崩潰,因為它是一個用于訪問數(shù)組的變量,該數(shù)組跨越了數(shù)組邊界。

該圖像被編碼在顏色空間谷歌/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126中,而不是通常的sRGB中,后者可能會創(chuàng)建一些設備無法處理的更多顏色信息。sRGB是有限的顏色空間-最大索引是255;當變量y的值超過了直方圖的界限,手機就會崩潰。相當可觀的修正—總是將y值包含到<256,或者添加一行(y >y = 255的代碼。

顏色/像素的亮度值是計算使用公式:亮度= .2126f * r + .7152f * g + .0722f * b。r, g b的值通常各不相同,但在這幅圖像-特定像素的云總和超過255創(chuàng)建越界異常SystemUI對待死亡,將手機放入一個無限循環(huán)的崩潰。這個問題的發(fā)生是因為操作系統(tǒng)中的匯總邏輯給出了一個更高的整數(shù)值。在這種情況下,它只有256,但最終結(jié)果是沒有處理好,由Android。

9to5Google的迪倫·魯塞爾(Dylan Roussel)發(fā)現(xiàn),這種歸納邏輯僅限于運行Android 10或更老版本的手機。他在Android 11上運行的Pixel 4 XL上進行了測試,使用該圖像作為墻紙時,Pixel 4 XL沒有受到影響,它不會影響到Android 11上的設備。這是因為與Android 10不同的是,在Android 11中,如果不支持的話,系統(tǒng)會轉(zhuǎn)換顏色空間。

顯然,“被詛咒的”圖像壁紙的主要原因是顏色/亮度的計算方式。據(jù)報道,谷歌正在進行內(nèi)部審查;我們可能很快會在Android 10或更老的版本中看到針對這一漏洞(可能用于不法行為)的修復。


免責聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

精彩推薦

圖文推薦

點擊排行

2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復制必究 聯(lián)系QQ280 715 8082   備案號:閩ICP備19027007號-6

本站除標明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。