<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>LSDN</title>
	<atom:link href="http://lsdn.lynnstudio.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://lsdn.lynnstudio.net</link>
	<description>Lynn Studio Documents Network</description>
	<pubDate>Thu, 01 Dec 2011 08:59:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>为任意视频制作时间码软字幕</title>
		<link>http://lsdn.lynnstudio.net/make-time-code-subtitles-for-any-video/</link>
		<comments>http://lsdn.lynnstudio.net/make-time-code-subtitles-for-any-video/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 08:14:47 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[DC/DV]]></category>

		<category><![CDATA[Multimedia]]></category>

		<category><![CDATA[AVI]]></category>

		<category><![CDATA[DV]]></category>

		<category><![CDATA[Subtitle]]></category>

		<category><![CDATA[Time Code]]></category>

		<category><![CDATA[Time Stamp]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=429</guid>
		<description><![CDATA[之前由于个人需要，写下一篇为DV视频及其转制的格式制作时间码软字幕的文章，探讨了如何为磁带式DV（MiniDV）制作srt格式的时间码软字幕。不过，我是一个比较得寸进尺的人，在此基础上，我又很想为数码相机、手机、电脑摄像头等数码设备录下的视频制作时间码，之前的办法因为是需要读取DV-AVI格式内特有信息实现的，在这里就失效了。
于是我又开始在网上找可以实现这个需求的工具，倒是真发现了一个：DV时间码嵌入大师。它提供了读取大部分视频文件并根据要求生成时间码字幕的功能，但是如果非付费版本，无法生成软字幕，只能硬嵌至视频中，并且还带有水印。我是一个吝啬的人，所以希望又破灭了。

不过这个软件却给我提供了思路。试用它的过程中，我发现其实功能很简单：读取视频软件来分析它的创建日期及持续时间等各种属性，然后依据这些信息来生成字幕，最后将其嵌入至视频中或者保存为文件。
文件创建日期及持续时间完全可以通过查看视频文件的属性来取得，利用Windows Explorer或者大部分主流的视频播放软件都可以做到。比如在Windows 7中，直接查看DC录制的视频文件属性，可以获得以下信息：

如果是Xvid、RMVB等系统无法读取其媒体信息的视频文件，在安装了相应的解码器之后，持续时间这个属性可以利用视频播放软件来获得。
根据上面的信息足够生成一个相应的时间码字幕了。“将字幕硬嵌至视频”这个功能很多视频处理软件都能做到，因为我从来不打算这么做，所以不作讨论。相信“DV时间码嵌入大师”这个软件也因为要实现这个功能而额外读取了很多媒体信息，比如分辨率、编码等等。
这样看来，要实现目的其实并不十分复杂。按照这个思路，为了省钱，为了方便自己，我又做了一个页面来生成时间码字幕文件。中文版请访问“为任意视频制作时间码软字幕”，既然如此说，就表明还存在一个Enlish version。
简单的使用说明：
首先输入视频开始录制时的日期时间，比如2011年11月09日18点30分20秒开始录制的视频就输入2011:11:09 18:30:20。然后输入视频的持续时间即长度，最后点生成按钮即可。
请注意：由于服务器性能所限，我限制了视频的持续时间不超过90分钟（即01:30:00）。相信一般录制的视频每段都不会超过该长度。另外关于如何使用srt字幕，仍可以参照为DV视频及其转制的格式制作时间码软字幕这篇文章。
]]></description>
			<content:encoded><![CDATA[<p>之前由于个人需要，写下一篇<a href="/how-to-make-time-code-subtitles-for-dv-avi-and-other-video-formats/" target="_blank">为DV视频及其转制的格式制作时间码软字幕</a>的文章，探讨了如何为磁带式DV（MiniDV）制作srt格式的时间码软字幕。不过，我是一个比较得寸进尺的人，在此基础上，我又很想为数码相机、手机、电脑摄像头等数码设备录下的视频制作时间码，之前的办法因为是需要读取DV-AVI格式内特有信息实现的，在这里就失效了。</p>
<p>于是我又开始在网上找可以实现这个需求的工具，倒是真发现了一个：DV时间码嵌入大师。它提供了读取大部分视频文件并根据要求生成时间码字幕的功能，但是如果非付费版本，无法生成软字幕，只能硬嵌至视频中，并且还带有水印。我是一个吝啬的人，所以希望又破灭了。</p>
<p><span id="more-429"></span></p>
<p>不过这个软件却给我提供了思路。试用它的过程中，我发现其实功能很简单：读取视频软件来分析它的创建日期及持续时间等各种属性，然后依据这些信息来生成字幕，最后将其嵌入至视频中或者保存为文件。</p>
<p>文件创建日期及持续时间完全可以通过查看视频文件的属性来取得，利用Windows Explorer或者大部分主流的视频播放软件都可以做到。比如在Windows 7中，直接查看DC录制的视频文件属性，可以获得以下信息：</p>
<p class="image"><img src="/wp-content/uploads/2011/12/20111201_video_properties.png" alt="Video Properties" title="Video Properties" /><img src="/wp-content/uploads/2011/12/20111201_video_duration.png" alt="Video Duration" title="Video Duratio" /></p>
<p>如果是Xvid、RMVB等系统无法读取其媒体信息的视频文件，在安装了相应的解码器之后，持续时间这个属性可以利用视频播放软件来获得。</p>
<p>根据上面的信息足够生成一个相应的时间码字幕了。“将字幕硬嵌至视频”这个功能很多视频处理软件都能做到，因为我从来不打算这么做，所以不作讨论。相信“DV时间码嵌入大师”这个软件也因为要实现这个功能而额外读取了很多媒体信息，比如分辨率、编码等等。</p>
<p>这样看来，要实现目的其实并不十分复杂。按照这个思路，为了省钱，为了方便自己，我又做了一个页面来生成时间码字幕文件。中文版请访问“<a href="http://lsdn.lynnstudio.net/pages/timecode_zh.php" target="_blank">为任意视频制作时间码软字幕</a>”，既然如此说，就表明还存在一个<a href="http://lsdn.lynnstudio.net/pages/timecode_en.php" target="_blank">Enlish version</a>。</p>
<p>简单的使用说明：</p>
<p>首先输入视频开始录制时的日期时间，比如2011年11月09日18点30分20秒开始录制的视频就输入2011:11:09 18:30:20。然后输入视频的持续时间即长度，最后点生成按钮即可。</p>
<p>请注意：由于服务器性能所限，我限制了视频的持续时间不超过90分钟（即01:30:00）。相信一般录制的视频每段都不会超过该长度。另外关于如何使用srt字幕，仍可以参照<a href="/how-to-make-time-code-subtitles-for-dv-avi-and-other-video-formats/" target="_blank">为DV视频及其转制的格式制作时间码软字幕</a>这篇文章。</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/make-time-code-subtitles-for-any-video/feed/</wfw:commentRss>
		</item>
		<item>
		<title>利用JSFL将FLA文件批量导出为PNG位图</title>
		<link>http://lsdn.lynnstudio.net/batch-convert-fla-files-to-png-files-using-jsfl/</link>
		<comments>http://lsdn.lynnstudio.net/batch-convert-fla-files-to-png-files-using-jsfl/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 07:41:20 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[Softwares]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[JSFL]]></category>

		<category><![CDATA[PNG]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=428</guid>
		<description><![CDATA[手里有不少FLA格式的矢量图资源，都不错，只是看起来和用起来挺麻烦的，还要每次都打开Adobe Flash，而且FLA格式预览也是个问题。所以想把它们转换为PNG位图，平常用用够了。不过几百个文件导来导去实在麻烦的紧，而且Adobe Flash又没有Adobe Fireworks那样内置的批处理功能。
好在Adobe Flash强项是JSFL，也就是Flash版本的JavaScript，那么就利用它来简化工作吧。于是写了一段脚本，代码如下，很简单的，先选源文件目录，再选保存目录。扩展名判断和帧判断也没有太细致地去弄，反正是矢量图，就一帧，文件名别有额外的小数点就好。

/**
* Export .png images from fla files in a folder.
* By Wink @ Lynn Studio Documents Network (LSDN).
* Visit lsdn.lynnstudio.net for more information.
*/
var resURI = fl.browseForFolderURL("Select the folder where the FLA files are located");
var outURI = fl.browseForFolderURL("Select the folder where all images should be exported as *.PNG");
var resFiles = FLfile.listFolder(resURI+"/*.fla", "files");
fl.outputPanel.clear();

function [...]]]></description>
			<content:encoded><![CDATA[<p>手里有不少FLA格式的矢量图资源，都不错，只是看起来和用起来挺麻烦的，还要每次都打开Adobe Flash，而且FLA格式预览也是个问题。所以想把它们转换为PNG位图，平常用用够了。不过几百个文件导来导去实在麻烦的紧，而且Adobe Flash又没有Adobe Fireworks那样内置的批处理功能。</p>
<p>好在Adobe Flash强项是JSFL，也就是Flash版本的JavaScript，那么就利用它来简化工作吧。于是写了一段脚本，代码如下，很简单的，先选源文件目录，再选保存目录。扩展名判断和帧判断也没有太细致地去弄，反正是矢量图，就一帧，文件名别有额外的小数点就好。</p>
<p><span id="more-428"></span></p>
<pre><code>/**
* Export .png images from fla files in a folder.
* By Wink @ Lynn Studio Documents Network (LSDN).
* Visit lsdn.lynnstudio.net for more information.
*/
var resURI = fl.browseForFolderURL("Select the folder where the FLA files are located");
var outURI = fl.browseForFolderURL("Select the folder where all images should be exported as *.PNG");
var resFiles = FLfile.listFolder(resURI+"/*.fla", "files");
fl.outputPanel.clear();

function convert2png(){
	for(var i = 0;i&lt;resFiles.length;i++) {
		var doc = fl.openDocument(resURI + '/' + resFiles[i]);
		var fileName = document.name.split('.')[0];
		var fileURI = outURI + "/" + fileName + ".png";
		doc.exportPNG(fileURI, true , true);
		doc.close(false);
	}
}
convert2png();</code></pre>
<p>将上面的代码复制并保存为<code>.jsfl</code>文件运行即可，当然也可以直接下载<a href="/wp-content/uploads/2011/11/convert2png.zip" class="download">代码包</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/batch-convert-fla-files-to-png-files-using-jsfl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>为DV视频及其转制的格式制作时间码软字幕</title>
		<link>http://lsdn.lynnstudio.net/how-to-make-time-code-subtitles-for-dv-avi-and-other-video-formats/</link>
		<comments>http://lsdn.lynnstudio.net/how-to-make-time-code-subtitles-for-dv-avi-and-other-video-formats/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 07:49:16 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[DC/DV]]></category>

		<category><![CDATA[Multimedia]]></category>

		<category><![CDATA[AVI]]></category>

		<category><![CDATA[DV]]></category>

		<category><![CDATA[Subtitle]]></category>

		<category><![CDATA[Time Code]]></category>

		<category><![CDATA[Time Stamp]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=421</guid>
		<description><![CDATA[是否在使用磁带式DV？是否经常采集视频之后要将其转成其它编码格式？是否希望转制后的视频也能有时间码？是否又不希望时间码是硬嵌在视频内的？如果您觉得以上这些问题都说到点子上了，那么您和我一样，以下这些内容非常适合您阅读。
不好意思，刚才有点犯病，我再用正常的中文描述一下这篇文章的主旨。通常，您可以利用很多视频处理软件，无论通过不同的形式，将DV录制时的时间码（Time Code）硬嵌在视频中——请注意，是硬嵌，代表永久地、无法逆转地嵌入了处理过的视频中。的确，我们需要时间码，这样在后期观看这些视频时，可以知道是什么时候录制的，毕竟记忆有时候会模糊。但是，“将时间码硬嵌在视频中”这种做法往往让人觉得不很完美：很多时候我们在看这些视频时，并不希望看到它！有没有一种方法，可以让时间码像现今流行的软字幕一样，是外挂的、可选择为隐藏的、又可后期修改的呢？没错，就像SRT、SSA、ASS等一样。这也一直是困扰我的问题，现在终于有了解决方法，啊不对，是我终于找到了解决方法，其实老外早已解决了这个问题，只是我才寻觅到。

废话说的太多了。下面进入正题。该方案基于“Overlay Time &#038; Date Code On MPEG-2 File”讨论帖。
通过IEEE 1394采集得来的DV AVI，是包含了视频录制时的时间码的。但是一旦将DV AVI转换为其它编码或格式的视频文件时，（目标文件）会丢失这些时间码信息，这就造成处理后最终得到的视频文件没有记录视频录制时间的能力。解决的思路是：首先从最初的DV AVI文件中提取出这些时间码信息并保存为特定格式的文件，然后将该文件转为字幕文件。
这些步骤，其实只要通过一个工具即可简单地完成：DV Sub Maker，可以访问VideoHelp.com获得。
解压压缩包后执行“DVSubMaker.exe”，界面如下：

“DV avi file”一栏指定需要制作时间码字幕的DV AVI文件，注意，一定要是采集后未经处理的DV AVI源文件！“DV DT file”一栏选择生成的中间文件的保存位置，然后点击“Start”开始处理。一般几分钟后即可完成，视源文件大小及电脑性能而定。这时在窗口最下方可以看到正在处理的视频帧的日期时间在不断变化。
然后点击“2. Make Subs”标签。格式默认即可；“DV DT file”默认即为刚才生成的中间文件；“Subtitle file”一栏需指定如何保存生成的Sub字幕文件。“Subtitles format”可以指定字幕中如何显示时间码。然后点击“Start”开始生成字幕文件，这个过程很快，只需几秒钟便完成了。

生成的SUB文件即为软字幕文件。使用DirectShow Filters便可在任何使用DirectShow的播放器上加载该时间码字幕。至于如何使用DirectVobSub，相信经常看电影的基本上都了解。
但是，还有一个问题需要解决，这也是“Overlay Time &#038; Date Code On MPEG-2 File”讨论帖遗留下来的。DV Sub Maker很方便，不过有个bug，生成的时间码SUB字幕文件大概是这样的形式：
{1}{8}19:35:01&#124;14.01.2011
{9}{9}19:35:02&#124;14.01.2011
{10}{19}19:35:03&#124;14.01.2011
{20}{44}19:35:04&#124;14.01.2011
{45}{69}19:35:05&#124;14.01.2011
{70}{93}19:35:06&#124;14.01.2011
{94}{118}19:35:07&#124;14.01.2011
{119}{143}19:35:08&#124;14.01.2011
......
它会产生这样一个问题：播放的时候时间码在不停地跳动！这是因为字幕文件的时间轴不连贯造成的，按理说，刚才的文件应该是下面这样：
{1}{9}19:35:01&#124;14.01.2011
{9}{10}19:35:02&#124;14.01.2011
{10}{20}19:35:03&#124;14.01.2011
{20}{45}19:35:04&#124;14.01.2011
{45}{70}19:35:05&#124;14.01.2011
{70}{94}19:35:06&#124;14.01.2011
{94}{119}19:35:07&#124;14.01.2011
{119}{143}19:35:08&#124;14.01.2011
......
其实差别不大，就是第二个大括号里的数字需要和下一行第一个大括号里的数字一致。恰恰是因为DV Sub Maker生成的SUB字幕文件不一致，导致了播放时字幕的跳动。
手动修改起来很繁琐，于是写了页面来纠正这个错误。打开DV Sub Maker生成的SUB文件时间码修正页面，上传有问题的SUB文件，页面会自动生成改好的时间代码，复制下来替换掉SUB文件的内容即可。
到这里，这篇文章基本上算是写完了。接下来要做的一般都是剪辑视频等，相应地，字幕文件也需要剪切调整。这个工作可以利用Vobsub工具（点击下载），解压之后，在该目录下运行命令“rundll32 vobsub.dll,Cutter”或“rundll32 vobsub.dll,Joiner”，可分别打开剪切或合并字幕的工具窗口。另外，也可以用刚才压缩包中的“Subresync”工具来将SUB文件转为SRT、SSA、ASS等其它软字幕格式。


后记：网上流传着一个名为DvPlusTimeCode的软件，同样可以实现对DV Sub Maker生成的字幕跳动问题的修正，所以DV Sub Maker生成的SUB文件时间码修正页面这个页面，便不会再维护了。
]]></description>
			<content:encoded><![CDATA[<p>是否在使用磁带式DV？是否经常采集视频之后要将其转成其它编码格式？是否希望转制后的视频也能有时间码？是否又不希望时间码是硬嵌在视频内的？如果您觉得以上这些问题都说到点子上了，那么您和我一样，以下这些内容非常适合您阅读。</p>
<p>不好意思，刚才有点犯病，我再用正常的中文描述一下这篇文章的主旨。通常，您可以利用很多视频处理软件，无论通过不同的形式，将DV录制时的时间码（Time Code）硬嵌在视频中——请注意，是硬嵌，代表永久地、无法逆转地嵌入了处理过的视频中。的确，我们需要时间码，这样在后期观看这些视频时，可以知道是什么时候录制的，毕竟记忆有时候会模糊。但是，“将时间码硬嵌在视频中”这种做法往往让人觉得不很完美：很多时候我们在看这些视频时，并不希望看到它！有没有一种方法，可以让时间码像现今流行的软字幕一样，是外挂的、可选择为隐藏的、又可后期修改的呢？没错，就像SRT、SSA、ASS等一样。这也一直是困扰我的问题，现在终于有了解决方法，啊不对，是我终于找到了解决方法，其实老外早已解决了这个问题，只是我才寻觅到。</p>
<p><span id="more-421"></span></p>
<p>废话说的太多了。下面进入正题。该方案基于“<a href="http://forum.videohelp.com/threads/274961-Overlay-Time-Date-Code-On-MPEG-2-File" target="_blank" class="external">Overlay Time &#038; Date Code On MPEG-2 File</a>”讨论帖。</p>
<p>通过IEEE 1394采集得来的DV AVI，是包含了视频录制时的时间码的。但是一旦将DV AVI转换为其它编码或格式的视频文件时，（目标文件）会丢失这些时间码信息，这就造成处理后最终得到的视频文件没有记录视频录制时间的能力。解决的思路是：首先从最初的DV AVI文件中提取出这些时间码信息并保存为特定格式的文件，然后将该文件转为字幕文件。</p>
<p>这些步骤，其实只要通过一个工具即可简单地完成：DV Sub Maker，可以访问<a href="http://www.videohelp.com/tools/DV_Sub_Maker" target="_blank" class="external">VideoHelp.com</a>获得。</p>
<p>解压压缩包后执行“DVSubMaker.exe”，界面如下：</p>
<p class="image"><img src="/wp-content/uploads/2011/01/201101_getdvtimecode.png" alt="Get Time Code" title="Get Time Code" /></p>
<p>“DV avi file”一栏指定需要制作时间码字幕的DV AVI文件，注意，一定要是采集后未经处理的DV AVI源文件！“DV DT file”一栏选择生成的中间文件的保存位置，然后点击“Start”开始处理。一般几分钟后即可完成，视源文件大小及电脑性能而定。这时在窗口最下方可以看到正在处理的视频帧的日期时间在不断变化。</p>
<p>然后点击“2. Make Subs”标签。格式默认即可；“DV DT file”默认即为刚才生成的中间文件；“Subtitle file”一栏需指定如何保存生成的Sub字幕文件。“Subtitles format”可以指定字幕中如何显示时间码。然后点击“Start”开始生成字幕文件，这个过程很快，只需几秒钟便完成了。</p>
<p class="image"><img src="/wp-content/uploads/2011/01/201101_makesubs.png" alt="Make Subs" title="Make Subs" /></p>
<p>生成的SUB文件即为软字幕文件。使用<a href="http://sourceforge.net/projects/guliverkli2/files/DirectShow Filters/DirectVobSub 2.39/" target="_blank" class="external">DirectShow Filters</a>便可在任何使用DirectShow的播放器上加载该时间码字幕。至于如何使用DirectVobSub，相信经常看电影的基本上都了解。</p>
<p>但是，还有一个问题需要解决，这也是“<a href="http://forum.videohelp.com/threads/274961-Overlay-Time-Date-Code-On-MPEG-2-File" target="_blank" class="external">Overlay Time &#038; Date Code On MPEG-2 File</a>”讨论帖遗留下来的。DV Sub Maker很方便，不过有个bug，生成的时间码SUB字幕文件大概是这样的形式：</p>
<pre><code>{1}{8}19:35:01|14.01.2011
{9}{9}19:35:02|14.01.2011
{10}{19}19:35:03|14.01.2011
{20}{44}19:35:04|14.01.2011
{45}{69}19:35:05|14.01.2011
{70}{93}19:35:06|14.01.2011
{94}{118}19:35:07|14.01.2011
{119}{143}19:35:08|14.01.2011
......</code></pre>
<p>它会产生这样一个问题：播放的时候时间码在不停地跳动！这是因为字幕文件的时间轴不连贯造成的，按理说，刚才的文件应该是下面这样：</p>
<pre><code>{1}{9}19:35:01|14.01.2011
{9}{10}19:35:02|14.01.2011
{10}{20}19:35:03|14.01.2011
{20}{45}19:35:04|14.01.2011
{45}{70}19:35:05|14.01.2011
{70}{94}19:35:06|14.01.2011
{94}{119}19:35:07|14.01.2011
{119}{143}19:35:08|14.01.2011
......</code></pre>
<p>其实差别不大，就是第二个大括号里的数字需要和下一行第一个大括号里的数字一致。恰恰是因为DV Sub Maker生成的SUB字幕文件不一致，导致了播放时字幕的跳动。</p>
<p>手动修改起来很繁琐，于是写了页面来纠正这个错误。打开<a href="http://lsdn.lynnstudio.net/pages/timecode.php" target="_blank">DV Sub Maker生成的SUB文件时间码修正页面</a>，上传有问题的SUB文件，页面会自动生成改好的时间代码，复制下来替换掉SUB文件的内容即可。</p>
<p>到这里，这篇文章基本上算是写完了。接下来要做的一般都是剪辑视频等，相应地，字幕文件也需要剪切调整。这个工作可以利用Vobsub工具（<a href="/wp-content/uploads/2011/01/vobsub.rar" class="download">点击下载</a>），解压之后，在该目录下运行命令“<code>rundll32 vobsub.dll,Cutter</code>”或“rundll32 vobsub.dll,Joiner”，可分别打开剪切或合并字幕的工具窗口。另外，也可以用刚才压缩包中的“Subresync”工具来将SUB文件转为SRT、SSA、ASS等其它软字幕格式。</p>
<p class="image"><img src="/wp-content/uploads/2011/01/201101_subscutter.png" alt="Subs Cutter" title="Subs Cutter" /></p>
<p class="image"><img src="/wp-content/uploads/2011/01/201101_subsjoiner.png" alt="Subs Joiner" title="Subs Joiner" /></p>
<p>后记：网上流传着一个名为DvPlusTimeCode的软件，同样可以实现对DV Sub Maker生成的字幕跳动问题的修正，所以<a href="http://lsdn.lynnstudio.net/pages/timecode.php" target="_blank">DV Sub Maker生成的SUB文件时间码修正页面</a>这个页面，便不会再维护了。</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/how-to-make-time-code-subtitles-for-dv-avi-and-other-video-formats/feed/</wfw:commentRss>
		</item>
		<item>
		<title>让FlashFXP也支持开机自动下载</title>
		<link>http://lsdn.lynnstudio.net/make-flashfxp-downloading-automatically-after-system-restart/</link>
		<comments>http://lsdn.lynnstudio.net/make-flashfxp-downloading-automatically-after-system-restart/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 06:38:39 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[Softwares]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=420</guid>
		<description><![CDATA[自从有了7×24下载的机器，“收集资料”更加省心了。不过我最常用的FlashFXP，好像不支持开机自动恢复下载任务，每次重启机器之后都需要启动FlashFXP，然后再恢复未完成的任务，再点击开始；多个下载任务的话还要重复多次，实在是很繁琐。如果能让FlashFXP也支持系统开机之后自动恢复未完成的任务，那就太好了。
好在网络是万能的！在老牌论坛CCF中找到了解决方法，感谢作者robot，我在这里也重复一下，作为备忘。
如果FlashFXP安装在C盘下，那么编辑一个bat或者cmd文件，暂且定为“flashfxp.bat”文件好了，内容如下：
c:
cd "c:\Program Files\FlashFXP"
For /F %%f in (files.log) do (del %%f)
dir *.fqf /b >files.log
For /F %%f in (files.log) do (start flashfxp.exe %%f)
然后将flashfxp.bat文件的快捷方式添加至系统启动组，完成了！真的非常简单，却非常实用。
]]></description>
			<content:encoded><![CDATA[<p>自从有了7×24下载的机器，“收集资料”更加省心了。不过我最常用的FlashFXP，好像不支持开机自动恢复下载任务，每次重启机器之后都需要启动FlashFXP，然后再恢复未完成的任务，再点击开始；多个下载任务的话还要重复多次，实在是很繁琐。如果能让FlashFXP也支持系统开机之后自动恢复未完成的任务，那就太好了。</p>
<p>好在网络是万能的！在<a href="https://bbs.et8.net/bbs/showpost.php?p=7985143&#038;postcount=7" class="external" target="_blank">老牌论坛CCF中</a>找到了解决方法，感谢作者robot，我在这里也重复一下，作为备忘。</p>
<p>如果FlashFXP安装在C盘下，那么编辑一个bat或者cmd文件，暂且定为“flashfxp.bat”文件好了，内容如下：</p>
<pre><code>c:
cd "c:\Program Files\FlashFXP"
For /F %%f in (files.log) do (del %%f)
dir *.fqf /b >files.log
For /F %%f in (files.log) do (start flashfxp.exe %%f)</code></pre>
<p>然后将flashfxp.bat文件的快捷方式添加至系统启动组，完成了！真的非常简单，却非常实用。</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/make-flashfxp-downloading-automatically-after-system-restart/feed/</wfw:commentRss>
		</item>
		<item>
		<title>惨痛的事实再次证明了数据备份的重要性！</title>
		<link>http://lsdn.lynnstudio.net/some-data-of-my-blog-gone-because-of-the-isp/</link>
		<comments>http://lsdn.lynnstudio.net/some-data-of-my-blog-gone-because-of-the-isp/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 09:11:09 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=418</guid>
		<description><![CDATA[国庆期间突然发现域名被指向一个我完全不认识的网站，第一反应是被黑了（实际上真的发生过一次，被伊朗人黑的，事后竟然还在他的网站弄个成果列表……），不过IP并没改变，后来去过ISP的网站才知道服务器是被机房干掉的，而且数据也要不回来了，理由是服务器上有人发送垃圾邮件。
虽然ISP作出了一些补偿，但是某些数据还是无论如何都找不回来了。糟糕的是，我这半年来由于事情太多，没太管理网站，所以自己也没有作出备份。那些数据，就真的随风而去了T_T
于是，惨痛的事实再次教育了我：备份数据是非常非常重要的！
]]></description>
			<content:encoded><![CDATA[<p>国庆期间突然发现域名被指向一个我完全不认识的网站，第一反应是被黑了（实际上真的发生过一次，被伊朗人黑的，事后竟然还在他的网站弄个成果列表……），不过IP并没改变，后来去过ISP的网站才知道服务器是被机房干掉的，而且数据也要不回来了，理由是服务器上有人发送垃圾邮件。</p>
<p>虽然ISP作出了一些补偿，但是某些数据还是无论如何都找不回来了。糟糕的是，我这半年来由于事情太多，没太管理网站，所以自己也没有作出备份。那些数据，就真的随风而去了T_T</p>
<p>于是，惨痛的事实再次教育了我：备份数据是非常非常重要的！</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/some-data-of-my-blog-gone-because-of-the-isp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>财付通安全控件1.2.0.4版本导致笔记本键盘触摸板全部失效的问题</title>
		<link>http://lsdn.lynnstudio.net/qqedit-1204-make-the-keyboard-and-touchpad-not-working/</link>
		<comments>http://lsdn.lynnstudio.net/qqedit-1204-make-the-keyboard-and-touchpad-not-working/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 08:57:59 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[Softwares]]></category>

		<category><![CDATA[Windows]]></category>

		<category><![CDATA[QQEdit]]></category>

		<category><![CDATA[System error]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=417</guid>
		<description><![CDATA[昨天（2010年8月16日）公司所在写字楼下午5点要停电，所以提前一个小时下班。本来心情很愉快，心想回家可以玩一个小时的游戏了。结果到家打开笔记本的Windows 7，靠，怎么键盘触摸板指点杆统统不能用了？！接上无线鼠标，这个可以用。还好有指纹，可以登录系统，但是键盘触摸板指点杆还是无法使用。打开设备管理器，发现“符合HID标准的用户控制设备”、“PS/2鼠标”、“ThinkPad UltraNav Pointing Device”全是黄色惊叹号。郁闷啊，怎么了这是？尝试了卸载重装驱动等等一切可以想到的办法之后，还是无效。
那么看看安全模式怎么样吧，结果安全模式也是无法使用这些设备。好在还有Windows XP双系统，结果在Windows XP下一切正常。搜搜网上有没有同样命苦的人，有人说可能是微软的“KB2286198”补丁造成的，嗯，有可能，因为这两天的确更新不少补丁，但是具体忘了哪一天了。卸载这个补丁之后，还是无效！
那么看来就是和我白天所安装的程序有关了。想来想去，只有上午的时候打算给宽带缴费，使用腾讯财付通时，提示我财付通安全控件需要更新，一天之中好像只安装了这一个新程序。于是马上卸载“财付通安全控件 1.2.0.4”，怀着忐忑不安的心情等待重新启动，等再次亮起Windows 7登录画面时，键盘鼠标——正常了！
腾讯，你让我说你什么好呢……
]]></description>
			<content:encoded><![CDATA[<p>昨天（2010年8月16日）公司所在写字楼下午5点要停电，所以提前一个小时下班。本来心情很愉快，心想回家可以玩一个小时的游戏了。结果到家打开笔记本的Windows 7，靠，怎么键盘触摸板指点杆统统不能用了？！接上无线鼠标，这个可以用。还好有指纹，可以登录系统，但是键盘触摸板指点杆还是无法使用。打开设备管理器，发现“符合HID标准的用户控制设备”、“PS/2鼠标”、“ThinkPad UltraNav Pointing Device”全是黄色惊叹号。郁闷啊，怎么了这是？尝试了卸载重装驱动等等一切可以想到的办法之后，还是无效。</p>
<p>那么看看安全模式怎么样吧，结果安全模式也是无法使用这些设备。好在还有Windows XP双系统，结果在Windows XP下一切正常。搜搜网上有没有同样命苦的人，有人说可能是微软的“KB2286198”补丁造成的，嗯，有可能，因为这两天的确更新不少补丁，但是具体忘了哪一天了。卸载这个补丁之后，还是无效！</p>
<p>那么看来就是和我白天所安装的程序有关了。想来想去，只有上午的时候打算给宽带缴费，使用腾讯财付通时，提示我财付通安全控件需要更新，一天之中好像只安装了这一个新程序。于是马上卸载“财付通安全控件 1.2.0.4”，怀着忐忑不安的心情等待重新启动，等再次亮起Windows 7登录画面时，键盘鼠标——正常了！</p>
<p>腾讯，你让我说你什么好呢……</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/qqedit-1204-make-the-keyboard-and-touchpad-not-working/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PocketExport汉化的半成品</title>
		<link>http://lsdn.lynnstudio.net/pocket-export-chinese/</link>
		<comments>http://lsdn.lynnstudio.net/pocket-export-chinese/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 08:55:03 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[Cellphone]]></category>

		<category><![CDATA[Portfolio]]></category>

		<category><![CDATA[Softwares]]></category>

		<category><![CDATA[PocketExport]]></category>

		<category><![CDATA[汉化]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=416</guid>
		<description><![CDATA[因为Outlook不能同步Windows Mobile设备的短信，所以找到了PocketExport。软件还不错，可以集成到Outlook，同步也算方便，但是没有汉化。虽然都是简单的单词，但是看着还是不舒服，随手汉化了一下。不过接近完成时发现了更方便的软件，就搁置了。放着留作纪念吧，而且有点小bug，应该是汉化过度的原因：回复短信提示无法读取联系人，其它都OK。
下载PocketExport汉化文件
2010.10.22注：很不幸，由于服务商的原因导致网站数据丢失，一部分数据再也无法追回了，我自己也几个月未作备份的动作。虽然这个汉化不完美，但至少花费了自己的时间，可惜啊！
]]></description>
			<content:encoded><![CDATA[<p>因为Outlook不能同步Windows Mobile设备的短信，所以找到了<a href="http://www.mobitnt.com/SMS-Outlook/SMS-SYNC-outlook.php" class="external" target="_blank">PocketExport</a>。软件还不错，可以集成到Outlook，同步也算方便，但是没有汉化。虽然都是简单的单词，但是看着还是不舒服，随手汉化了一下。不过接近完成时发现了更方便的软件，就搁置了。放着留作纪念吧，而且有点小bug，应该是汉化过度的原因：回复短信提示无法读取联系人，其它都OK。</p>
<p><del datetime="2010-10-22T08:55:21+00:00"><a href="#" class="download">下载PocketExport汉化文件</a></del></p>
<p>2010.10.22注：很不幸，由于服务商的原因导致网站数据丢失，一部分数据再也无法追回了，我自己也几个月未作备份的动作。虽然这个汉化不完美，但至少花费了自己的时间，可惜啊！</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/pocket-export-chinese/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Mobile ROM的Dump和Pack步骤</title>
		<link>http://lsdn.lynnstudio.net/how-to-dump-and-pack-windows-mobile-rom/</link>
		<comments>http://lsdn.lynnstudio.net/how-to-dump-and-pack-windows-mobile-rom/#comments</comments>
		<pubDate>Mon, 31 May 2010 07:19:22 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[Cellphone]]></category>

		<category><![CDATA[Dump]]></category>

		<category><![CDATA[nbh]]></category>

		<category><![CDATA[Rom]]></category>

		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=415</guid>
		<description><![CDATA[Windows Mobile的机器很费电，这个是公认的事实。所以挑选一个占用内存小并且稳定的ROM很重要。但是国内大部分论坛提供的简体ROM都是6.5的，而且基本上都集成了马尼拉，我曾经尝试装过某些版本，一个晚上的待机就会耗电50%左右，让人无法忍受。最近发现国外很多网友制作的纯净ROM很好用，但是某些方面又无法满足国情需要（比如中文支持、拼音首字母检索等等），所以修改既有ROM并重新打包就变得很有必要。从一个Windows Mobile的新手跌跌撞撞地在各大论坛潜水了很长时间，终于了解Dump和重新Pack的过程，便将步骤写下来作为备忘。另外，这里主要是叙述HTC的ROM格式nbh（并且以Touch Pro2为例），而类似于nb0等等大同小异，不做叙述。

软件的准备：
osnbtool_v1.59_by_Weisun (Mirror)
xidump_v1.0_beta (Mirror)
NBHUtil (Mirror)
ImgfsTools_2.1rc2 (Mirror)

并非是以上所有软件都会用到，下面会讲到。
NBH to NB
得到的HTC ROM文件都为nbh格式，某些国内小组出的ROM可能会是exe格式，其实只是用某种压缩软件进行了打包而已，用WinRAR或者Universal Extractor解压即可得到真正的ROM文件。
运行NBHUtil，点击进入“Extract NBH”标签，“NBH To Extract”一栏选中的NBH文件，点击“GO!”进行NBH分析，然后点击右侧“NBH Item”栏中的“Extract”按钮开始解包（这里我们只解包OS），成功后会提示“Done!”。

NB Dump
这一步主要使用ImgfsTools工具集在命令行下操作。假设该工具集及NB文件都放置于“E:\roms”下。运行“cmd”并进入该目录。执行下面的命令并得到反馈：
E:\roms>NBSplit.exe -kaiser OS.nb
NBSplit 2.1rc2
Using data chunk size = 0x800 and extra chunk size = 0x8 on file OS.nb
Done.
得到了“OS.nb.payload”及“OS.nb.extra”两个文件。由于这里我们不涉及原理的讲解并且只修改ROM的内容，所以只会用到 “OS.nb.payload”。这里请注意，需要根据机型选择不同的参数，Touch Pro2应该选“-kaiser”，有些机型可能需要使用“-hermes”参数。
继续执行下面的命令并得到反馈：
E:\roms>ImgfsFromNb.exe OS.nb.payload imgfs.bin
ImgfsFromNb 2.1rc2

Sector size is 0x800 bytes
ImgFs partition starts at 0x00380000 and ends at 0x04380000
Dumping IMGFS at offset 0x00380000 [...]]]></description>
			<content:encoded><![CDATA[<p>Windows Mobile的机器很费电，这个是公认的事实。所以挑选一个占用内存小并且稳定的ROM很重要。但是国内大部分论坛提供的简体ROM都是6.5的，而且基本上都集成了马尼拉，我曾经尝试装过某些版本，一个晚上的待机就会耗电50%左右，让人无法忍受。最近发现国外很多网友制作的纯净ROM很好用，但是某些方面又无法满足国情需要（比如中文支持、拼音首字母检索等等），所以修改既有ROM并重新打包就变得很有必要。从一个Windows Mobile的新手跌跌撞撞地在各大论坛潜水了很长时间，终于了解Dump和重新Pack的过程，便将步骤写下来作为备忘。另外，这里主要是叙述HTC的ROM格式nbh（并且以Touch Pro2为例），而类似于nb0等等大同小异，不做叙述。</p>
<p><span id="more-415"></span></p>
<ul>软件的准备：</p>
<li><a href="/wp-content/uploads/2010/05/osnbtool_v1.59_by_Weisun.rar" class="download">osnbtool_v1.59_by_Weisun</a> (<a href="http://www.rayfile.com/files/60b92000-6c64-11df-ae62-0015c55db73d/" class="external">Mirror</a>)</li>
<li><a href="/wp-content/uploads/2010/05/xidump_v1.0_beta.rar" class="download">xidump_v1.0_beta</a> (<a href="http://www.rayfile.com/files/19935591-6c64-11df-a7ad-0015c55db73d/" class="external">Mirror</a>)</li>
<li><a href="/wp-content/uploads/2010/05/NBHUtil.rar" class="download">NBHUtil</a> (<a href="http://www.rayfile.com/files/e445cc8a-6c63-11df-a1a3-0015c55db73d/" class="external">Mirror</a>)</li>
<li><a href="/wp-content/uploads/2010/05/ImgfsTools_2.1rc2.rar" class="download">ImgfsTools_2.1rc2</a> (<a href="http://www.rayfile.com/files/b3d07559-6c63-11df-bd25-0015c55db73d/" class="external">Mirror</a>)</li>
</ul>
<p>并非是以上所有软件都会用到，下面会讲到。</p>
<h3>NBH to NB</h3>
<p>得到的HTC ROM文件都为nbh格式，某些国内小组出的ROM可能会是exe格式，其实只是用某种压缩软件进行了打包而已，用WinRAR或者Universal Extractor解压即可得到真正的ROM文件。</p>
<p>运行NBHUtil，点击进入“Extract NBH”标签，“NBH To Extract”一栏选中的NBH文件，点击“GO!”进行NBH分析，然后点击右侧“NBH Item”栏中的“Extract”按钮开始解包（这里我们只解包OS），成功后会提示“Done!”。</p>
<p class="image"><img src="/wp-content/uploads/2010/05/201005_dump_01.png" title="NBH to NB" /></p>
<h3>NB Dump</h3>
<p>这一步主要使用ImgfsTools工具集在命令行下操作。假设该工具集及NB文件都放置于“E:\roms”下。运行“cmd”并进入该目录。执行下面的命令并得到反馈：</p>
<pre><code>E:\roms>NBSplit.exe -kaiser OS.nb
NBSplit 2.1rc2
Using data chunk size = 0x800 and extra chunk size = 0x8 on file OS.nb
Done.</code></pre>
<p>得到了“OS.nb.payload”及“OS.nb.extra”两个文件。由于这里我们不涉及原理的讲解并且只修改ROM的内容，所以只会用到 “OS.nb.payload”。这里请注意，需要根据机型选择不同的参数，Touch Pro2应该选“-kaiser”，有些机型可能需要使用“-hermes”参数。</p>
<p>继续执行下面的命令并得到反馈：</p>
<pre><code>E:\roms>ImgfsFromNb.exe OS.nb.payload imgfs.bin
ImgfsFromNb 2.1rc2

Sector size is 0x800 bytes
ImgFs partition starts at 0x00380000 and ends at 0x04380000
Dumping IMGFS at offset 0x00380000 (size 0x04000000)

Done!</code></pre>
<p>这时得到真正的ROM文件imgfs.bin，继续解包它（时间会稍长）：</p>
<pre><code>E:\roms>ImgfsToDump.exe imgfs.bin
......
 Header type: FFFFFFFF, Addr: 03FF4FC0
  Empty header</code></pre>
<p>正常完成解包过程后，目录下会生成“Dump”的文件夹，该文件夹内的文件即ROM的文件，可以根据自己需要往其中增删改文件了。</p>
<p>另外需要了解的是，ImgfsTools工具集内已经有编辑好的批处理文件，可以将上面“OS.nb→OS.nb.payload→imgfs.bin→Dump”的步骤一次性完成，效果是完全一样的：</p>
<pre><code>E:\roms>NBDumpKaiser.bat OS.nb</code></pre>
<h3>NB Pack</h3>
<p>自定义修改了Dump文件夹内的文件之后的步骤就是将其打包，可以理解为Dump的逆向操作“OS.nb←OS.nb.payload←imgfs.bin←Dump”。保持之前的文件还处于相同的相对位置。</p>
<pre><code>E:\roms>ImgfsFromDump.exe imgfs.bin imgfs-new.bin
Processing "********" as file
......
Total Sectors: 0x****</code></pre>
<p>这是以imgfs.bin这个ROM包为模板，将修改的Dump文件夹打包为新的ROM包imgfs-new.bin。继续：</p>
<pre><code>E:\roms>ImgfsToNb.exe imgfs-new.bin OS.nb.payload os-new.nb.payload
ImgfsToNb 2.1rc2
Using bigstorage mode

Sector size is 0x800 bytes
Writing imgfs to offset byte 0x380000, sector 0x700
Padding ImgFs from 0x3ff9000 bytes (0x7ff2 sectors)
                to 0x4000000 bytes (0x8000 sectors)
Not conservative mode. Changing imgfsEnd from 0x4380000 to 0x4380000

Partition entry before:
 File System:    0x25
 Start Sector:   0x00000700
 Total Sectors:  0x00008000
 Boot indicator: 0x00
 First Head:     0x00
 First Sector:   0x01
 First Track:    0x1c
 Last Head:      0x3f
 Last Sector:    0x01
 Last Track:     0x21b
Partition entry after:
 File System:    0x25
 Start Sector:   0x00000700
 Total Sectors:  0x00008000
 Boot indicator: 0x00
 First Head:     0x00
 First Sector:   0x01
 First Track:    0x1c
 Last Head:      0x3f
 Last Sector:    0x01
 Last Track:     0x21b

Partition entry before:
 File System:    0x04
 Start Sector:   0x00008700
 Total Sectors:  0x00031000
 Boot indicator: 0x00
 First Head:     0x00
 First Sector:   0x01
 First Track:    0x21c
 Last Head:      0x3f
 Last Sector:    0x01
 Last Track:     0x25b
Partition entry after:
 File System:    0x04
 Start Sector:   0x00008700
 Total Sectors:  0x00031000
 Boot indicator: 0x00
 First Head:     0x00
 First Sector:   0x01
 First Track:    0x21c
 Last Head:      0x3f
 Last Sector:    0x01
 Last Track:     0x25b
ImgFs Flash Region log blocks was 0x200, now is 0x200
Storage Flash Region log block was 0xffffffff, now is 0xffffffff,
Done!</code></pre>
<p>得到“os-new.nb.payload”，再将它merge为NB文件，同样还是根据机型选择参数：</p>
<pre><code>E:\roms>NBMerge.exe -kaiser os-new.nb
NBMerge 2.1rc2
Executing NBMerge.exe with data chunk size = 0x800 and extra chunk size = 0x8 on file os-new.nb
Partition 0: start sector: 0x00000002, total: 0x0000003e
               first used: 0x00000002, used:  0x00000001
Partition 1: start sector: 0x00000040, total: 0x000006c0
               first used: 0x00000040, used:  0x0000069d
Partition 2: start sector: 0x00000700, total: 0x00008000
               first used: 0x00000700, used:  0x00007ff2
Checking os-new.nb for bad NAND block marker
Checked 0x8700 sectors successfully!
Done.</code></pre>
<p>“os-new.nb”是根据“os-new.nb.payload”来输入的，就是说，如果该payload文件名为“12345.nb.payload”，那么命令就应修改为：</p>
<pre><code>E:\roms>NBMerge.exe -kaiser 12345.nb</code></pre>
<p>这时就得到了os-new.nb文件。</p>
<p>ImgfsTools工具集内同样提供了NB Pack的批处理命令文件：</p>
<pre><code>E:\roms>NBBuildKaiser.bat os.nb</code></pre>
<p>这样就可以一次性完成上述步骤。</p>
<p>到这里已经基本完成了，就差将NB文件打包为NBH了。</p>
<h3>NB to NBH</h3>
<p>这个步骤还需要使用NBHUtil软件。首先需要确定手机的Device ID，最简单的方法，就是用NBHUtil加载一个可以正常刷机的既有ROM，比如说我们这里用来做示例的原RUU_signed.nbh文件。</p>
<p class="image"><img src="/wp-content/uploads/2010/05/201005_dump_02.png" title="NB to NBH" /></p>
<p>编辑NBHUtil软件的“NBHUtil.xml”文件，在“&lt;/NBHUtil&gt;”一行前插入：</p>
<pre><code>&lt;device name="Rhodium_W" chunksize="64"&gt;
	&lt;ModelID&gt;RHOD***&lt;/ModelID&gt;
	&lt;CID&gt;11111111&lt;/CID&gt;
	&lt;Ver&gt;3.0.00.00&lt;/Ver&gt;
	&lt;Lang&gt;0804&lt;/Lang&gt;
	&lt;Item value="0x200"&gt;SPL&lt;/Item&gt;
	&lt;Item value="0x301"&gt;Radio&lt;/Item&gt;
	&lt;Item value="0x400"&gt;OS&lt;/Item&gt;
	&lt;Item value="0x500"&gt;Diag&lt;/Item&gt;
	&lt;Item value="0x600"&gt;Splash&lt;/Item&gt;
&lt;/device&gt;</code></pre>
<p>其中的字段就是根据上图红框中的内容修改的。</p>
<p>然后运行NBHUtil，在“Build NBH”标签下，“Target Device”一栏选择“Rhodium_W”，右侧“OS”栏加载最后生成的os-new.os，点击“Build NBH!”开始生成最终的NBH文件。</p>
<p>顺便说一句：当时我在定制ROM时，在这里绕了很大的弯路。因为NBHUtil内置的Device型号不包含Touch Pro2，而网上基本上所有的相关教程（尤其是中文贴，大部分都是人云亦云，胡乱转载）都说使用“Hemes”即可，但是我试遍了所有内置的型号，在刷机时都会出现“<code>Error [244] : Invalid model id</code>”的错误（用TF卡刷机的错误代码是“00058002”），搞得我这个新接触Windows Mobile的大菜鸟十分郁闷。</p>
<p>最终得到的NBH文件，可以使用两种方法刷机，一种方法是用ROM Update Utility，这个软件一般各大论坛小组出品的ROM里都会包含，随便找一个来用就可以；另一种方法是使用TF卡刷机，具体来说就是将TF卡格式化为 FAT32，将NBH文件放入TF卡根目录下并更名为特定名称，Touch Pro2为“RHODIMG.nbh”，其他机型随便搜索一下就知道了。然后将手机关机并插入卡，再同时按住“音量减”键及电源键，直至出现三色屏和相关刷机提示。</p>
<h3>其它软件</h3>
<p>这篇文章里主要是讲述如何用ImgfsTools工具集操作，其实还有其它更为强大的软件，例如osnbtool。最初我使用ImgfsTools的低版本一直无法解包某NBH文件（不过2.1rc2已经没问题了），就是靠osnbtool来完成的。具体步骤其实大致相同，这里就不赘述了，可以参考<a href="http://www.pdaclan.com/thread-15132-1-1.html" class="external" target="_blank">该软件作者所撰写的教程</a>。</p>
<p>另外，xidump这个软件是ImgfsToDump的最新版本，已经可以直接将NBH文件dump出来，也非常方便。</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/how-to-dump-and-pack-windows-mobile-rom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HTC Touch Pro2 Tips</title>
		<link>http://lsdn.lynnstudio.net/htc-touch-pro2-tips/</link>
		<comments>http://lsdn.lynnstudio.net/htc-touch-pro2-tips/#comments</comments>
		<pubDate>Tue, 25 May 2010 09:39:21 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[Cellphone]]></category>

		<category><![CDATA[HTC]]></category>

		<category><![CDATA[Tips]]></category>

		<category><![CDATA[Touch Pro2]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=414</guid>
		<description><![CDATA[从Symbian转移到Windows Mobile之后，很多习惯都被改变了，这里用来记录使用中的点点滴滴。虽然是针对HTC Touch Pro2，但是不少Tips是大部分Windows Mobile手机通用的。另外，以下除非特别说明，都是以6.1版本为依据。
U.S. Cellular版本的Touch Pro2硬启方法
同时按住拨号键（Send）和挂机键（End），然后再同时按住电源键，稍等片刻，出现三色屏后便会有是否硬启的提示，按音量键上为硬启，按其它键为取消。
另外顺带介绍一个名为Hard Reset的网站，收录有大部分PDA机器的硬启方法，非常不错。
拨打400、800电话号码前自动加1
换了新手机之后，由于没怎么打过400、800电话，最近才发现，打这类电话时，电话号码前会自动加拨1，这自然导致拨号失败。搜索下发现很多人都碰到过，大致是因为美国国情导致的。只要在“设置→CDMA服务（CDMA Services）”中更改“自动预设（Automatic Prepend）”为关闭即可。
不过我的问题比较复杂，首先“CDMA Services”没有“Automatic Prepend”这项，另外发现“Globle Smart Dailing”无论如何更改设置都无法生效，一直是Enable状态，在国外的论坛翻贴之后，发现只要修改注册表即可：
[HKEY_LOCAL_MACHINE\SOFTWARE\OEM\PhoneSetting]
"AutoPrepend_1"=dword:00000000
"HiddenAutoPrependPage"=dword:00000000
"EnableOnePlusMDNVoicemail"=dword:00000000
"ShowAutoPrependPage"=dword:00000001
重启之后“CDMA Services”中即出现了“Automatic Prepend”项，点“Get Settings”，很有趣的，我的两个选项都是“Radio 1”，没办法，选择第二个“Radio 1”后确认，再次尝试拨号，问题解决了。

修改“今日”中的左键功能
“今日”桌面的左键默认为日历，对于自己来讲，写短信的几率要大大超过看日历，那么就来手动更改左键为写短信功能吧。
首先下载新建短信的快捷方式文件，解包之后将其中的“写短信.lnk”文件置于手机的“\Windows”下，然后修改注册表，将：
[HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\112]
"Open"="\\windows\\calendar.exe"
@="日历"
更改为：
[HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\112]
"Open"="\\windows\\写短信.lnk"
@="写短信"
然后重启手机即可。
QQ手机输入法删除用不到的输入方式
A4输入法被腾讯收购了，还好，A4良好快速的优点算是被继承下来了。不过，QQ手机拼音输入法集成了拼音、笔画、智能英文、字母、数字五种输入方式，而我只会用到其中的拼音、字母两种，用硬键盘切换输入方式时，总要多切换几次，比较麻烦，那么就来将用不到的输入方式删去吧。
编辑手机存储内的“\Program Files\Tencent\QQPinyin\Setting.ini”文件，将：
[InputMethod]
Default=0
Total=4

[InputMethod#0]
Enable=1
Id=1
Name=拼音

[InputMethod#1]
Enable=1
Id=3
Name=笔画

[InputMethod#2]
Enable=1
Id=12
Name=英文

[InputMethod#3]
Enable=1
Id=8
Name=abc
修改为：
[InputMethod]
Default=0
Total=2

[InputMethod#0]
Enable=1
Id=1
Name=拼音

[InputMethod#1]
Enable=1
Id=8
Name=abc
然后重启手机，使用硬键盘时就只有两种输入方式了。不过虚拟键盘内还是可以继续使用其它的输入方式的。
安装文件会用到的系统目录
打包cab安装文件时，经常会碰到类似于“%CE1%”的系统目录格式，下面列表作为备用：
%CE1%		Program Files
%CE2%		Windows
%CE4%		Windows\StartUp
%CE5%		My Documents
%CE8%		Program Files\Games
%CE11%		Windows\Start Menu\Programs
%CE14%		Windows\Start Menu\Programs\Games
%CE15%		Windows\Fonts
%CE17%		Windows\Start Menu
过度精简ROM导致CallerLoc无法使用
CallerLoc是现在口碑最好的来电归属地软件，有着占用资源小等优点。但是我的机器装上之后就是无法使用。每次点击主程序都提示已启用（按理说点击一次是启用，再点击一次是禁用），来电去电也无任何归属地显示。在官方论坛咨询了作者，被告知应该ROM过度精简所导致的，那么就从这里入手。经过很长时间的排查，终于发现是因为注册表的过度精简，使一个系统服务“SNApi”无法正常启用，从而无法使用CallerLoc。
[HKEY_LOCAL_MACHINE\Services\SNApi]
"Flags"=dword:00000002
"Index"=dword:00000000
"Prefix"="SNA"
"Keep"=dword:00000001
"Dll"="regextdev.dll"
导入上面的注册表项，搞定！
HTC Touch Pro2 CDMA版（6875）的2G/3G模式切换
6875的CAVE Radio一直没有人释出，主要是很多商家还在用这个赚钱。3G对我来说的确也用处不大，我也不想去再多花钱查询AA/AAA。不过既然用不上3G，那么平常在EVDO模式下待机应该会更耗电吧，毕竟是3G，所以我一直在想如何强制手机处于2G的1x模式待机。刷prl总觉得太费事，万一有什么意外又能用EV了还要再刷回来。终于在XDA-Developers找到了很好的解决方案！
所需软件及脚本打包下载
包内有说明文件，其实使用很简单：先安装“rk-FltMode-Setup1.0.1.CAB”和“mortscript-41-ppc.cab”两个包（不能安装在存储卡内），然后根据需要将脚本复制到随便哪个地方执行，就可以根据提示操作了。我一般是使用“CDMA only.mscr”这个脚本，都无需重启机器，就可以一直在1x模式下待机了！
]]></description>
			<content:encoded><![CDATA[<p>从Symbian转移到Windows Mobile之后，很多习惯都被改变了，这里用来记录使用中的点点滴滴。虽然是针对HTC Touch Pro2，但是不少Tips是大部分Windows Mobile手机通用的。另外，以下除非特别说明，都是以6.1版本为依据。</p>
<h3>U.S. Cellular版本的Touch Pro2硬启方法</h3>
<p>同时按住拨号键（Send）和挂机键（End），然后再同时按住电源键，稍等片刻，出现三色屏后便会有是否硬启的提示，按音量键上为硬启，按其它键为取消。</p>
<p>另外顺带介绍一个名为<a href="http://www.hardreset.eu/" class="external" target="_blank">Hard Reset</a>的网站，收录有大部分PDA机器的硬启方法，非常不错。</p>
<h3>拨打400、800电话号码前自动加1</h3>
<p>换了新手机之后，由于没怎么打过400、800电话，最近才发现，打这类电话时，电话号码前会自动加拨1，这自然导致拨号失败。搜索下发现很多人都碰到过，大致是因为美国国情导致的。只要在“设置→CDMA服务（CDMA Services）”中更改“自动预设（Automatic Prepend）”为关闭即可。</p>
<p>不过我的问题比较复杂，首先“CDMA Services”没有“Automatic Prepend”这项，另外发现“Globle Smart Dailing”无论如何更改设置都无法生效，一直是Enable状态，在国外的论坛翻贴之后，发现只要修改注册表即可：</p>
<pre><code>[HKEY_LOCAL_MACHINE\SOFTWARE\OEM\PhoneSetting]
"AutoPrepend_1"=dword:00000000
"HiddenAutoPrependPage"=dword:00000000
"EnableOnePlusMDNVoicemail"=dword:00000000
"ShowAutoPrependPage"=dword:00000001</code></pre>
<p>重启之后“CDMA Services”中即出现了“Automatic Prepend”项，点“Get Settings”，很有趣的，我的两个选项都是“Radio 1”，没办法，选择第二个“Radio 1”后确认，再次尝试拨号，问题解决了。</p>
<p><span id="more-414"></span></p>
<h3>修改“今日”中的左键功能</h3>
<p>“今日”桌面的左键默认为日历，对于自己来讲，写短信的几率要大大超过看日历，那么就来手动更改左键为写短信功能吧。</p>
<p>首先下载<a href="/wp-content/uploads/2010/05/201005_xv6875_sms.rar" class="download">新建短信的快捷方式文件</a>，解包之后将其中的“写短信.lnk”文件置于手机的“\Windows”下，然后修改注册表，将：</p>
<pre><code>[HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\112]
"Open"="\\windows\\calendar.exe"
@="日历"</code></pre>
<p>更改为：</p>
<pre><code>[HKEY_CURRENT_USER\Software\Microsoft\Today\Keys\112]
"Open"="\\windows\\写短信.lnk"
@="写短信"</code></pre>
<p>然后重启手机即可。</p>
<h3>QQ手机输入法删除用不到的输入方式</h3>
<p>A4输入法被腾讯收购了，还好，A4良好快速的优点算是被继承下来了。不过，QQ手机拼音输入法集成了拼音、笔画、智能英文、字母、数字五种输入方式，而我只会用到其中的拼音、字母两种，用硬键盘切换输入方式时，总要多切换几次，比较麻烦，那么就来将用不到的输入方式删去吧。</p>
<p>编辑手机存储内的“\Program Files\Tencent\QQPinyin\Setting.ini”文件，将：</p>
<pre><code>[InputMethod]
Default=0
Total=4

[InputMethod#0]
Enable=1
Id=1
Name=拼音

[InputMethod#1]
Enable=1
Id=3
Name=笔画

[InputMethod#2]
Enable=1
Id=12
Name=英文

[InputMethod#3]
Enable=1
Id=8
Name=abc</code></pre>
<p>修改为：</p>
<pre><code>[InputMethod]
Default=0
Total=2

[InputMethod#0]
Enable=1
Id=1
Name=拼音

[InputMethod#1]
Enable=1
Id=8
Name=abc</code></pre>
<p>然后重启手机，使用硬键盘时就只有两种输入方式了。不过虚拟键盘内还是可以继续使用其它的输入方式的。</p>
<h3>安装文件会用到的系统目录</h3>
<p>打包cab安装文件时，经常会碰到类似于“%CE1%”的系统目录格式，下面列表作为备用：</p>
<pre><code>%CE1%		Program Files
%CE2%		Windows
%CE4%		Windows\StartUp
%CE5%		My Documents
%CE8%		Program Files\Games
%CE11%		Windows\Start Menu\Programs
%CE14%		Windows\Start Menu\Programs\Games
%CE15%		Windows\Fonts
%CE17%		Windows\Start Menu</code></pre>
<h3>过度精简ROM导致CallerLoc无法使用</h3>
<p>CallerLoc是现在口碑最好的来电归属地软件，有着占用资源小等优点。但是我的机器装上之后就是无法使用。每次点击主程序都提示已启用（按理说点击一次是启用，再点击一次是禁用），来电去电也无任何归属地显示。在官方论坛咨询了作者，被告知应该ROM过度精简所导致的，那么就从这里入手。经过很长时间的排查，终于发现是因为注册表的过度精简，使一个系统服务“SNApi”无法正常启用，从而无法使用CallerLoc。</p>
<pre><code>[HKEY_LOCAL_MACHINE\Services\SNApi]
"Flags"=dword:00000002
"Index"=dword:00000000
"Prefix"="SNA"
"Keep"=dword:00000001
"Dll"="regextdev.dll"</code></pre>
<p>导入上面的注册表项，搞定！</p>
<h3>HTC Touch Pro2 CDMA版（6875）的2G/3G模式切换</h3>
<p>6875的CAVE Radio一直没有人释出，主要是很多商家还在用这个赚钱。3G对我来说的确也用处不大，我也不想去再多花钱查询AA/AAA。不过既然用不上3G，那么平常在EVDO模式下待机应该会更耗电吧，毕竟是3G，所以我一直在想如何强制手机处于2G的1x模式待机。刷prl总觉得太费事，万一有什么意外又能用EV了还要再刷回来。终于在<a href="http://forum.xda-developers.com/showthread.php?t=661736" class="external" target="_blank">XDA-Developers</a>找到了很好的解决方案！</p>
<p><a href="/wp-content/uploads/2010/05/forcemodes.rar" class="download">所需软件及脚本打包下载</a></p>
<p>包内有说明文件，其实使用很简单：先安装“rk-FltMode-Setup1.0.1.CAB”和“mortscript-41-ppc.cab”两个包（不能安装在存储卡内），然后根据需要将脚本复制到随便哪个地方执行，就可以根据提示操作了。我一般是使用“CDMA only.mscr”这个脚本，都无需重启机器，就可以一直在1x模式下待机了！</p>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/htc-touch-pro2-tips/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HTC Touch Pro2 CDMA（xv6875）刷机及写号攻略</title>
		<link>http://lsdn.lynnstudio.net/how-to-initialize-touch-pro2/</link>
		<comments>http://lsdn.lynnstudio.net/how-to-initialize-touch-pro2/#comments</comments>
		<pubDate>Tue, 25 May 2010 09:28:11 +0000</pubDate>
		<dc:creator>Wink</dc:creator>
		
		<category><![CDATA[Cellphone]]></category>

		<category><![CDATA[CDMA]]></category>

		<category><![CDATA[HTC]]></category>

		<category><![CDATA[Rom]]></category>

		<category><![CDATA[Touch Pro2]]></category>

		<guid isPermaLink="false">http://lsdn.lynnstudio.net/?p=413</guid>
		<description><![CDATA[\r\n
\r\n
Contents
\r\n
\r\n
所需软件的准备
\r\n
同步手机
\r\n
解锁SPL
\r\n
Radio Patch
\r\n
写号
\r\n
例外：80开头的ESN
\r\n
更新PRL及设置AA/AAA
\r\n
更改运营商的字样
\r\n
疑难解答
\r\n
\r\n
\r\n
\r\n
由于某些原因，打算换用电信CDMA的手机号码，所以不得不换手机。考虑到以后可能还是会用GSM号码，挑来挑去，最终选择了HTC Touch Pro 2。由于之前完全没有接触过CDMA，入手之后，如何解锁、写号、刷机及修改ROM，着实让我颇费头脑。不过还好，通过几周的恶补，稍微有些心得，趁着新鲜热辣，赶紧记下来，以作备忘。
\r\n
由于CDMA技术与GSM技术的差别及其的相对不开放，所以解锁、写号需要了解的概念也比较多。关于这些网上有很多相关文章，这里是详细叙述步骤。
\r\n

\r\n
所需软件的准备
\r\n
\r\n
Touch Pro2的驱动（Mirror）
\r\n
最新版本的解锁软件
\r\n
Patched Radio包（Mirror）
\r\n
ESN Modify工具（Mirror）
\r\n
CDMA Workshop v2.7.0（Mirror）
\r\n
ESN/MEID转换工具（Mirror）
\r\n
收集的一些PRL文件（Mirror）
\r\n
\r\n

\r\n
同步手机
\r\n
在Windows 7下，将手机与电脑用USB线连接之后，电脑会自动下载手机驱动及同步软件；在Windows XP下，这个步骤要手动完成。使用“所需软件的准备”中Touch Pro2的驱动，同步软件可以从微软官方网站获得。
\r\n

\r\n
解锁SPL
\r\n
由于该机器基本上是HTC与欧美各大运营商合作退出的签约机，所以通常限制了对其它网络的使用，我们需要先将该限制解除。
\r\n
下载“所需软件的准备”中最新版本的解锁软件。注意，该软件限制了只能免费使用一次，所以一旦解锁失败而要再次使用时，需向作者付一定的费用。这里“Rhodium_W”为“HTC Touch Pro2 CDMA”机型的代号，这个以后还会接触到。
\r\n
下载之后解压运行其中的exe文件，然后点击“Flash Hard-SPL”按钮。这里要注意一定要将该文件置于本地硬盘内，并且关闭杀毒软件以防误报，尽量保证网络通常并且最好不要在内网中，手机电量要在60%以上。
\r\n

\r\n
接下来一路点OK，直到电脑上出现刷机界面，此时手机会自动黑屏进入刷机模式。运行刷机软件一路点Next，出现进度条之后稍等片刻便刷机成功。
\r\n

\r\n
Radio Patch
\r\n
官方的Radio是不能直接写号的，必须要刷Patched Radio。刷Radio其实和刷Rom的性质一样，将“所需软件的准备”小节中得到的Patched Radio解包之后在同步状态下运行“ROMUpdateUtility.exe”，根据提示进行刷机。
\r\n

\r\n
写号
\r\n
写号必须要获知CDMA号码的IMSI、ESN、A-Key，俗称三码，这可以保证正常通话、短信、1x上网；如果有CAVE Radio并且本地网络支持CAVE EVDO上网认证，那么有这三码也可以EVDO上网了；否则，就必须还要获知AN、AAA，加上之前的三码，俗称五码。关于具体的获知渠道，不是这篇文章关注的重点。
\r\n
题外话，其实IMSI和ESN可以自己通过UIM卡查出来的。电信赠送的手机很多牌子比如华为，拨“##497613”进入工程模式，依次进入System test→System parameter，其中“UIM ID”即UIM卡的ESN，“IMSI”即手机卡的IMSI，不过“MEID”并非手机卡而是手机的MEID。
\r\n
首先需要进入EPST模式，在拨号界面下拨“##3424#”（需要手机系统中装有EPST），此时系统会自动发现两项新设备，使用上面“同步手机”小节中的驱动后，在设备管理器中会发现“端口”一项中多出新设备，记住COM端口号，后面会用到。
\r\n

\r\n
接下来获取当前手机的SPC。在“所需软件的准备”小节中下载由DiyPda制作的ESN Modify工具，运行之后，“选择端口”一项应该为上面所得到的COM端口，这里是“COM4”，点击“读SPC”，即可得到当前的SPC。关闭该软件，之后取决于情况，可能还会用到。
\r\n
然后解压执行CDMA Workshop，注意杀毒软件还是可能会误报。接下来按图操作：
\r\n

\r\n
连接成功后，点击“Security”标签。在“SPC”内输入上面通过ESN Modify获知的SPC码后点击“SPC→Send”：
\r\n

\r\n
如果SPC码正确，会弹出“SPC is correct. Phone unlocked”的确认框。这时，手机已经完全解锁。为了防止以后忘记SPC而重复工作，在SPC框中填入“000000”后点击“SPC→Write”，这样就一劳永逸了。
\r\n
接下来将MEID清零。点击“Terminal”标签，在“Commands (bytes in HEX)”框中输入下述字符串后点击“Send”：
\r\n
27 97 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [...]]]></description>
			<content:encoded><![CDATA[<div class="toc" id="toc">\r\n
<div class="tocwrapper">\r\n<br />
<h3><img src="/wp-content/themes/lsdn/img/icn_toggle_minus.gif" id="toggletoc">Contents</h3>
<p>\r\n
<ol>\r\n
<li><a href="#prepare">所需软件的准备</a></li>
<p>\r\n
<li><a href="#activesync">同步手机</a></li>
<p>\r\n
<li><a href="#unlockspl">解锁SPL</a></li>
<p>\r\n
<li><a href="#radiopatch">Radio Patch</a></li>
<p>\r\n
<li><a href="#writenum">写号</a></li>
<p>\r\n
<li><a href="#esn80">例外：80开头的ESN</a></li>
<p>\r\n
<li><a href="#updateprl">更新PRL及设置AA/AAA</a></li>
<p>\r\n
<li><a href="#changeisp">更改运营商的字样</a></li>
<p>\r\n
<li><a href="#faq">疑难解答</a></li>
<p>\r\n</ol>
<p>\r\n</p></div>
<p>\r\n</p></div>
<p>\r\n
<p>由于某些原因，打算换用电信CDMA的手机号码，所以不得不换手机。考虑到以后可能还是会用GSM号码，挑来挑去，最终选择了HTC Touch Pro 2。由于之前完全没有接触过CDMA，入手之后，如何解锁、写号、刷机及修改ROM，着实让我颇费头脑。不过还好，通过几周的恶补，稍微有些心得，趁着新鲜热辣，赶紧记下来，以作备忘。</p>
<p>\r\n
<p>由于CDMA技术与GSM技术的差别及其的相对不开放，所以解锁、写号需要了解的概念也比较多。关于这些网上有很多相关文章，这里是详细叙述步骤。</p>
<p><span id="more-413"></span>\r\n
<p><a name="prepare"></a></p>
<p>\r\n<br />
<h3>所需软件的准备</h3>
<p>\r\n
<ul>\r\n
<li><a href="/wp-content/uploads/2010/05/xv6875_usb_drivers.rar" class="download">Touch Pro2的驱动</a>（<a href="http://www.rayfile.com/files/f7342a5c-ddbe-11df-b071-0015c55db73d/" class="external">Mirror</a>）</li>
<p>\r\n
<li><a href="http://rhodiumw.htc-unlocks.com/hard-spl.php" class="external">最新版本的解锁软件</a></li>
<p>\r\n
<li><a href="/wp-content/uploads/2010/05/Rhodium_Radio_ESNFixable_Ver.7z" class="download">Patched Radio包</a>（<a href="http://www.rayfile.com/files/ef1a5f4c-679b-11df-b27f-0015c55db73d/" class="external">Mirror</a>）</li>
<p>\r\n
<li><a href="/wp-content/uploads/2010/05/ESNModify.rar" class="download">ESN Modify工具</a>（<a href="http://www.rayfile.com/files/32309570-67a4-11df-941c-0015c55db73d/" class="external">Mirror</a>）</li>
<p>\r\n
<li><a href="/wp-content/uploads/2010/05/CDMA_Workshop_27.rar" class="download">CDMA Workshop v2.7.0</a>（<a href="http://www.rayfile.com/files/3fbdd20c-67a7-11df-98a4-0015c55db73d/" class="external">Mirror</a>）</li>
<p>\r\n
<li><a href="/wp-content/uploads/2010/05/ESN_MEID_trans.rar" class="download">ESN/MEID转换工具</a>（<a href="http://www.rayfile.com/files/a561ddd4-67b0-11df-a9a6-0015c55db73d/" class="external">Mirror</a>）</li>
<p>\r\n
<li><a href="/wp-content/uploads/2010/05/prl.rar" class="download">收集的一些PRL文件</a>（<a href="http://www.rayfile.com/files/513012cf-67b9-11df-b9ae-0015c55db73d/" class="external">Mirror</a>）</li>
<p>\r\n</ul>
<p>\r\n
<p><a name="activesync"></a></p>
<p>\r\n<br />
<h3>同步手机</h3>
<p>\r\n
<p>在Windows 7下，将手机与电脑用USB线连接之后，电脑会自动下载手机驱动及同步软件；在Windows XP下，这个步骤要手动完成。使用“所需软件的准备”中Touch Pro2的驱动，同步软件可以从<a href="http://download.microsoft.com/download/5/4/6/5467c040-a935-4987-aa30-5dcbc36a57db/setup.msi" class="download">微软官方网站</a>获得。</p>
<p>\r\n
<p><a name="unlockspl"></a></p>
<p>\r\n<br />
<h3>解锁SPL</h3>
<p>\r\n
<p>由于该机器基本上是HTC与欧美各大运营商合作退出的签约机，所以通常限制了对其它网络的使用，我们需要先将该限制解除。</p>
<p>\r\n
<p>下载“所需软件的准备”中最新版本的解锁软件。注意，该软件限制了只能免费使用一次，所以一旦解锁失败而要再次使用时，需向作者付一定的费用。这里“Rhodium_W”为“HTC Touch Pro2 CDMA”机型的代号，这个以后还会接触到。</p>
<p>\r\n
<p>下载之后解压运行其中的exe文件，然后点击“Flash Hard-SPL”按钮。这里要注意一定要将该文件置于本地硬盘内，并且关闭杀毒软件以防误报，尽量保证网络通常并且最好不要在内网中，手机电量要在60%以上。</p>
<p>\r\n
<p class="image"><img src="/wp-content/uploads/2010/05/201005_xv6875_unlock_01.png" alt="RhodiumW-HardSPL_V1_10R3" title="RhodiumW-HardSPL_V1_10R3" /></p>
<p>\r\n
<p>接下来一路点OK，直到电脑上出现刷机界面，此时手机会自动黑屏进入刷机模式。运行刷机软件一路点Next，出现进度条之后稍等片刻便刷机成功。</p>
<p>\r\n
<p><a name="radiopatch"></a></p>
<p>\r\n<br />
<h3>Radio Patch</h3>
<p>\r\n
<p>官方的Radio是不能直接写号的，必须要刷Patched Radio。刷Radio其实和刷Rom的性质一样，将“<a href="#prepare">所需软件的准备</a>”小节中得到的Patched Radio解包之后在同步状态下运行“ROMUpdateUtility.exe”，根据提示进行刷机。</p>
<p>\r\n
<p><a name="writenum"></a></p>
<p>\r\n<br />
<h3>写号</h3>
<p>\r\n
<p>写号必须要获知CDMA号码的IMSI、ESN、A-Key，俗称三码，这可以保证正常通话、短信、1x上网；如果有CAVE Radio并且本地网络支持CAVE EVDO上网认证，那么有这三码也可以EVDO上网了；否则，就必须还要获知AN、AAA，加上之前的三码，俗称五码。关于具体的获知渠道，不是这篇文章关注的重点。</p>
<p>\r\n
<p>题外话，其实IMSI和ESN可以自己通过UIM卡查出来的。电信赠送的手机很多牌子比如华为，拨“##497613”进入工程模式，依次进入System test→System parameter，其中“UIM ID”即UIM卡的ESN，“IMSI”即手机卡的IMSI，不过“MEID”并非手机卡而是手机的MEID。</p>
<p>\r\n
<p>首先需要进入EPST模式，在拨号界面下拨“##3424#”（需要手机系统中装有EPST），此时系统会自动发现两项新设备，使用上面“<a href="#activesync">同步手机</a>”小节中的驱动后，在设备管理器中会发现“端口”一项中多出新设备，记住COM端口号，后面会用到。</p>
<p>\r\n
<p class="image"><img src="/wp-content/uploads/2010/05/201005_xv6875_unlock_02.png" alt="Qualcomm Diagnostics Interface" title="Qualcomm Diagnostics Interface" /></p>
<p>\r\n
<p>接下来获取当前手机的SPC。在“<a href="#prepare">所需软件的准备</a>”小节中下载由DiyPda制作的ESN Modify工具，运行之后，“选择端口”一项应该为上面所得到的COM端口，这里是“COM4”，点击“读SPC”，即可得到当前的SPC。关闭该软件，之后取决于情况，可能还会用到。</p>
<p>\r\n
<p>然后解压执行CDMA Workshop，注意杀毒软件还是可能会误报。接下来按图操作：</p>
<p>\r\n
<p class="image"><img src="/wp-content/uploads/2010/05/201005_xv6875_unlock_03.png" alt="Connect COM" title="Connect COM" /></p>
<p>\r\n
<p>连接成功后，点击“Security”标签。在“SPC”内输入上面通过ESN Modify获知的SPC码后点击“SPC→Send”：</p>
<p>\r\n
<p class="image"><img src="/wp-content/uploads/2010/05/201005_xv6875_unlock_04.png" alt="Send SPC" title="Send SPC" /></p>
<p>\r\n
<p>如果SPC码正确，会弹出“SPC is correct. Phone unlocked”的确认框。这时，手机已经完全解锁。为了防止以后忘记SPC而重复工作，在SPC框中填入“000000”后点击“SPC→Write”，这样就一劳永逸了。</p>
<p>\r\n
<p>接下来将MEID清零。点击“Terminal”标签，在“Commands (bytes in HEX)”框中输入下述字符串后点击“Send”：</p>
<p>\r\n
<pre><code>27 97 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00</code></pre>
<p>\r\n
<p>MEID清零之后便开始改写手机ESN。点击“Security”标签，在ESN栏位第一个框中填入八位的ESN码后点击“Write”写入。</p>
<p>\r\n
<p class="image"><img src="/wp-content/uploads/2010/05/201005_xv6875_unlock_05.png" alt="Change ESN" title="Change ESN" /></p>
<p>\r\n
<p>写入成功的话会弹出“Success. ESNsuccessfully has been changed”的确认框。</p>
<p>\r\n
<p>然后改写ISMI。点击“Nam”标签，点击“Read”按钮读出手机原内置信息，按图操作：</p>
<p>\r\n
<p class="image"><img src="/wp-content/uploads/2010/05/201005_xv6875_unlock_06.png" alt="Change ISMI" title="Change ISMI" /></p>
<p>\r\n<br />
<blockquote>
<h4>Tips：关于SID/NID（转自<a href="http://www.diypda.com/" class="external" target="_blank">DiyPda</a>）</h4>
<p>\r\n
<p>SID和NID的作用：<br />SID和NID用于判断手机是否漫游及漫游状态，手机的漫游状态同时体现在它的登记方式和它的呼叫限制标志上。注意：这所说的漫游是指“位置”上的，不是指“计费”上的，手机在漫游状态下呼叫是否要拨长途区号、是否要付长途话费，是由手机的号码段和计费终端的设置决定的。SID号码由“前联通总公司”确定并分配给每个移动本地网，每个本地网一般只有一个号码。在中国可以简单理解为地级分公司或同一个国内长途区号的系统代码，为什么强调“在中国”呢？要知道中国的一个省比很多国家面积都要大，国外划分本地网不一定像中国按地级市来划分。NID是SID下面的一个子集，表示构成同一网络的一组基站或一个基站。NID的分配由各本地网管理，也就是由地级分公司分配。在中国，NID可以理解为数据交换局的代码，在同一NID下有若干基站。还有一些代码在手机里没有显示的，例如基站识别码、扇区代码。</p>
<p>\r\n
<p>如何用SID和NID判别漫游状态<br />在中国，手机是利用“为其服务的基站的SID与手机（UIM卡）内的SID是否相等”来判断是否处于漫游状态。有些使用CDMA网络的小国家，可能只有一个SID，他们判断手机是否漫游只需比较NID是否相等就可以了。在手机内部保存一个SID和NID的列表（机卡分离的保存在UIM卡内部），是它曾经登记过的区域的标识。NID有两个保留值，一个是0，这是为公众蜂窝网所预留的；另外一个是65535，手机利用它来进行漫游状态判决，如果手机的NID设为65535，这时手机只进行SID比较，不进行NID的比较。只要在同一SID内，就认为是本地用户，不被看做是漫游。手机可以处于下面三种漫游状态的任何一种中：本地（不漫游）、NID漫游和SID漫游。如果从系统参数消息中接收接收到的SID/NID不与UIM卡存储的本地识别码SID/NID相匹配，则认为该手机处于漫游状态。如果手机正在漫游并且为其服务的基站的SID/NID中的SID与手机（UIM卡）中本地识别码表中的SID相等，则这个手机被认为是NID漫游。如果手机本地识别码表中的SID都不等于服务系统的SID，这个就被认为是SID漫游。如果手机使用特定的NID（65535），则表明手机认为在一个SID里的全部NID中都是非漫游的，即在系统的所有基站的小区里，手机都不算是漫游。例如：如果手机的本地（SID/NID）列表包括：13828/65535、13844/65535、13831/65535，13828、13844、13831分别是广州、深圳、东莞三地的SID，手机认为这三个都是本地网，手机就不会显示白三角。能全国漫游的UIM卡就应该包含全国各地的SID，有些地区推出的本地通（例如深圳的“市话通”），UIM卡内就只有深圳的SID，至于是否漫游成功，还要看当地的系统是否允许接入。</p>
</blockquote>
<p>\r\n
<p>这里需要注意的是，十五位和十位ISMI其实是一样的，区别在于前面是否加了MCC码460和MNC码03。</p>
<p>\r\n
<p>最后写入A-Key。点击“Cave”标签，在Cave栏的A-Key框中输入自己手机号码的A-Key，SSD_A与SSD_B两项填满0，点击“Write”按钮。</p>
<p>\r\n
<p class="image"><img src="/wp-content/uploads/2010/05/201005_xv6875_unlock_07.png" alt="Change AKEY" title="Change AKEY" /></p>
<p>\r\n
<p>成功的话会弹出“Success. A-Key successfully has been changed for NAM1. Success. SSD_A successfully has been changed for NAM1. Success. SSD_B successfully has been changed for NAM1.\r\n”的确认框。</p>
<p>\r\n
<p>然后关闭软件、重启手机，可以发现手机已经可以像插入UIM卡一样正常使用了。不过最重要的一点，千万不能让写号后的手机和插了原来该号码UIM卡的手机同时开机，否则这种并机状态会被电信立即停机！</p>
<p>\r\n
<p><a name="esn80"></a></p>
<p>\r\n<br />
<h3>例外：80开头的ESN</h3>
<p>\r\n
<p>写码的时候发现悲剧了，ESN码是80开头的，这种ESN是通过MEID转换而来的，无法直接通过CDMA WorkShop写入。解压执行“<a href="#prepare">所需软件的准备</a>”小节中的ESN/MEID转换工具，输入ESN的后六位，点击“查找”，稍等片刻就可以得到转换的MEID（注意该软件会有弹出广告），换算时间视电脑性能而定，CPU为T7200的笔记本大概花费了二十分钟。</p>
<p>\r\n
<p>得到MEID后，再次运行ESN Modify工具（刚才说过的可能还会用到），选择好端口，“16进制MEID”框填入刚才换算得到的MEID，“16进制ESN”会自动通过换算得到，可以和自己的ESN对比一下，应该是一样的。点击“写入”按钮。这样80开头的ESN也终于搞定写号了！</p>
<p>\r\n
<p><a name="updateprl"></a></p>
<p>\r\n<br />
<h3>更新PRL及设置AA/AAA</h3>
<p>\r\n
<p>正常来讲，现在应该已经可以使用写号机通话了，不过有些时候也有例外。如果还是无法拨通的话，可以尝试更新PRL，在这里，用PRL包中的“0005.prl”为例。</p>
<p>\r\n
<p>首先将PRL文件放置于手机存储中，比如“My Documents”内。在拨号界面下拨“##778#”，点选“Edit”，然后输入SPC密码，刚才我们已经修改为“000000”。进入EPST界面后，点击左键“View info”，在弹出菜单中点选“PRL”，在接下来的PRL界面中，将Update PRL File设置为“\\My Documents\\0005.prl”，系统提示“Update the items?”，点击确定。</p>
<p>\r\n
<p>接下来设置一些和网络相关的参数，如果有AA/AAA，也可以设置EVDO上网，现在Touch Pro2还仅支持MD5而不支持CAVE（2010.08.20注：现时淘宝里已有一些商家在卖CAVE Radio，不过是要花钱的，价格感觉和直接查询AA/AAA码相差不多），这代表，只有获得了AA/AAA码才能使用EVDO。</p>
<p>\r\n
<p>在上述“View info”的菜单中点选“M.IP Setings”，将“MIP-MODE”改为“Simple IP Only”，“Mobile Node-HA Auther”改为“Enable”。</p>
<p>\r\n
<p>在上述“View info”的菜单中点选“Modem Settings”，将“HDR Hybrid Preferred”改为“Enable”，将“Preferred Mode”改为“Automatic”（代表使用1X/EVDO混合模式且优先选择EVDO）。</p>
<p>\r\n
<p>在“View info”的菜单中点选“Data Parameter”，将“Packet Dial String”改为“#777”，把“Rev. A”改为“Enable”。</p>
<p>\r\n
<p>在“View info”的菜单中点选“Security”，将“HDR AN AUTH User Id”改为UIM卡的AN，把“HDR AN AUTH Password”改为UIM卡的AAA。</p>
<p>\r\n
<p>重启手机，界面上应该已经显示“Ev”图标了，这只是代表当前存在EVDO网络而已，具体AA/AAA是否正确、是否可以使用EVDO网络，可以在拨号界面下拨“##33284#”→在“Field Trial”界面中点击左键“Debug Info”→在弹出菜单中点选“HDR”，看“AN/AAA authentication”如果为“1”，即代表终于可以使用EVDO了！</p>
<p>\r\n
<p><a name="changeisp"></a></p>
<p>\r\n<br />
<h3>更改运营商的字样</h3>
<p>\r\n
<p>我所使用的U.S. Cellular版本Touch Pro2，一直在系统中显示运营商为“U.S. Cellular”，网上所流传的方法（譬如更改注册表、安装某Cab包等）大部分都无效，要么就是根本不起作用，要么就是在硬启之后失效。这个问题根本的原因还是源于PRL。不过，最终在<a href="http://bbs.diypda.com/viewthread.php?tid=121298" class="external" target="_blank">DiyPda论坛中</a>找到了解决方法（感谢作者eric5100君）。</p>
<p>\r\n
<p>在上述写号过程中，需要多操作一步。下载NVItems.txt文件，其内容为：</p>
<p>\r\n
<pre><code>[NV Items]\r\n[Complete items - 1]\r\n\r\n8042 (0x1F6A)   -   OK\r\n0D <span>D6 D0 B9 FA B5 E7 D0 C5</span> 00 00 00 00 00 00 00 \r\n00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r\n00 00 00 00 00 00 00 00 00 00 0D <span>D6 D0 B9 FA B5 \r\nE7 D0 C5</span> 00 00 00 00 00 00 00 00 00 00 00 00 00 \r\n00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r\n00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r\n00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r\n00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \r\n</code></pre>
<p>\r\n
<p>红色的内容为“中国电信”的十六进制值，也可以根据需要替换为其它值。点击“Memory”标签，在“NV Items”栏中点击“Write”，会提示需要先解锁SPC，确认跳过提示，然后选取NVItems.txt文件，很快软件会提示写入成功。</p>
<p>\r\n
<p class="image"><img src="/wp-content/uploads/2010/05/201005_xv6875_unlock_08.png" alt="Write NV Items" title="Write NV Items" /></p>
<p>\r\n
<p>这时只需重新启动手机，就可以看见“中国电信”字样了。嗯，我的一个心病终于解决了！</p>
<p>\r\n
<p><a name="faq"></a></p>
<p>\r\n<br />
<h3>疑难解答</h3>
<p>\r\n
<ul>\r\n
<li>如果仍有白色三角漫游标纪，可以尝试更新其它PRL。</li>
<p>\r\n
<li>如果写号之后能打电话而无法收发短信，请检查“##778#”模式中，“CDMA Settings”里面是否是MCC:460/MNC:03。</li>
<p>\r\n
<li>如果无法打出电话，来电能振铃但一接就断，可能是A-KEY错误。</li>
<p>\r\n
<li><del datetime="2010-06-06T14:38:21 00:00">疑问：现在本人所用的 U.S. Cellular版本，无论如何设置、修改注册表，界面都仍显示“U.S. Cellular”运营商，不知道和什么有关。而其它用Spint、Verizon版本的好像就没有这个问题。</del></li>
<p>\r\n
<li>“AN/AAA authentication”的值为“2=Failed Authenticat”，这应该是AA/AAA不正确。</li>
<p>\r\n</ul>
]]></content:encoded>
			<wfw:commentRss>http://lsdn.lynnstudio.net/how-to-initialize-touch-pro2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

