import struct
import os,sys
extfun=lambda x: x
def read_file_hex(file_path):
file_object = open(file_path,'rb')
file_object.seek(0,0)
hex_str =''
byte = file_object.read()
if byte:
for b in byte:
hex_str += ('%02X' % extfun(ord(b)))
file_object.close()
return hex_str
def wirte_to_file(hex,file_path):
fout = open(file_path,'wb')
for i in range(len(hex)/2):
x = int(hex[2*i:2*(i+1)], 16)
fout.write(struct.pack('B', extfun(x)))
fout.close()
def hex_replace(hex,find_str,replace_str):
return hex.replace(find_str,replace_str)
if __name__=='__main__':
file_str = read_file_hex('test.txt')
new_file_str = hex_replace(file_str,"333434","414243")
wirte_to_file(new_file_str,'test.txt')
python-文件替换二进制脚本
最新推荐文章于 2023-05-31 20:11:13 发布