电脑坏了,最近在折腾termux,小展示一波成果,先挖个坑,有时间来介绍一波:
图片隐写
ctf杂项的其中一个分支,不知道大家看着破解逆向需要学习汇编/c会不会望而却步,兜兜转转最后其实还挺容易来到杂项这个赛道的。真正实操过以后个人感觉非常迷茫,就国内教程而言,感觉根本找不到一个很好的学习思路,所以最近干脆直接摆烂,想直接从原理开始查起了。
十六进制
大部分教程使用010 editor这款软件对图片信息进行搜索,在对付低级隐写图片时我有用过cat pic.png
,不过再难一点就无法拿下了,通过对010 editor原理进行了解,大概意思是要转码十六进制?
不是很清楚,不过有大概方向一般就好办了,linux自带有十六进制转码工具xxd,使用xxd pic.png
便可以对图片进行转码,xxd -r pic.png
可以恢复格式,另提一下还有-d可以转换为二进制形式,但是最好谨慎转码,对于win10熟悉的用户应该知道,win10会在你编辑文件时克隆一个新隐藏文件进行编辑,方便后悔时回退,但是linux是下定决心要让使用者自己负责的(血的教训)。
所以为了方便自己使用,我仿照win10自己写了一个shell脚本:
#!/data/data/com.termux/files/usr/bin/bash
# 该文件个人命名为viewer
function main() {
if [ "$1" != "--help" ] && [ "$1" != "-h" ] && [ "$1" != "" ]
then echo `cp $1 .$1`
echo `xxd .$1` "[True]转码成功"
echo `rm .$1` else
echo "$1,$data"
echo "viewer <picture_name>"
echo "可以在不对源图片照成不可逆损伤的前提下以十六进制打开图片,但是要注意结束后记得删掉对应的\".<picture>\"文件" fi }
main $1
懒,除了图片隐写以外没有实现其他功能,有兴趣的话可以试试自己折腾折腾。 布置方式大致如下:
cd /usr/bin
chmod u+x viewer
然后就可以用了: