wta网球比分直播
  • WAP手機版 加入收藏  設為首頁
閃存恢復

使用Visual Nand Reconstructor提取XOR(Scrambler)密鑰

時間:2018-11-16 12:19:08   作者:成都數據恢復中心   來源:本站原創   閱讀:716   評論:0
內容摘要:大多數現代的基于閃存的設備控制器利用加擾器模式來為他們寫入閃存的數據。該擾碼器通常是控制器制造商所獨有的,有時也是獨立的控制器型號。只有在加擾模式已知(或可以確定)的情況下才能從以這種方式加擾的設備中恢復數據,因為加擾數據在沒有首先被去除加擾模式的情況下將不可用。加擾器實現類似于基本加密,其中由控制器對數據進行異或(此...

大多數現代的基于閃存的設備控制器利用加擾器模式來為他們寫入閃存的數據。該擾碼器通常是控制器制造商所獨有的,有時也是獨立的控制器型號。
只有在加擾模式已知(或可以確定)的情況下才能從以這種方式加擾的設備中恢復數據,因為加擾數據在沒有首先被去除加擾模式的情況下將不可用。
加擾器實現類似于基本加密,其中由控制器對數據進行異或(此處為異或)操作。這是在使用控制器的線性反饋移位寄存器寫入閃存之前發生的。
與真正的加密不同,加擾模式不是出于安全原因而設計的,因此易于識別,提取然后用于數據恢復。

使用Visual Nand Reconstructor,我們能夠以(通常)相對直接的方式識別和提取新的或未識別的Xor加擾器模式。我們使用閃存芯片架構的一些知識來實現這一點,然后我們將其與VNR的位圖查看器組件結合使用。
在開始提取密鑰之前,記下我們用于創建閃存轉儲的一些芯片參數是很有幫助的。
使用Visual_Nand_Reconstructor提取XOR(Scrambler)密鑰
首先,我們需要:
- NAND芯片的頁面大小
- 芯片的塊大小
為什么?Xor加擾器鍵往往是塊大小的倍數。它們使用重復模式,當我們將位圖查看器設置為恰好一頁的大小時,該模式很容易看到。當涉及塊大小的重要性時,整個密鑰往往是1個塊的精確長度,塊的1/2,閃存芯片的1/6塊。我們稍后將使用這個事實來使提取過程更簡單。

這個過程

1.識別和設置閃存的結構

我們應該首先確定我們的NAND芯片的結構,通過它我們可以輕松確定數據區域(可能是異或),備用區域標記和ECC代碼。之后我們肯定需要刪除制造商的備用區域標記和ECC,因為這些區域沒有進行異或,并且不需要通過我們的過程進行排除。有時備用區標記也是異或的,這種情況并不常見,但可能會發生。
可以在文章中找到使用VNR的NAND芯片的目的,識別和結構生成的解釋。

2.識別鑰匙

如果您已經花了一些時間處理案例并且無法確定您期望的通常的,可讀的數據結構,則可能是數據被加擾或加密。對于市場上可用的大多數設備,不支持或實施加密。
在實現XOR擾碼器的情況下,通常可以在閃存轉儲中找到模式。這些模式通常很容易識別,可以在文章中找到識別這些模式的指南。
要查看上面鏈接的“Xor鍵視覺識別”文章中顯示的可識別結果的類型,我們需要將位圖查看器設置為一頁的大小(如果默認情況下未設置)。一旦我們完成了這個操作,我們就可以滾動NAND轉儲并嘗試找到一個模式,例如與上面鏈接的模式,以便開始我們的提取。

3.確定密鑰的開始和結束

還有另一種瀏覽轉儲的方法,可以節省時間并防止手動設置密鑰的開始和結束偏移。我們可以通過將頁面大小設置為閃存的一個塊來實現這一點(這是我們之前記錄的值之一)。
VNR允許我們將十六進制編輯器設置為Page View,并以恰好一個塊大小的增量逐步執行轉儲。這也將有助于我們以后,因為十六進制編輯器也將只顯示一個塊,我們可以非常簡單地提取整個XOR鍵,然后也保存它。
通過在主VNR界面中選擇它,然后單擊工具欄中的轉儲查看器項,打開您想要處理的“Phy Image”。這將允許我們打開VNR的轉儲查看器顯示。在轉儲查看器的工具欄菜單中,您應確保選擇了十六進制視圖和位圖視圖。此外,單擊十六進制視圖并確保選中“頁面視圖”。

您現在應該有一個類似于以下內容的Window:

使用Visual_Nand_Reconstructor提取XOR(Scrambler)密鑰
現在進行最終的UI配置步驟:

1.轉到位圖查看器選項卡
在左上角,您將看到一個標記為“頁面大小”的字段,其右側有一個圖標,由P和兩個綠色箭頭組成。單擊此圖標會將我們的位圖視圖設置為我們在NAND芯片配置中使用的頁面大小。

2.在Hex Viewer中,將頁面大小設置為我們之前提到的NAND芯片“塊大小”。

3.現在您可以通過兩種不同的方式取得進展,您可以:
- 使用滑塊和箭頭一次單步執行1個塊,直到找到您的鍵
- 使用位圖視圖右側的滾動條并嘗試以這種方式定位模式

當密鑰和體系結構未知時(與新的和/或不支持的設備一樣),沒有確切的科學來定位密鑰,但是有一些事情需要牢記。通常,設備的控制器利用閃存最開始的塊來存儲固件代碼。該區域可以包括關于閃存上的數據的邏輯布局,轉換器表和許多其他信息的信息。一次跳過這1個區塊可能非常耗時。通常,我們跳32個塊,如果沒有數據,我們跳到塊64,然后跳到128,依此類推。一旦我們找到了持久的數據區域,我們就可以恢復每次一個塊的步進,直到找到密鑰為止。

在下圖中我們很幸運,我們有兩個包含Xor鍵的連續塊,這在提取“干凈”鍵時非常有用。

使用Visual_Nand_Reconstructor提取XOR(Scrambler)密鑰
某些控制器會使事情變得更加復雜。例如,Phison并不總是使用正好為1個塊的鍵。遇到這種情況時,有必要使用位圖查看器來識別密鑰的重復周期。此過程不如我們用于確定完整塊XOR鍵的過程精確。

這不應該被證明是一個太大的問題,因為塊大小完全可以被XOR鍵大小整除,所以我們仍然可以使用一個完整的塊作為我們的密鑰,只是密鑰將比它需要的大。 。

4.提取密鑰的多個副本

找到1個密鑰后,我們就遇到了問題。我們提取的塊有可能包含完整的不妥協的密鑰,但這是不可能的。

我們還有一些事情需要考慮:
- 密鑰可能包含已被數據破壞的區域,到目前為止,我們無法判斷密鑰是純XOR密鑰還是只是一個高密度區域濃度為0x00(零)或0xFF。
- 我們沒有考慮ECC,提取的密鑰很可能包含誤碼,我們也沒有考慮過這個問題。
- 仍然有可能(但不太可能)這是一個用不像0x00或0xFF那么簡單的模式編寫的區域。該模式可以在整個密鑰區域上重復相同的字節,或者可以重復2個字節或更多。

為了最有可能減輕上述問題,我們需要從轉儲的不同區域提取密鑰的三個副本。如果我們知道轉儲包含特定數據集,我們可以選擇三個連續的塊 - 如果我們不能確定,那么嘗試找到來自NAND上不同位置的三個塊總是更好。
找到鍵后,我們可以在十六進制編輯器中選擇整個塊(這可以通過單擊并拖動或使用Ctrl + A來完成)。在“轉儲查看器”選項卡中,使用“保存選定”將密鑰保存到案例文件夾,對第二個和第三個區域重復此過程,如下圖所示。

一旦我們有了3個區域,我們就可以開始清理密鑰了。無論ECC如何,都可以清除密鑰,因為即使在TLC內存上也會出現位錯誤的可能性,這些錯誤會影響與我們提取的其他兩個版本完全相同的位,這一點可以忽略不計,也就是說,這并非完全不可能。這發生了,所以要注意它。如果ECC類型在VNR中可用且可用,則理想的是在綠色塊上工作,這通過消除在我們提取的密鑰內的ECC錯誤的可能性來減少等式中的一個未知數。理想情況下,應盡可能避免ECC映射中的紅色塊。

使用Visual_Nand_Reconstructor提取XOR(Scrambler)密鑰
5.比特驗證者

現在我們有了XOR鍵的樣本,我們可以清理它們。通常,特別是如果我們通過VNR啟用了ECC,我們的密鑰已經非常干凈了,但是我們不能排除密鑰區域中存在的實際數據會破壞提取的密鑰。如果密鑰對我們來說是全新的,我們不能排除在模式下隱藏特定模式的數據 - 我們可以做的是最小化密鑰中存在誤碼或偶然字符的可能性,從而破壞提取的內容版。
為此,我們使用VNR的“比特驗證”功能。位驗證器接收輸入并比較它們。如果三個輸入中的兩個包含相同的數據而第三個輸入不一致,則位驗證器會忽略不一致的元素并與其他兩個元素一起使用。這個過程并非萬無一失,但在實踐中它非常可靠,特別是與ECC結合使用時。

現在從VNR工作區打開提取的密鑰。使用“打開物理圖像”菜單項,您可以同時選擇所有三個,它們將被添加到VNR工作區。我們現在可以驗證它們。

要使用Bit Verificator,請執行以下操作:
A。將Bit Verificator“V”元素添加到VNR工作區
B.檢查元素數是否已設置為已提取的鍵的版本數
C.加入每個元素提取密鑰到Verificator 
你應該留下以下內容:

使用Visual_Nand_Reconstructor提取XOR(Scrambler)密鑰
6.刪除標記結構和ECC

在大多數情況下,Xor加擾器模式僅適用于閃存的數據區域,一些控制器也在備用區域上實現它,但這種情況不太常見。對于此示例,我們只需要從數據區域中刪除加擾器。我們將完全從提取的密鑰中刪除ECC和備用區域。由于我們已經定義了flash的結構,這個過程很簡單:

A.右鍵單擊具有已定義結構的轉儲,然后選擇“將結構復制到緩沖區”

使用Visual_Nand_Reconstructor提取XOR(Scrambler)密鑰
B.右鍵單擊'Bit verify'元素并選擇'從緩沖區粘貼結構'
使用Visual_Nand_Reconstructor提取XOR(Scrambler)密鑰
C.添加'數據區'元素并將其連接到'位驗證',將結構轉儲設置為'數據區',如下所示。
使用Visual_Nand_Reconstructor提取XOR(Scrambler)密鑰
7.保存'Clean'Xor鍵
在上面的步驟中,我們從鍵中刪除了SA和ECC結構。我們現在需要保存密鑰,選擇Data area元素,選擇Dump viewer菜單項,然后選擇Save all。Xor鍵的命名約定在Visual NAND Reconstructor Book Part 2中列出  。軟件
您現在可以通過將Xor鍵設置為VNR工作空間中Xor元素的源文件來應用Xor鍵。
8.創建XOR密鑰提取設備
在某些情況下,有時用于研究,有時當使用上述方法無法找到XOR密鑰時,有必要找到可用于密鑰提取的閃存設備。
實現此目的的最佳方法是使用十六進制編輯器來填充具有已知模式0x77的工作設備。0x77在閃存介質上創建非對稱二進制模式,以后易于識別和刪除。
一旦填充,我們應該看到一個重復模式,但是,這不是XOR鍵,它是XOR鍵與0x77異或。如果您按照上面的提取過程并保存密鑰,您可以稍后使用任何好的十六進制編輯器或二進制文件操作工具將其與0x77進行異或運算,以獲得原始的XOR密鑰。

標簽:使用 提取 
相關評論
不良信息舉報中心成都網警網警110報警服務AAA級互聯網行業信用360網站安全檢測

數據恢復QQ交流群:378664983    站長QQ:958754010

客戶服務 商務服務
蜀ICP備14015947號-2
wta网球比分直播 互联网理财平台 开拓者vs森林狼直播 闲来宁夏麻将俱乐部 日本av快播影片 女性太原一条龙服务 投资理财产品网站哪里好 贵州11选5近20 幸运飞艇走势图 开心激情成人三级片网网站 西宁一条龙论坛 新疆18选7 河北十一选五开奖结 湖人vs步行者 最新好运南京麻将app 188即时比分网 快播三级片第一页