fout = open(“patch.hex”,‘wb’) # open patch.hex 等待写入
faddr= open(“address_table.hex”,‘wb’) #openaddress_table.hex 等待写入
for k in range(0,p2-1): #循环每一行
if list1[k] != list2[k]: #不想等就提取出来
print list1[k]
print list2[k]
print k
fout.write(list2[k]) #写入patch数据
addr= list2[0]
addr1=list2[k] #提取出来
address='0'+(addr1[1])+(addr1[2])+((addr[9])+(addr1[3])+(addr1[4])+(addr1[5])+(addr1[6])+"\r\n") #获取地址
print ("address is: %s" %(address)) #
faddr.write(address) #写入地址
value0=1
else:
value1=1
if value01:
print “!!!files are different!!!”
else:
if value11:
print “!!!All are same!!!”
#line = fo.read(50)
#print (“读取50个bytes: %s” %(line))
#fbin = open(“patch.bin”)
faddr.close()
fout.close()
fo.close()
hex_bin(“patch.hex”,“patch.bin”) #转换位bin
addr_hex_bin(“address_table.hex”,“address_table.bin”) #转换位bin
本文介绍了一种通过对比两个HEX文件内容的方法,当发现不一致时,将差异部分写入新的补丁文件,并记录对应的内存地址。此过程涉及文件操作、数据比较及地址解析,适用于固件更新或代码差异分析。
941

被折叠的 条评论
为什么被折叠?



