1. 程式人生 > >Bugku隱寫1(WinHex的學習)

Bugku隱寫1(WinHex的學習)

將圖片在WinHex裡開啟
第二行,前四位是寬,後四位是高。(這裡兩個數字在一起,是為一位)
PC機對有多位的十六進位制的資料的儲存方法是:低位在前,高位在後(16進制中,最右邊為最低位)
有大佬說,把圖片扔到虛擬機器裡,寬和高不匹配的話打不開
手動嘗試,出現的錯誤是:無法載入物件,IHDR:CRC error

CRC校驗是一種防錯處理程式,對寫入與讀取的資料進行比對,防止將錯誤資料當成正常的寫入

看writeup,是要將第二行的第7位改為F4,實際操作中,嘗試了一下,其實就算是將第5位(按照排法,第5位應該是最低位),將00改成01,都可以另存為後得到新的圖片,會報“無無效檔案:

user.txt.Do not proceed!”的錯,但還是能夠儲存圖片,而且能得到圖片下面的flag

WinHex(手動恢復資料)

將磁碟內容清空再恢復,挺有意思,下次試試


這裡學到的內容->WinHex恢復磁碟

MBR,即主引導記錄,位於整個硬碟的0柱面0磁軌1扇區,共佔用了63個扇區,但實際僅僅使用了1個扇區(512位元組)。在總共512位元組的主引導記錄中,MBR又可分為三部分:第一部分:引導程式碼,佔用了446個位元組;第二部分:分割槽表。佔用了64位元組;第三部分:55AA,結束標誌,佔用了兩個位元組。後面我們要說的用winhex軟體來恢復誤分割槽。主要就是恢復第二部分:分割槽表(64位元組)。

引導程式碼的作用:就是讓硬碟具備能夠引導的功能。假設引導程式碼丟失,分割槽表還在。那麼這個硬碟作為從盤全部分割槽資料都還在。僅僅是這個硬碟自己不能夠用來啟動進系統了。假設要恢復引導程式碼。能夠用DOS下的命令:FDISK/MBR;這個命令僅僅是用來恢復引導程式碼,不會引起分割槽改變,丟失資料。另外,也能夠用工具軟體,比方DISKGEN、WINHEX等。
但分割槽表假設丟失。後果就是整個硬碟一個分割槽沒有。就好象剛買來一個新硬碟沒有分過區一樣。可見分割槽表是非常多病毒喜歡破壞的區域

EBR。也叫做擴充套件MBR(Extended MBR)。由於主引導記錄MBR最多僅僅能描寫敘述4個分割槽項,假設想要在一個硬碟上分多於4個區,就要採用擴充套件MBR的辦法。

MBR、EBR是分割槽產生的。
每個分割槽又由DBR、FAT1、FAT2、DIR、DATA 5部分。

中英文切換
幫助(Help)->設定(Setup)->English please(中文)


如果資料改變而沒有儲存,會變成其他的顏色,選中要修改的,右鍵編輯/填充選塊,就可以新增自己想要加入的資料。儲存,得到的(比如圖片)是修復完後的圖片