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

相关推荐
跃渊Yuey7 分钟前
【Linux】线程同步与互斥
linux·笔记
舰长11510 分钟前
linux 实现文件共享的实现方式比较
linux·服务器·网络
zmjjdank1ng24 分钟前
Linux 输出重定向
linux·运维
路由侠内网穿透.26 分钟前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
VekiSon1 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
Hello World . .1 小时前
数据结构:栈和队列
c语言·开发语言·数据结构·vim
zl_dfq1 小时前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux
Ankie Wan1 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
skywalk81632 小时前
尝试在openi启智社区的dcu环境安装ollama最新版0.15.2(失败)
linux·运维·服务器·ollama
zhengfei6112 小时前
AutoPentestX – Linux 自动化渗透测试和漏洞报告工具
linux·运维·自动化