【Crypto】linux图片隐写术脚本

电脑坏了,最近在折腾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

然后就可以用了:

ctf·shell
198 views
Comments
登录后评论
Sign In
·

补充:crypto为密码学,日常打错

·

其实逆向不需要中低级语言的……一般的编程语言都是支持二进制数据类型的,就是学一下位运算的事儿~我就用PY实现了个~