首页 / 科技百科

如何打开二进制文件

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.

猜你喜欢

  • “工匠之师”如何锻造

    培养大国工匠必先锻造“工匠之师”。日前,教育部公布了第二批国家级职业教育教师教学创新团队(以下简称创新团队)名单。240个创新团队覆盖职业教育16个专业大类114个专业,在4年建设期内进行了一系列改革,取得了显著成效。创新团队的建设不仅为新时代职业教育教师队伍建设探索出了一条有益的路径,也清晰地勾勒出职业教..

    2025-10-19
  • 科技之最

    新华视点丨“科技游”持续升温,如何开辟文旅新蓝海?

    新华社北京10月16日电 题:“科技游”持续升温,如何开辟文旅新蓝海?新华社“新华视点”记者何磊静夜空为幕,景区千架无人机腾空而起,编织出如梦似幻的光影奇观;戴上VR眼镜,沉睡的兵马俑仿佛在眼前“复活”;火星主题基地里,孩子们穿上宇航服,开启一场激动人心的“太空任务”……这并非科幻电影,而是在全国多地真实..

    2025-10-18
  • 知识百科

    如何学好高中文言文

    优学优考策略,致力于将学与考的最优结合。本文为学法指导类文章,约一千三百字,读完需四分钟左右时间。若需制定个人专属学习策略,请发私信交流。都说幸福是个比较级,那对于学生,学语文还算是件比较幸福的事,毕竟没有理科上那种绞尽脑汁也解不出的难题;而且从成绩来看,也不会过于难看。正因如此,大多数高中生对语文..

    2025-10-18
  • 知识百科

    如何画超级q萌的动物简笔画

    爆笑动态图库:教孩子“简笔画”,只需五笔画动物,孩子开发智力,一分钟变画家。​一分钟变画家:小鸟​一分钟变画家:喵星人​一分钟变画家:恐龙​一分钟变画家:大象​一分钟变画家:长颈鹿​字母“a.b.c.d.e.f.g”变动物,这都是作者的宝贝画的哦,绝对原创。关注作者不迷路,后期更多原创简笔画献给大家。..

    2025-10-18
  • 机械之最

    从“边远地带”到“枢纽地带”,内陆腹地如何成为开放前沿

    原标题:前8月,新疆外贸进出口总值3563.1亿元,增长25.4%,高于全国增速21.9个百分点内陆腹地成为开放前沿(新视窗)图①:新疆某企业生产的产品远销阿联酋、新西兰、泰国等国家。何 龙摄 图②:霍尔果斯海关关员服务保障商品车出口。王白瑜摄 图③:阿拉山口海关关员对铁路口岸运输工具开展监管。张昭晖摄 图④:繁忙的新..

    2025-10-16
  • 军事之最

    嘉峪关一座雄关如何成为长城最坚韧的符号?

    #嘉峪关何以成为长城重要的符号?#在祁连山与黑山之间的狭窄通道上,一座孤城扼守河西走廊最窄处。它没有山海关面朝大海的壮阔,也不及居庸关靠近京畵的显赫,却成为长城精神最坚韧的象征——这背后,隐藏着怎样的生存智慧?选址玄机:15公里天险与“长城第一隘”嘉峪关的选址堪称古代军事地理学的巅峰之作。关城正卡在河西..

    2025-10-16
  • 机械之最

    长者饭堂如何长久飘香

    光明日报记者 严圣禾 本报通讯员 郭愉昂在深圳福田区梅林一村社区,眼看着要到饭点了,钟奶奶家却锅不动、瓢不响。钟奶奶在阳台上修剪花草,老伴在客厅里看电视。一到饭点,两人麻利地收拾整齐,结伴下楼,走进社区长者饭堂,几分钟后热腾腾的饭菜就端上了餐桌。吃完饭,老两口慢悠悠地回到家准备午休。这份幸福,并非市中..

    2025-10-15
  • 商业之最

    重新定义的力量:当旧物焕新,企业如何破茧重生?

    “创新已死?”当无数企业将巨额资金投入研发中心,追逐下一个“全新”概念时,市场的回应却往往是冰冷的沉默。我们站在堆积如山的专利文件前,困惑着:为何创新的投入与回报之间,横亘着如此巨大的鸿沟?乔布斯曾一针见血地指出:“创新不是发明新东西,而是重新定义旧东西。”这并非否定发明的价值,而是揭示了创新的另一..

    2025-10-15

微信分享

微信分享二维码

扫描二维码分享到微信或朋友圈

链接已复制
蜂鸟影院2048影视资源论坛熊猫影视河马影视星辰影视萝卜影院八哥电影网人人看电影无忧影视网橙子影视网叮当影视网天天影视网青青影视网电影天堂开心追剧网西瓜影院麻花影视网70影视网年钻网茶小舍电影藏影堂新神州影域煮酒观影体积影视爱看影院星光电影至尊影院极影公社超清视界