首页 / 科技百科

如何打开二进制文件

2025-01-23 08:25科技百科
1Linux环境xxd命令如何编辑/修改二进制文件

xxd工具虽然不能直接修改二进制文件,但xxd -r参数可把Hexdump文本转成二进制内容。convert (or patch) hexdump into binary.

因此,对于要修改的二进制文件,可以先转为Hexdump文本,再通过xxd -r命令把Hexdump文本转为二进制文件。

[mycc@wen*z:~]$ xxd file1.binary0000000: 1234 0001 0000 0000 2022 0103 9900 000c .4...... ......0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1...0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3......0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0[mycc@wen*z:~]$ xxd file1.binary file1.txt [mycc@wen*z:~]$ vi file1.txt [mycc@wen*z:~]$ cat file1.txt 0000000: abcd 0001 0000 0000 2022 0103 9900 000c .4...... ......0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1...0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3......0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0[mycc@wen*z:~]$ xxd -r file1.txt file1.binary[mycc@wen*z:~]$ xxd file1.binary0000000: abcd 0001 0000 0000 2022 0103 9900 000c ........ ......0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1...0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3......0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0

xxd修改二进制文件示例

2用xxd查看二进制文件

2.1查看二进制文件

[mycc@wen*z:~]$ xxd file1.binary0000000: 1234 0001 0000 0000 2022 0103 9900 000c .4...... ......0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1...0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3......0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0

2.2.查看指定字节数量内容:-l参数表示长度

xxd -l 32 file1.binary 查看前32个字节

[mycc@wen*z:~]$ xxd -l 32 file1.binary 0000000: 1234 0001 0000 0000 2022 0103 9900 000c .4...... ......0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1...

2.3查看指定偏移位置后的内容:-s参数表示偏移位置(从0开始),当值为负数时为从尾向前数偏移

xxd -s 16 file1.binary 查看从16字节开始的内容

[mycc@wen*z:~]$ xxd -s 16 file1.binary 0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1...0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3......0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0

xxd -s -16查看最后16字节内容

[mycc@wen*z:~]$ xxd -s -16 file1.binary 0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0

2.4 限定每行输出的字节数:-c 参数,限定每行字节数量

xxd -c 8 file1.binary查看内容,每行8字节

[mycc@wen*z:~]$ xxd -c 8 file1.binary 0000000: 1234 0001 0000 0000 .4......0000008: 2022 0103 9900 000c ......0000010: 22f9 0100 0041 3106 ....A1.0000018: 1992 6741 3106 1992 ..gA1...0000020: 6700 00f7 0100 001f g.......0000028: 0933 0900 0000 0310 .3......0000030: 4800 0000 7156 0559 H...qV.Y0000038: 71fb 0102 2c01 0130 q...,..0

2.5以纯Hex字符输出:-p参数表示无空格,无序号,无ascii格式部分

xxd -p file.binary

[mycc@wen*z:~]$ xxd -p file1.binary 1234000100000000202201039900000c22f90100004131061992674131061992670000f70100001f0933090000000310480000007156055971fb01022c010130

2.6将二进制文件内容转为c语言内容:-i参数

xxd -i file1.binary将二进制文件内容转为c数组,这在某些测试过程中是有用的

[mycc@wen*z:~]$ xxd -i file1.binaryunsigned char file1_binary[] = { 0x12, 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x01, 0x03, 0x99, 0x00, 0x00, 0x0c, 0x22, 0xf9, 0x01, 0x00, 0x00, 0x41, 0x31, 0x06, 0x19, 0x92, 0x67, 0x41, 0x31, 0x06, 0x19, 0x92, 0x67, 0x00, 0x00, 0xf7, 0x01, 0x00, 0x00, 0x1f, 0x09, 0x33, 0x09, 0x00, 0x00, 0x00, 0x03, 0x10, 0x48, 0x00, 0x00, 0x00, 0x71, 0x56, 0x05, 0x59, 0x71, 0xfb, 0x01, 0x02, 0x2c, 0x01, 0x01, 0x30};unsigned int file1_binary_len = 64;

2.7综合利用上面参数示例

xxd -p -s 16 -l 32 -c 8 file1.binary 偏移16字节,输出32个字节内容,每行输出8字节,以纯Hex方式显示

[mycc@wen*z:~]$ xxd -p -s 16 -l 32 -c 8 file1.binary22f90100004131061992674131061992670000f70100001f0933090000000310

xxd --help[mycc@wen*z:~]$ xxd --helpUsage: xxd [options] [infile [outfile]] or xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]Options: -a toggle autoskip: A single * replaces nul-lines. Default off. -b binary digit dump (incompatible with -ps,-i,-r). Default hex. -c cols format cols octets per line. Default 16 (-i: 12, -ps: 30). -E show characters in EBCDIC. Default ASCII. -g number of octets per group in normal output. Default 2. -h print this summary. -i output in C include file style. -l len stop after len octets. -ps output in postscript plain hexdump style. -r reverse operation: convert (or patch) hexdump into binary. -r -s off revert with off added to file positions found in hexdump. -s [ ][-]seek start at seek bytes abs. (or : rel.) infile offset. -u use upper case hex letters. -v show version: xxd V1.10 27oct98 by Juergen Weigert.

更新于:8天前

猜你喜欢

  • 三款平价美的电热水壶推荐,看如何挑选最合适的一款

    说到电器,美的真的是很不错的品牌。在这里我将给大家推荐三款相对比较平价的美的电热水壶,你可以选择一款供自己或是家庭使用,而且后面还配上了如何挑选适合自己的电热水壶,相对来说美的电热水壶真的很不错,同时它们的价格也相对平民,再加上维修售后工作做的比较好,所以选择美的电热水壶,真的是不错的选择!1、美的P..

    2025-01-31
  • 职场百科

    收心锦囊 父母如何助力孩子开学

    春节已过, 寒假进入倒计时阶段,还有一周开学的钟声即将敲响,同学们也将迎来新学期。欢度春节,寒假里同学们都很快乐,同时时间管理也较为散漫,而开学后,同学们就要从假期的闲散状态回到紧张、规律的学校生活中来。为了让同学们以最佳状态投入到开学后的学习生活中,家长和同学要早规划、早准备,顺利迎接开学。一、调..

    2025-01-30
  • 国产笔记本电脑排名,高手教你如何挑选游戏办公本

    马上又到了新一轮的开学上班时间了,电脑似乎是很需要的一个物件,国产笔记本电脑排名让你知道国产的东西并不一定比进口的差,所以说国产的电脑真的有很多很好的。而且近年来国产的很有新生品牌也很厉害的升起了。而国产笔记本电脑排名让你选择适合自己的最好的电脑!国产笔记本电脑:荣耀MagicBook、联想ideapad 720s-13、..

    2025-01-29
  • 职场百科

    领导应该如何有效的激励员工

    对于大多数管理者而言,管人始终是个颇为棘手的问题。下属的知识水平不同,性格爱好不一,地域文化各异,对于管理理念和管理方式的接受能力也就迥然不同。把下属管好,确实是一门高深的学问。管人虽说有难度,但也并非管不好,关键之处是管理者定要掌握一些艺术性的管理手段。既能令下属信服,紧紧地把握管理权,使自己始终..

    2025-01-28
  • 职场百科

    如何写出一份优秀的工作总结

    全文字数:4039字预计阅读时间:7 分钟如何写好工作总结是个很难回答的问题。工作总结从来就没有一套现成的写法。细心的同志可以查一查历届党的代表大会报告,从结构、层次到主题、表达方法都不一样,是一年一个样。但是就一般而言,写工作总结也有规律可循。我觉得,以下几个问题如果研究和把握好了,对写好工作总结大有益..

    2025-01-28
  • 母婴百科

    如何用香蕉自制雪糕

    夏天来了,冰棍要安排上啦!今天就和小伙伴们分享一款超级简单又巨美味的香蕉冰棍!学会了今年夏天就不用去超市买雪糕啦~香蕉3根奥利奥碎、坚果碎、酸奶:适量香蕉对半切开插上冰棍棒;裹满酸奶(倒在杯子里,插进去裹满酸奶)撒上奥利奥碎、坚果碎,放入冰箱冻4个小时是不是超级简单,赶紧试试吧~..

    2025-01-28
  • 塌鼻子的女人性格好吗 婚姻运势如何

    塌鼻子的女人性格老qdjErUXvt实本分、通情达理,婚姻运势是很好的。塌鼻子指的就是鼻梁很低或者根本就没有鼻梁,鼻子头看起来也特别的矮,显得又圆又大,这种鼻子长相的女人虽然面相看起来没有鼻子高挺的女人好看,不过各方面的运势还是很好的,性格也非常的好,特别适合娶做老婆。塌鼻子的女人性格女人塌鼻子在面相学中被..

    2025-01-28
  • 男人鼻翼薄命运如何 各方面运势怎么样

    男人鼻翼薄命运不太好,各方面运势也不好。虽然鼻子特征有很多类别划分,但是仔细观察就会发现每个人的鼻子长相都是完全不同的,多多少少都会有一些细微的变化1316世界之最,而正是这种细微的变化,会非常影响一个人的运势,很可能会带来完全不同的命运。男人鼻翼薄命运如何男人鼻翼薄命运是不太好的,这种面相的男人非常的..

    2025-01-28