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

相关推荐
方便面不加香菜1 小时前
Linux--基础IO(一)
linux·运维·服务器
mounter6256 小时前
现代 Linux 内存管理的演进与变革:从传统 LRU 到多代架构 MGLRU
linux·服务器·kernel
赵渝强老师6 小时前
【赵渝强老师】Kubernetes(K8s)中的金丝雀升级
linux·docker·云原生·容器·kubernetes
Qt程序员6 小时前
Linux RCU 原理与应用
linux·c++·内核·linux内核·rcu
The Sheep 20237 小时前
Vue复习
linux·服务器·数据库
兄台の请冷静7 小时前
Linux 安装es
linux·elasticsearch·jenkins
fengyehongWorld7 小时前
Linux rg命令
linux
pride.li7 小时前
海思视觉Hi3516CV610--开机自动设置ip
linux·网络·网络协议·tcp/ip
我叫张小白。7 小时前
CentOS 7 安装 Docker并配置镜像加速(完整指南)
linux·docker·centos
Titan20248 小时前
Linux动静态库
linux·服务器·c++