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的一次学习。

相关推荐
一个平凡而乐于分享的小比特2 小时前
Linux内核构建三剑客:Kconfig、.config与Makefile关系详解
linux·makefile·kconfig·.config
Dillon Dong2 小时前
服务器运维:Linux 磁盘查看 & 清理常用命令
linux·运维·服务器
ben9518chen2 小时前
Linux用户管理
linux·运维·服务器
用户6135411460163 小时前
xampplinux_v174beta11在 Linux 下的安装与配置步骤
linux
Byron Loong3 小时前
【系统】Mac系统和Linux 指令对比
linux·macos·策略模式
markvivv3 小时前
在 Kylin Linux Advanced Server for Kunpeng V10 上构建 VSCode 1.106
linux·vscode·kylin
看见繁华4 小时前
Linux 交叉编译实践笔记
linux·运维·笔记
tianyuanwo4 小时前
深入解析CentOS 8网络配置:NetworkManager DNS管理机制与网卡类型深度剖析
linux·网络·centos
tianyuanwo4 小时前
深入解析CentOS 8中NetworkManager重启后DNS配置被覆盖的机制与解决方案
linux·运维·centos·dns
Dragon~Snow4 小时前
Linux-centOS Stream 9 系统 mysql-8.4.7 RPM版本
linux·mysql·centos