使用python制作一个为hex文件增加版本号的脚本实例


Posted in Python onJune 12, 2019

最近公司一个项目需要用到IAP升级,要求将APP的版本号在hex文件添加,于是尝试用python写一个脚本,运行之后可以自动增加版本号,并且日期都是当天的

import re
import time
#获取日期的数据及校验和
year = int(time.strftime("%y", time.localtime()))
month = int(time.strftime("%m", time.localtime()))
date = int(time.strftime("%d", time.localtime()))
checkofsum = 512 - year - month - date - 4 - 255
#打开文件,以二进制打开文件方便seek函数的第一个参数可以取负数
#从而获取倒数第二行的数据(整个数据只有最后两行的数据数固定的)
f1 = open("E:\资料\K256(K211)\K256(从机部分)\APP\Objects\k256_slave.hex", "rb")
f2 = open("E:\资料\K256(K211)\K256(从机部分)\APP\Objects\k256_slave_1.hex", "w")
f1.seek(-34, 2)
str = f1.readline()
#解码并把空格去掉(将b''去掉,多出来的一行空格去掉)
#str为倒数第二行数据
str = str.decode("utf-8").rstrip()
f1.close()
#如何以二进制方式读取文件,即使解码去空格,jflash还是无法读取创建的hex文件
f1 = open("E:\资料\K256(K211)\K256(从机部分)\APP\Objects\k256_slave.hex", "r")
#在倒数第二行前加上版本号04FF000011091A00C9
#04表示本行数据的长度 FF00表示本行数据的起始地址 00表示数据类型
#11091A表示2017年9月26号 00表示app模式 C9校验和(前面所有数据总和取低八位再用0x100去减所得的结果)
f2.write(f1.read().replace(str, ":04FF0000%02X%02X%02X00%02X\r\n"%(year, month, date, checkofsum) + str))
f1.close()
f2.close()

修改前的APP的hex文件(地址最终在800B290)

使用python制作一个为hex文件增加版本号的脚本实例

修改后的app文件(地址最终在800FF00)

使用python制作一个为hex文件增加版本号的脚本实例

以上这篇使用python制作一个为hex文件增加版本号的脚本实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
修改Python的pyxmpp2中的主循环使其提高性能
Apr 24 Python
python安装教程 Pycharm安装详细教程
May 02 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
Python实现两个list求交集,并集,差集的方法示例
Aug 02 Python
python用列表生成式写嵌套循环的方法
Nov 08 Python
python+os根据文件名自动生成文本
Mar 21 Python
pandas DataFrame索引行列的实现
Jun 04 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
解决pytorch-yolov3 train 报错的问题
Feb 18 Python
详解python 条件语句和while循环的实例代码
Dec 28 Python
python3实现Dijkstra算法最短路径的实现
May 12 Python
Pytorch distributed 多卡并行载入模型操作
Jun 05 Python
Python hexstring-list-str之间的转换方法
Jun 12 #Python
对python3.4 字符串转16进制的实例详解
Jun 12 #Python
python版DDOS攻击脚本
Jun 12 #Python
selenium处理元素定位点击无效问题
Jun 12 #Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 #Python
python3.4 将16进制转成字符串的实例
Jun 12 #Python
python binascii 进制转换实例
Jun 12 #Python
You might like
php 无限极分类
2008/03/27 PHP
简单实现限定phpmyadmin访问ip的方法
2013/03/05 PHP
php session_decode函数用法讲解
2019/05/26 PHP
Jquery练习之表单验证实现代码
2010/12/14 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
2017/03/07 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
Python聚类算法之基本K均值实例详解
2015/11/20 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
python装饰器练习题及答案
2019/11/01 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
python中的yield from语法快速学习
2020/11/06 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
房地产销售大学生自我评价分享
2013/11/11 职场文书
五十岁生日宴会答谢词
2014/01/15 职场文书
精彩自我鉴定
2014/01/16 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
介绍信如何写
2015/01/31 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis
Python 多线程处理任务实例
2021/11/07 Python
Python与C++中梯度方向直方图的实现
2022/03/17 Python