首页 / 科技百科

如何打开二进制文件

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-11-20
  • 商业之最

    如何将“信任”规模化?——商业世界最核心的运营能力,

    “商业的本质是稀缺”是坚实的经济学基石。但正如骨骼需要神经与血液才能行动,稀缺的资源需要“信任”作为纽带,才能被高效、大规模地配置。认为“商业的本质是信任的规模化”,并非否定稀缺,而是探讨在稀缺的前提下,商业体系如何高效运行。那么,这个看似感性的“信任”,究竟如何被理性地、成体系地“规模化”呢?它主..

    2025-11-19
  • 机械之最

    “工程机械之王”诞生背后,新津区是如何做到的?

    11月14日,《每日经济新闻》“区域竞争力”《决胜“十四五”布局“十五五”一-成都区域投资观察特别策划》关注新津,一起来看。“原以为要三个月才能开工,现在12天就拿到所有开工证件!”近日,新津区某住宅项目启动施工,项目对接人难掩激动。据悉,新津区通过“提前介入+容缺审批+承诺制改革”的组合拳,使得该项目一次..

    2025-11-18
  • 天文之最

    星空数据工匠:·布拉赫与鲁道夫天文表如何改变了天文学的证据观

    在浩瀚无垠的宇宙之海中,星辰似乎永远高悬于我们无法触及的天幕之上,仿佛一部无法完全解读的百科全书。那些细微的字句,或许只有极少数的天文学家能用心去辨认,去理解。而在历史的长河中,有一位天才,他用毕生的耐心与智慧,逐字逐句地将这部天书读得清晰可辨。没有望远镜的时代,他凭借精巧的仪器和系统的观测,将星空..

    2025-11-18
  • 世界最大

    世界最大高空风力发电捕风伞成功开伞 “会飞的电站”如何发电

    图为世界最大5000平方米高空风力发电捕风伞开伞。柴思雨摄(人民视觉)长长的巨型“风筝”也能发电!日前,世界最大5000平方米高空风力发电捕风伞在内蒙古阿拉善左旗试验场开伞,完成全部预定试验内容并成功实现空中收伞,标志着我国高空风力发电技术在工程化应用方面迈出坚实一步。高空风力发电是利用空中组件捕获300米以..

    2025-11-17
  • 知识百科

    三年级下册植物作文如何写

    大家好,我是魏老师,分享三年级的习作知识点。今天给大家分享三年级语文下册,第一单元习作:我的植物朋友。 这次习作呢,我们要做一些课前的准备。记录桃花观察记录卡。像名称:桃花样子:花骨朵胀鼓鼓的,已经绽放的花朵,一个花瓣儿挨着一个花瓣儿围成圆形。颜色:粉红。气味:淡淡的清香。其他:春天开放,结出的果实..

    2025-11-16
  • 美食百科

    如何用各种酱卤猪心

    By 不是厨娘的婆婆用料心管 1只清水 适量老抽 适量盐 适量卤肉料 做法步骤1、把心管放冷水里泡1小时2、洗干净放入锅中,加冷水加满 加热3、煮开撇出血沫4、加入卤料包,老抽酱油5、煮半个小时候加入盐 继续煮至熟了大功告成做菜好吃都有技巧,我的每道菜都有小妙招,大家搜索“豆果”可以直接查看我的菜谱!喜欢这个食谱记..

    2025-11-15
  • 美食百科

    如何炒蛤蜊简单又好吃

    蛤蜊价格便宜,十块钱买不少,肉质鲜美,营养丰富,炒,蒸,焖,做汤都可以做的非常好吃 。跟大家一起分享蛤蜊的吃法!蛤蜊蒸蛋1、清水放少许盐 ,浸泡两小时,蛤蜊吐沙子,清水清洗干净 。2、鸡蛋打入碗中,打撒鸡蛋液,放少许盐,胡椒粉等调味料,搅拌均匀 。把蛤蜊放入鸡蛋液里 。3、起锅放水,大火烧开,隔水大火蒸七分..

    2025-11-15

微信分享

微信分享二维码

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

链接已复制