使用前请先关闭所有IE窗口,若要使用官网请使用下面脚本
regsvr32.exe /s /u SkyUpdate\SkyUpdate.ocx
start http://dmfile.isky.co.kr/NewSelfUpgrade/index.html存为cmd或bat文件运行,或重新下载上面的文件
若出现错误请重新解包覆盖,再运行
解压后
打开sky_update文件夹,并将binx刷机文件放入(sky_update文件夹下就可)
打开download.inf,添加需解包文件的信息(只需改文件名)
[]
Version=123
FileName=文件名
FSVersion=
NVVersion=
Size=
CRC=
最后断开手机,运行Run.cmd
点击确定
选择真实目录,虚拟目录均可
按任意键继续,打开刷机页面
完成后,出现
点右边的即可,左边的是选择U盘,把解包文件复制到U盘
点右边的会显示”使用SD卡升级失败。“,不用管它。
最后解包文件可以在%temp%,临时文件夹中找到与binx文件名相同后缀名bin
以下是提取脚本Extract.py
#-*-coding:utf-8-*-
from struct import *
from optparse import OptionParser
import os
parser = OptionParser()
parser.add_option("-i", "--input", action="store", type="string", dest="filename", help="Input file to parse", default = "")
parser.add_option("-o", "--outdir", action="store", type="string", dest="outdir", help="Output directory", default="./extract")
parser.add_option("-l", "--list", action="store_true", dest="list", help="List of partitions")
parser.add_option("-e", "--extract", action="store_true", dest="extract", help="Extract all partitions(without \"-n NAME\")", default = False)
parser.add_option("-n", "--name", action="store", type="string", dest="name", help="Extract partition by name", default = "")
(options, args) = parser.parse_args()
if options.filename == "":
if str(args) == "[]":
print "请使用“Extract.py -h”查看帮助"
else:
options.filename = args[0]
if options.filename != "":
f = open(options.filename, "rb")
f.seek(-4, 2)
f.seek(unpack("I", f.read(4))[0])
f.seek(16,1)
partitions = [ ]
while True:
if f.read(4) == "\x00\x00\x00\x00":
break
f.seek(-4, 1)
partition = dict(zip(('no1', 'no2', 'id', 'flash', 'start', 'zero', 'size1', 'size2', 'blocksize', 'pagesize', 'none', 'name'), unpack('2b h 7I 16s 48s', f.read(96))))
partition['name'] = partition['name'].replace("\x00", "").replace("\x0A", "")
partition['no'] = partition['no1']+partition['no2']
if partition['no2'] != 4:
partition['type'] = "MBR "+str(partition['no2'])
if partition['no2'] == 4:
partition['type'] = "EBR "+str(partition['no1'])
if (partition['size1'] != partition['size2']):
print "分区'%s'的大小信息不明" % partition['name']
if partition['flash'] == 340:
partition['flash'] = "Yes"
if partition['flash'] == 352:
partition['flash'] = "No"
partitions.append(partition)
if (options.list):
print "No. Name MBR Id Flash Start Size /bytes Blocksize Pagesize"
for part in partitions:
print "%-4i %-10s %-8s 0x%-3X %-6s 0x%08X 0x%08X (%9i) 0x%08X 0x%08X\n" % (part['no'], part['name'], part['type'], part['id'], part['flash'], part['start'], part['size1'], part['size1'], part['blocksize'], part['pagesize'])
if (options.extract) | ((options.name) != ""):
for part in partitions:
if (options.name) != "":
if (part['name'].lower() != options.name.lower()):
continue
if not os.path.exists(options.outdir):
os.makedirs(options.outdir)
o = open(options.outdir+"/"+str(part['no'])+"_"+part['name']+".img", "wb")
f.seek(part['start'])
if (part['blocksize'] == part['size1']):
o.write(f.read(part['size1']))
else:
for x in xrange(part['size1']):
o.write(f.read(part['blocksize']))
if (o.tell() == part['size1']): break
o.close()
print "%i_%s.img已导出" % (part['no'], part['name'])
f.close()
用法请自行运行查看帮助,懒得再写了
转载请注明出处:http://blog.csdn.net/su_ky/article/details/7799247
本文介绍了如何使用binx解包工具进行刷机文件操作,包括关闭IE窗口、添加解包文件信息到download.inf、运行Run.cmd、选择目录以及解包文件的查找。同时提供了一个名为Extract.py的提取脚本,并强调了解包过程中可能遇到的问题及解决办法。
1万+

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



