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

為什么壁紙上的一個(gè)像素會讓安卓手機(jī)崩潰

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

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

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

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

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

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

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

這張照片在新聞頭條上隨處可見,因?yàn)樗谟米鞅诩垥r(shí),會導(dǎo)致手機(jī)崩潰。高拉夫公開了這件事——在與BBC的對話中,他說:“我并沒有故意這么做。“我不知道這種格式能做到這一點(diǎn),”他補(bǔ)充道。有趣的是,當(dāng)照片被設(shè)置為僅作為壁紙時(shí),它就會觸發(fā)這個(gè)錯誤——在谷歌照片應(yīng)用中,它不會對手機(jī)造成任何問題。

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

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

這張圖片在三星和谷歌像素手機(jī)上表現(xiàn)得不太好,這是因?yàn)樗麄兪褂昧四J(rèn)的Android顏色引擎,使用sRGB顏色空間而不是圖像使用的RGB顏色空間。當(dāng)用戶試圖將RGB而不是sRGB的圖像設(shè)置為墻紙時(shí),bootloop會被觸發(fā)——ImageProcessorHelper類崩潰,因?yàn)樗且粋€(gè)用于訪問數(shù)組的變量,該數(shù)組跨越了數(shù)組邊界。

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

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

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

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


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

最新文章

精彩推薦

圖文推薦

點(diǎn)擊排行

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

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