ファイルの開き方
$ vim -b sample.txt
16進数への変換
:%!xxd
変換したファイルをもとに戻す
:%!xxd -r
実践
以下の画像ファイル(スクショでOK)を用意します
ファイル名はicon.png
$ vim -b icon.png
:%!xxd
一番下の行を以下のように変更してあげる
変更前 | 変更後 |
---|---|
:%!xxd -r
で元の形式に戻してあげる
ここで、再度バイナリにすると
:%!xxd
以下のように「OSAOSA」という文字列が表示されるようになっている
これで、見た目は変わらないけど、「OSAOSA」という文字列の入った画像が完成
補足
ちゃんとstrings
コマンドで「OSAOSA」を確認できる!
$ strings icon.png
IHDR
FiCCPICC Profile
aa``
FF^L^L
eXIfMM
ASCII
Screenshot
pHYs
iTXtXML:com.adobe.xmp
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:exif="http://ns.adobe.com/exif/1.0/">
<exif:PixelYDimension>168</exif:PixelYDimension>
<exif:PixelXDimension>444</exif:PixelXDimension>
<exif:UserComment>Screenshot</exif:UserComment>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
iDOT
^LUIDATx
S!6
(RZ5?
'v]t,
+@x12
...
OSAOSA
参考