2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號(hào):閩ICP備19027007號(hào)-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
最近,Android 10的一個(gè)漏洞被暴露出來(lái),一張蒙大拿州冰川國(guó)家公園圣瑪麗湖(St Mary Lake)的簡(jiǎn)單照片被設(shè)為壁紙,導(dǎo)致智能手機(jī)屏幕不斷開(kāi)機(jī)關(guān)機(jī),導(dǎo)致一些手機(jī)無(wú)法使用。使用圖片(上圖)作為壁紙的手機(jī)陷入了bootloop,用戶被迫重置他們的手機(jī)來(lái)擺脫它。
人們大聲疾呼為什么會(huì)發(fā)生這種事。雖然大多數(shù)人認(rèn)為這張“被詛咒的”圖片會(huì)有更多的內(nèi)容,但結(jié)果顯示,這張圖片的顏色配置超出了Android所能處理的范圍,僅差一個(gè)像素,這使得手機(jī)表現(xiàn)得和把圖片設(shè)置為墻紙時(shí)一樣。
這個(gè)漏洞第一次被發(fā)現(xiàn)是在一個(gè)名為“冰宇宙”的twitter賬號(hào)發(fā)布了這張引起問(wèn)題的圖片后。警告其他人:“尤其是將照片設(shè)置為三星手機(jī)的壁紙會(huì)導(dǎo)致手機(jī)崩潰?!薄斑@應(yīng)該是一種威懾,但我們生活在一個(gè)瘋狂的世界。人們誤以為這是惡作劇,結(jié)果手機(jī)屏幕反復(fù)閃爍,無(wú)法啟動(dòng)。
將圖像設(shè)置為手機(jī)上的壁紙會(huì)導(dǎo)致崩潰和軟磚——當(dāng)設(shè)備試圖啟動(dòng),但失敗并重復(fù)重啟啟動(dòng)過(guò)程的一種狀態(tài)。這個(gè)引導(dǎo)循環(huán)不能被打破,直到電話工廠重置在安全模式,這意味著電話數(shù)據(jù)完全丟失。然而,一些用戶能夠進(jìn)入安全模式,從相冊(cè)中刪除圖片,并將壁紙?jiān)O(shè)置為默認(rèn),然后重啟手機(jī)正常工作。
這個(gè)愚蠢的舉動(dòng)揭示了這個(gè)問(wèn)題并不以三星為中心,其他的智能手機(jī)包括谷歌Pixel,運(yùn)行Android 10或更早版本的手機(jī)也會(huì)崩潰。一些用戶甚至舉報(bào)了一些一加、諾基亞和小米手機(jī)型號(hào)。在測(cè)試中,Android權(quán)威表示,華為Mate 20沒(méi)有問(wèn)題,甚至9to5Google測(cè)試的運(yùn)行Android 11的Pixel 4 XL也沒(méi)有受到影響。
科學(xué)家兼攝影師Gaurav Agrawal于2019年8月用諾基亞相機(jī)拍攝;這張照片是在Lightroom中編輯的,然后導(dǎo)出為“ProPhoto RGB”格式,而不是標(biāo)準(zhǔn)的sRGB格式。高拉夫?qū)⑦@張照片上傳到他的Flicker個(gè)人資料中,有超過(guò)1萬(wàn)名粉絲希望這張照片“走紅是有原因的”,但命運(yùn)卻并非如此。
這張照片在新聞?lì)^條上隨處可見(jiàn),因?yàn)樗谟米鞅诩垥r(shí),會(huì)導(dǎo)致手機(jī)崩潰。高拉夫公開(kāi)了這件事——在與BBC的對(duì)話中,他說(shuō):“我并沒(méi)有故意這么做。“我不知道這種格式能做到這一點(diǎn),”他補(bǔ)充道。有趣的是,當(dāng)照片被設(shè)置為僅作為壁紙時(shí),它就會(huì)觸發(fā)這個(gè)錯(cuò)誤——在谷歌照片應(yīng)用中,它不會(huì)對(duì)手機(jī)造成任何問(wèn)題。
嘗試將圖片設(shè)置為手機(jī)的壁紙是很有誘惑力的。我們強(qiáng)烈反對(duì)這樣做;但如果你仍然想要這種墻紙,你可以嘗試一些觀察(風(fēng)險(xiǎn)自負(fù))。例如,把圖片截圖用作壁紙——不要直接下載圖片。
幾乎可以預(yù)見(jiàn)的是,圖像以某種方式干擾了Android墻紙引擎的基本原理;而且它并不是像之前預(yù)測(cè)的那樣,是為了利用操作系統(tǒng)的某些漏洞而故意創(chuàng)建的,這被松散地稱為“Android的惡意軟件”。
這張圖片在三星和谷歌像素手機(jī)上表現(xiàn)得不太好,這是因?yàn)樗麄兪褂昧四J(rèn)的Android顏色引擎,使用sRGB顏色空間而不是圖像使用的RGB顏色空間。當(dāng)用戶試圖將RGB而不是sRGB的圖像設(shè)置為墻紙時(shí),bootloop會(huì)被觸發(fā)——ImageProcessorHelper類崩潰,因?yàn)樗且粋€(gè)用于訪問(wèn)數(shù)組的變量,該數(shù)組跨越了數(shù)組邊界。
該圖像被編碼在顏色空間谷歌/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126中,而不是通常的sRGB中,后者可能會(huì)創(chuàng)建一些設(shè)備無(wú)法處理的更多顏色信息。sRGB是有限的顏色空間-最大索引是255;當(dāng)變量y的值超過(guò)了直方圖的界限,手機(jī)就會(huì)崩潰。相當(dāng)可觀的修正—總是將y值包含到<256,或者添加一行(y >y = 255的代碼。
顏色/像素的亮度值是計(jì)算使用公式:亮度= .2126f * r + .7152f * g + .0722f * b。r, g b的值通常各不相同,但在這幅圖像-特定像素的云總和超過(guò)255創(chuàng)建越界異常SystemUI對(duì)待死亡,將手機(jī)放入一個(gè)無(wú)限循環(huán)的崩潰。這個(gè)問(wèn)題的發(fā)生是因?yàn)椴僮飨到y(tǒng)中的匯總邏輯給出了一個(gè)更高的整數(shù)值。在這種情況下,它只有256,但最終結(jié)果是沒(méi)有處理好,由Android。
9to5Google的迪倫·魯塞爾(Dylan Roussel)發(fā)現(xiàn),這種歸納邏輯僅限于運(yùn)行Android 10或更老版本的手機(jī)。他在Android 11上運(yùn)行的Pixel 4 XL上進(jìn)行了測(cè)試,使用該圖像作為墻紙時(shí),Pixel 4 XL沒(méi)有受到影響,它不會(huì)影響到Android 11上的設(shè)備。這是因?yàn)榕cAndroid 10不同的是,在Android 11中,如果不支持的話,系統(tǒng)會(huì)轉(zhuǎn)換顏色空間。
顯然,“被詛咒的”圖像壁紙的主要原因是顏色/亮度的計(jì)算方式。據(jù)報(bào)道,谷歌正在進(jìn)行內(nèi)部審查;我們可能很快會(huì)在Android 10或更老的版本中看到針對(duì)這一漏洞(可能用于不法行為)的修復(fù)。
2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號(hào):閩ICP備19027007號(hào)-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。