二进制文件替换数据

本文介绍如何使用Python脚本根据CSV文件中的定位数据和值,修改二进制文件中指定位置的数据。内容包括理解需求、选择Python作为编程语言、处理文件读取和二进制数据切片,以及实现替换逻辑的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天一个好朋友,找我帮忙:
       说想定向的修改二进制文件指定位置的数据,希望我能写个脚本,通过某个 csv 文件里面的 定位数据,和对应值,以及数位长度进行修改。
要处理的数据文件:在这里插入图片描述
替换的数据:csv文件的数据:
在这里插入图片描述
问了好半天,他认真的告诉我:A.csv文件里面一行三个信息,第一列是DATA.BIN文件的某个要替换的数据的 偏移地址,第二列是对应地址要替换的值,第三列是要替换的长度,其中要替换的长度都可弄成1字节,到时候他写 csv 文件值的长度写一个字节长度就行了…

好吧,需求出来了,开始分析一下处理方式:
       首先是用啥语言写: 仅仅是对两个文件处理,难度在二进制文件数据处理,似乎一个脚本就足够了,用 python 吧,我挺喜欢这语言工具的,
       其次是怎么处理:文件读取可以用 open 函数,用二进制模式去读,到内存就是一长串01数据,想了很多,搞成 string 对象的话,程序会根据数据去查asscii表,然后能转化成对应的字符,如下面的这样子,确实可以用 eval 转回去:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值