泛泰升级包下载工具Windows版介绍_下载_使用说明_编写原理[2014.3.24更新v0.3]

2014.3.24更新v0.3

修改了获取地址。


2013.5.31更新v0.2

经过suky指点,更新v0.2版,可以直接获得ota地址了。


一、简介及下载

写这个工具的目的是为了更方便地下载泛泰最新的binx包和ota升级包。

获取ota升级包的功能其实就是SKY_Station所实现的在线升级功能。

写得比较匆忙,有可能会有bug,待把代码整理后,有时间再集成到PantechTools工具集里。

使用C#编写,运行环境需要.net framework2.0。

因为界面上没多少文字,就不做中文版了……免得在其它语系中产生bug。


其它的说明请参考suky的博客文章。 


另有android版:http://blog.csdn.net/benjaminwan/article/details/9046035


PantechGetUpdateV0.3:

http://download.csdn.net/detail/benjaminwan/7088421


二、使用说明

1、如何获取最新的binx下载地址。

1-1、按下”Get All Phone Model”按钮,如果网络正常,就可以获取到所有泛泰手机型号,并解析为如下表格。

1-2、获取到所有手机型号后,就可以在”Phone Model”下拉框中选择某个型号,选中后,在”LastestBinx Download Address”里显示的就是最新的binx下载地址了

1-3、Export2CSV功能可以把型号列表信息导出成CSV文件保存,等今后某一天更新后对比一下哪些型号又有新版系统了



2、如何检查某个系统版本是否有OTA升级包

2-1、如果你知道确切的手机型号和系统版本号,可以直接在”Phone Model”中填入你的手机型号,在”Version”中填入需要升级的系统版本号(注意:不是官方最新的系统版本号,而是旧的系统版本号),本文以A850K,212系统为例。

2-2、然后点击”Check Update”来检查是否有升级包存在,如果存在则如下图所示,可以显示出最新的系统升级包版本。

2-3、如果填入的Vsersion不正确,则检测结果显示为空白。

2-4、此步骤也可以使用Export2CSV功能导出检测结果。



3、如何下载OTA升级包

3-0、(2013.5.31更新)可以直接用下载工具来下载了,地址就在OTA Download Address这栏里了。

3-1、或者,你可以直接用本工具自带的功能来下载,只有当”Check Update”能找到升级包时,才能按下”Download  Update”按钮来下载升级包。

3-2、按下”Download Update”后,会弹出保存位置窗口,请找一个空间足够大的地方来放置升级包,保存的文件类型为.apk。

3-3、下载过程中,右下角会显示%进度,以及实时收到的数据包长度(避免网速慢时误以为程序宕机)。

3-4、下载完成后会有完成提示。



4、如何取得官方卡刷包。

860或更新的机型无需这个步骤,直接把扩展名apk改为zip就行了

4-1、用压缩软件打开下载好的apk文件(实际上apk就是zip压缩包),然后解压

4-2、找到assets文件夹下的update.zip,这个就是官方的卡刷包了



三、原理

3-1、获取binx下载地址的方法:

从这个地址可以下载到一个inf文件,包含泛泰所有手机型号机及最新的系统版本。

http://dmfile.curitel.com/self_binary/sky_binary/real/download.inf

将其解析,并按如下规律填入下面的公式就可以得到下载地址

http://dmfile.curitel.com/self_binary/sky_binary/real/{手机型号}/{文件名}

手机型号就是在[]内的Phone Model信息

文件名就是FileName段的信息

 

3-2、获取ota升级包的方法

Suky的博客里有了,这里就不再重复了:

http://blog.csdn.net/su_ky/article/details/7728877

又可以偷懒一下了。

既然suky已经说得很明白了,那么我这里就用工具来分析和演练一下检测更新的过程吧:

 

关闭所有网页,只打开一个空白页面,祭出神器Fiddler

然后空白页打开http://apkmanager.skyservice.co.kr,仍然显示空白。

此时在Fiddler就会出现一个新的条目,然后选中这个条目,右键打钩”Unlock For Editing”使此条目可编辑。



在右上角的Raw填入(这里以A850K,212系统为例) ,如下图所示

POST http://apkmanager.skyservice.co.kr/apkmanager/Process/sky_station_30_server.php HTTP/1.1
Host: apkmanager.skyservice.co.kr
Accept-Encoding: identity
Content-Length: 336
Connection: Keep-Alive
Content-Type: multipart/form-data;boundary=pkgname


--pkgname
Content-Disposition:form-data;name="file";filename=GET_PKG_DETAIL_INFO.xml

<?xml version="1.0" encoding="UTF-8"?><SKY_REQUEST><SKY_CMD>GET_PKG_DETAIL_INFO</SKY_CMD><TERMINAL_NAME>IM-A850K</TERMINAL_NAME><BOARD_SOFT_VER>S0837212</BOARD_SOFT_VER><PKG_NAME>com.pantech.firmware.bin.IM-A850K</PKG_NAME></SKY_REQUEST>
--pkgname--


然后右键这个条目并选择”Replay”->”Reissue Request”,会把这条修改过的http请求发送出去


 

如果正常的话,就会生产一个新的条目,右下脚的raw窗口可以看到返回值:

HTTP/1.1 200 OK
Date: Sun, 26 May 2013 14:31:13 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.3.3
Content-Length: 699
Connection: close
Content-Type: text/html;charset=utf-8;

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><SKY_RESPONSE><SKY_CMD>GET_PKG_DETAIL_INFO</SKY_CMD><APK_INFO><PKG_NAME>com.pantech.firmware.bin.IM-A850K</PKG_NAME><APP_NAME>IM-A850K</APP_NAME><PKG_VERSIONCODE>2.16</PKG_VERSIONCODE><PKG_VERSIONNAME>S0837216</PKG_VERSIONNAME><GET_INFO_URL>2013/79c54c0e08.apk</GET_INFO_URL><PKG_SIZE>716851234</PKG_SIZE><PKG_DATE>2013-05-14 13:45:58</PKG_DATE><PKG_DESCRIPTION>S0837216EF49Ktp25user20130514120309PRELOADCS11552pdl
 계정 없을 경우 재부팅 시 전화부 그룹 사라지는 현상</PKG_DESCRIPTION><DATA_INIT>0</DATA_INIT><UNZIP_SIZE>716853017</UNZIP_SIZE><CHECKSUM>5db678927c09091ef99b2c4b5b81cdc3</CHECKSUM></APK_INFO></SKY_RESPONSE>


如果想要用stream的方式来下载,自己做的工具无法实现断点续传,下载过程无法用Fiddler来分析。

 

还想更进一步分析的话,可以打开下载工具后,使用神器IPOP V4.1的"报文捕获"功能来分析下载过程


 

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值