想要解出官方BIN包中system.img,有些固件会报如下错误:
"E:\mstar-bin-tool-master\unpack.py", line 91, in <module>
utils.copyPart(inputFile, outputFile, int(offset, 16), int(size, 16))
ValueError: invalid literal for int() with base 16: '$(imageOffset)'
- E:\mstar-bin-tool-master>unpack.py LetvUpgrade938.bin
- [i] Analizing header ...
- [i] Saving header script to unpacked\~header_script ...
- [i] Parsing script ...
- Traceback (most recent call last):
- File "E:\mstar-bin-tool-master\unpack.py", line 91, in <module>
- utils.copyPart(inputFile, outputFile, int(offset, 16), int(size, 16))
- ValueError: invalid literal for int() with base 16: '$(imageOffset)'
复制代码
解决方法:
用Notepad++编辑打开unpack.py,删除第91行所在如下两段,即可顺利解出system.img
- if params["action"] == "write.boot":
- outputFile = utils.generateFileName(outputDirectory, params, ".img")
- utils.copyPart(inputFile, outputFile, int(offset, 16), int(size, 16))
- print ("[i] Partition: {}\tOffset: {}\tSize {} ({}) -> {}".format(params["partition_name"], offset, size, utils.sizeStr(int(size, 16)), outputFile))
- if params["action"] == "write.p":
- outputFile = os.path.join(outputDirectory, params["partition_name"] + ".img")
- utils.copyPart(inputFile, outputFile, int(offset, 16), int(size, 16))
- print ("[i] Partition: {}\tOffset: {}\tSize {} ({}) -> {}".format(params["partition_name"], offset, size, utils.sizeStr(int(size, 16)), outputFile))
复制代码
|