首页 / 科技百科

如何打开二进制文件

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.

猜你喜欢

  • 娱乐之最

    "震撼!娱乐圈最坚固的爱情堡垒,邓婕张国立如何共渡风雨?"

    邓婕与张国立:绘梦人生,爱绘传奇序章:点亮星辰,共赴非凡之旅亲爱的朋友们,今天,让我们携手踏上一段非凡的旅程,去探寻那两位在光影交错间,以艺术为笔,爱情为墨,共同绘制人生画卷的传奇人物——邓婕与张国立。他们的故事,如同夜空中最亮的星,引领我们走进一个充满爱与梦想的世界。请跟随我的脚步,一同点亮心中的..

    2025-04-04
  • 科技之最

    AI冲击下,大学如何站在科技创新最前沿?听听复旦同济校长怎么说

    AI时代,大学如何站在科技创新的最前沿?7月4日,在世界人工智能大会“科研范式变革与产业发展”主题论坛,复旦大学校长、中国科学院院士金力,同济大学校长、中国工程院院士郑庆华,中国科学技术大学党委常委、副校长吴枫,上海科技大学副教务长虞晶怡,展开精彩对话。复旦大学副校长姜育刚担任对话主持人。【大学能否仍然..

    2025-04-04
  • 商业之最

    商业新工具,如何成就创业青年

    这不只是商业的故事,更是关于人,关于命运,无论是谁,出生在哪里,都有机会越过关隘,触碰到更远的人生理想。文|鲁皮编辑|李天宇酒香也怕巷子深对着手机镜头,豆晓龙讲了一个笑话。直播间十来个人,评论里很快有人对他的笑话做出反应,说自己被逗笑了。这让他很兴奋,说出去的话真的有人在听,第一次直播,他一个平时不..

    2025-04-04
  • 排行榜

    装修公司排行榜十大排名:性价比终极对决,该如何选择?

    [附:同城装修公司排行榜查询工具“极速装修排行榜”小程序]最近朋友家新房装修踩了坑——号称全城最低价的装修队,开工后不断增项收费,完工后墙面开裂找不到人维修。这样的案例在装修旺季屡见不鲜,让很多业主开始关注装修公司排行榜。但面对网上各类榜单,究竟该信哪个?走访了37位装修过的业主发现,90%的人在对比装修..

    2025-04-03
  • 一生最值得看的书,看张嘉佳如何治愈我们的灵魂

    书籍,之所以被称之为人类的精神食粮,是因为一本好书能让人在思想上获得充实感,甚至于改变一个人的一生。世界上有太多的好书,还未曾与我们相遇。相信大家一定都有过,遇到一本好书,废寝忘食的想把它一口气看完的感觉。这就是书的魅力。今天,小编就跟大家介绍几本小编认为一辈子最值得看的书,每一本都是极为经典的作品..

    2025-04-03
  • 娱乐之最

    "娱乐圈最震撼蜕变!张嘉倪如何在豪门风云中,用演技征服世界?

    重塑:张嘉倪:光影幻境中的蜕变与辉煌绽放序章:梦织光影,星辰初绽光芒在北京电影学院那片孕育梦想的沃土上,张嘉倪如同一颗被精心雕琢的宝石,在光影的交错中悄然闪耀。年仅19岁的她,在选秀的璀璨舞台上,以非凡的才情与绝美的容颜,瞬间捕获了万千目光,正式踏上了那条星光熠熠的演艺征途。第一篇章:紫菱幻影,星光轻..

    2025-04-02
  • 娱乐之最

    揭秘!赵丽颖如何用“小透明”身份,逆袭成娱乐圈最亮星?

    赵丽颖:从乡间田埂跃向星光璀璨的不凡旅程一、梦起乡土,逆风飞翔的序章在那片孕育希望的乡村土地上,赵丽颖,一个怀揣梦想的小女孩,踏上了通往繁华娱乐圈的征途。她的起点,没有红毯与闪光灯,只有对表演无尽的热爱与一腔孤勇。面对外界的冷嘲热讽,她如同一颗顽强的种子,在逆境中生根发芽,誓要绽放出属于自己的光彩。..

    2025-04-02
  • 娱乐之最

    "娱乐圈最不可思议的重生!郑秀文如何以健康之名,颠覆审美界限"

    逆袭重生:郑秀文的健康魔法大揭秘序章:星途骤暗,健康警钟想象一下,你正站在世界的聚光灯下,享受着无尽的荣耀与掌声,突然间,一场神秘的“健康风暴”席卷而来,将你从云端狠狠拽回地面。对,这说的就是郑秀文,那个曾经闪耀在娱乐圈顶端的璀璨明星。但这次,她的故事不是关于跌落,而是一场华丽的逆袭重生。第一章:深..

    2025-04-02