当前位置: 首页 > news >正文

使用vim编辑可执行文件--16进制模式

怎么使用VIM来编辑可执行文件呢? 并且是以16进制模式下!

首先,打开二进制文件时要加参数"-b",不然会报文件第一行错误.

$vim -b tuxcmd


打开文件后,默认是文本格式的,我们用":%!xxd"可以切换到十六进制编辑.

:%!xxd


是不是和utaredit很像呀?还可以加上参数-c来设置每行显示多少字节,比方用":%!xxd -c 16",就会显示成16字节一行.
如果用":%!od"命令,则会隐藏左侧的文本列.

不过,有一点不爽的就是改变文本列,不会改变16进制里的数据,只能手动在16进制列做修改.在文本列里的修改是不会生效的.

注意:修改完成后,不要保存,要再用":%!xxd -r"切换成文本状态格式再保存.

:%!xxd -r


最后

:wq

 

在vi的命令状态下 :
:%!xxd ——将当前文本转换为16进制格式。
:%!od ——将当前文本转换为16进制格式。
:%!xxd -c 12——将当前文本转换为16进制格式,并每行显示12个字节。
:%!xxd -r ——将当前文件转换回文本格式。
 
xxd工具:
xxd creates a hex dump of a given file or standard input. 
It can also convert a hex dump back to its original binary form.
 
od工具: 
Write an unambiguous representation, octal bytes by default, of FILE to standard output. 
With more than one FILE argument, concatenate them in the listed order to form the input.

相关文章:

  • Understanding ELF using readelf and objdump
  • C语言字节对齐
  • C语言可变长参数函数与默认参数提升
  • Essential GNU Linker Concepts for Embedded Systems Programmers
  • A Sample Linker Script
  • Load-time relocation of shared libraries
  • Position Independent Code (PIC) in shared libraries
  • Position Independent Code (PIC) in shared libraries on x64
  • getchar()函数的思考与总结
  • sturct stat 结构体中 st_mode 的含义
  • 环境变量及其函数
  • BIOS和DOS建立的中断向量表
  • CMOS RAM 各字节的含义
  • ubuntu命令行方式启动
  • 收集的一些句子
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • go append函数以及写入
  • Javascript Math对象和Date对象常用方法详解
  • Javascript编码规范
  • java小心机(3)| 浅析finalize()
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js中的正则表达式入门
  • Mysql5.6主从复制
  • socket.io+express实现聊天室的思考(三)
  • Vue.js-Day01
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 测试如何在敏捷团队中工作?
  • 分布式任务队列Celery
  • 今年的LC3大会没了?
  • 老板让我十分钟上手nx-admin
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 盘点那些不知名却常用的 Git 操作
  • 思考 CSS 架构
  • 温故知新之javascript面向对象
  • 我的业余项目总结
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • (+4)2.2UML建模图
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (SpringBoot)第二章:Spring创建和使用
  • (vue)页面文件上传获取:action地址
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (六)Hibernate的二级缓存
  • (三分钟)速览传统边缘检测算子
  • (实战篇)如何缓存数据
  • (小白学Java)Java简介和基本配置
  • (译)2019年前端性能优化清单 — 下篇
  • (原)本想说脏话,奈何已放下
  • (转) ns2/nam与nam实现相关的文件
  • (转)关于多人操作数据的处理策略
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET/C# 的字符串暂存池