buuCTF练习题misc大白记一次vim配合xxd使用

buuCTF的杂项题,要用十六进制修改,winhex和010edit没下载,就想试试可不可以用vim配合xxd来实现,最后成功了,记录一下踩过的坑。

一、用二进制打开文件

bash 复制代码
vim -b dabai.png

二、先进用xxd进入一次hex模式,查看偏移量地址,通过网上找到别人的解题答案发现图片宽和高的偏移量横坐标都为0x00000010,纵坐标偏移量从0到3就是宽,纵坐标偏移量从4到7就是高。

查看十六进制文件

vim 复制代码
:%!xxd

其中"0000 02a7"就是宽,"0000 0100"就是高,这里要改的数据就是高。换算成十进制,可以看到宽是679,高是256。

三、确定了偏移量,还不着急下手,因为现在对十六进制更改会影响到右边的ascii码,这时按uuu撤消,回到二进制文件。取消显示偏移量和ascii码,找到高的位置再进行更改。

进入并定位到高的位置。

vim 复制代码
:%!xxd -p
:/000002a700000100

把高也改成679试试。

四、退出xxd,并保存文件,将文件复制到windows中,打开得到flag。

vim 复制代码
:%!xxd -r -p
:wq

五、总结,此方法为未安装winhex和010edit时用Linux来编辑十六进制文件,也算是用xxd的一次学习。

相关推荐
fengyehongWorld1 小时前
TeraTerm ttl脚本登录wsl
linux·teraterm
乌托邦的逃亡者2 小时前
Linux中如何检测IP冲突
linux·运维·tcp/ip
一曦的后花园2 小时前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器
乌托邦的逃亡者3 小时前
CentOS/Openeuler主机中,为一个网卡设置多个IP地址
linux·运维·网络·tcp/ip·centos
念恒123063 小时前
进程控制---自定义Shell
linux·c语言
风曦Kisaki4 小时前
# Linux Shell 编程入门 Day02:条件测试、if 判断、循环与随机数
linux·运维·chrome
李日灐4 小时前
< 6 > Linux 自动化构建工具:makefile 详解 + 进度条实战小项目
linux·运维·服务器·后端·自动化·进度条·makefile
望眼欲穿的程序猿4 小时前
苹果系统使用VsCode开发QT
ide·vscode·编辑器
嵌入式×边缘AI:打怪升级日志5 小时前
嵌入式Linux开发:开源组件、第三方库与许可证详解
linux
计算机安禾5 小时前
【Linux从入门到精通】第34篇:搭建FTP与Samba——跨平台文件共享解决方案
linux·运维·服务器