Binary

如何反轉二進製文件的內容?

  • September 22, 2019

我正在解決一個挑戰,我發現一個沒有文件副檔名的數據文件。該file命令顯示它是一個data file (application/octet-stream). 該hd命令顯示GNP。在最後一行。因此,如果我反轉此文件,那麼我將獲得.PNG格式的文件,我到處搜尋,但沒有找到解釋如何反轉二進製文件內容的解決方案。

使用xxd(來自vim)和tac(來自 GNU coreutils,也在tail -r某些系統上):

< file.gnp xxd -p -c1 | tac | xxd -p -r > file.png

zsh(唯一可以在內部處理二進制數據的 shell(除非您想考慮ksh93 的 base64 編碼方法)):

zmodload zsh/mapfile
(LC_ALL=C; printf %s ${(s::Oa)mapfile[file.gnp]} > file.png)
  • LC_ALL=C: 字元是字節
  • $mapfile[file.gnp]:file.gnp文件內容
  • s:::將字元串拆分為其字節組成部分
  • Oa:Oa該數組的 ray 下標上反向 rder

引用自:https://unix.stackexchange.com/questions/416401