winhex簡介Winhex 是 X-Ways公司 出品的一款 十六進制編輯 、 磁盤編輯軟件 ,其公司網(wǎng)站對其功能介紹如下:
- 可以對硬盤、軟盤、CD-ROM、DVD、ZIP及各種存儲卡進行編輯
- 支持FAT、NTFS、Ext2/3、ReiserFS、Reiser4、UFS、CDFS、UDF等文件系統(tǒng)
- 可支持重組RAID及動態(tài)磁盤
- 附帶數(shù)據(jù)恢復功能
- 可以訪問物理內(nèi)存及虛擬內(nèi)存
- 內(nèi)置數(shù)據(jù)解釋器,可以識別解釋20種數(shù)據(jù)類型
- 可以用數(shù)據(jù)結(jié)構(gòu)模板查看、編輯結(jié)構(gòu)數(shù)據(jù)
- 可以分割與合并文件
- 可以對文件進行分析與對比
- 具有靈活的搜索和替換功能
- 可以對磁盤進行克隆
- 可對磁盤進行壓縮鏡像備份,支持對備份文件進行分卷處理
- 具有編程接口,支持腳本操作
- 支持256位加密、校驗和、CRC32、hash(MD5,SHA-1)計算
- 支持對磁盤進行數(shù)據(jù)安全銷毀
- 包含ANSI ASCII, IBM ASCII, EBCDIC, Unicode字符集
- 支持文件大小超過4GB
從上面官網(wǎng)介紹可以看出:winhex功能非常豐富,也很強大,具體的功能使用介紹這里就不說了,童鞋們有興趣可以去 安恒萌新粉絲群:928102972 群文件下載 《最完整的winhex教程集合+winhex數(shù)據(jù)恢復入門使用教程》 和 工具(X-WaysWinHex19.6-SR0 x86/x64綠色漢化版) 。
這里就談談winhex在CTF中的簡單應用,歡迎各位大佬在評論區(qū)發(fā)表高端的操作技巧或者經(jīng)驗分享。 十六進制編輯這個功能也是最常用的,ctf中經(jīng)常會用來 查看十六進制數(shù)據(jù)和ascii碼 、 修改文件頭 、 修改圖片IHDR 等。 查看十六進制數(shù)據(jù)和ascii碼把目標文件直接拖進 winhex 或者 文件——>打開——>選擇要打開的文件 會有些送分題,打開直接 ctrl+f ,輸入搜索 flag ,會有意想不到的驚喜
這里也就比直接給flag多了個ascii編碼 修改文件頭在CTF經(jīng)常會遇到 打開文件錯誤 或者 無法打開文件 ,但是又已知 文件格式后綴 的 可以檢查一下文件頭或者文件尾是否完整。 常見文件文件頭文件尾格式總結(jié)及各類文件頭 例如下面這題:
發(fā)現(xiàn)這個gif文件打開錯誤,發(fā)現(xiàn)缺少文件頭。
光標點擊第一個字符處,點擊 編輯 ——> 粘貼0字節(jié) ——>在彈窗中輸入0字節(jié)數(shù)的輸入框里輸入 4 ——>確定 發(fā)現(xiàn)多了4個字節(jié)的空位,然后點擊十進制值 00 ,依次在鍵盤里輸入gif的文件頭 47494638 ,然后點擊保存 發(fā)現(xiàn)圖片可以正常打開了 然后用一些看圖軟件或者gif編輯工具,逐幀查看記錄下flag即可 這里推薦一個在線轉(zhuǎn)換編輯gif的工具https:///功能很豐富。 修改圖片IHDR文件頭數(shù)據(jù)塊IHDR(header chunk):它包含有PNG文件中存儲的圖像數(shù)據(jù)的基本信息,并要作為第一個數(shù)據(jù)塊出現(xiàn)在PNG數(shù)據(jù)流中,而且一個PNG數(shù)據(jù)流中只能有一個文件頭數(shù)據(jù)塊。 文件頭數(shù)據(jù)塊由13字節(jié)組成,它的格式如下表所示。 有時候我們拿到的圖片可能是顯示不完全的
這里查看到十六進制高度值 這時候就可以去嘗試修改IHDR中的寬高值。這里只要修改高度值為 027F 最終效果
修改軟件界面名字這個也可以用很多資源工具實現(xiàn),比如 reshack ,用winhex手動也可以實現(xiàn)
前提: 確定原始的軟件被替換的文字,必須是軟件存在的,而且替換文字長度不能比被替換文字長,否則程序就可能被破壞了,可能導致程序無法正常運行哦。
這里我拿 godofhack 演示,對就是這個屌炸天的工具,黑客神器,誰用誰知道! 這里把 一鍵錘爆出題人的頭 改成 安恒大學是最可愛的 首先查詢出這些文字的ASCII編碼值 一 鍵 錘 爆 出 題 人 的 頭
0x4e00;0x952e;0x9524;0x7206;0x51fa;0x9898;0x4eba;0x7684;0x5934;
安 恒 大 學 是 最 可 愛 的
0x5b89;0x6052;0x5927;0x5b66;0x662f;0x6700;0x53ef;0x7231;0x7684; 得到了每一個字的編碼,我們來組合一下完整的十六進制存儲序列。我們不看0x,每一個編碼只剩下4個數(shù)字,后面兩位放在前面,前面兩位放在后面,那么 一鍵錘爆出題人的頭 的完整的十六進制序列為 004e2e9524950672fa519898ba4e84763459 替換成 895b52602759665b2f660067ef5331728476
最終效果如下 修改其他字符也是一樣的原理。 其他CTF還會遇到一些幾個文件合并成一個的,那種可以用 File_Analysis 這個工具簡單分析一下,然后打開winhex搜索文件頭尾講數(shù)據(jù)塊復制出來另存實現(xiàn)文件分離。linux里可以用binwalk -e 文件名。 還有一些 修改軟件界面名字 、 內(nèi)存編譯 , 磁盤編輯 、 數(shù)據(jù)恢復 等更高級的功能就讓小伙伴們自行探索吧 文中用到的附件:https://pan.baidu.com/s/1nYwzHlXSYhZGMqN3yLmRmQ
|