大前提: 手机已经越狱. sdk7.1已经安装. windows phone 7为mango版本.
温馨提示: Hosts这个名词可以百度到.
以下方法仅仅适用于samsung, 由于我手中没有htc的设备, 所以无法给出详细教程, 但是估计方法大同小异, htc的朋友可以自己研究一下.
HTC的设备用htc-provxml-deploy部署应该就可以了,有兴趣的朋友可以自己试试. 把下面提到的xml文件内容复制到custclear.xml中部署即可,直接略过下文中的DiagProvXMLv0.91_IS部分.
hosts文件是啥? 我想不用我说了, 桌面操作系统中大家都很熟悉了.可以说hosts绝对是科学上网的最佳利器,并且好多DNS引起的问题都可以解决. 在Windows ce为内核的操作系统中hosts则是以注册表的形式存在, 恰巧我们的wp7就是以windows ce为内核的. 在Windows Ce和PPC中我们都有直接可视化的工具去修改任意类型值的注册表,在wp7中我们虽然有一些注册表的修改工具但是它们并不能直接修改binary value的值, 所以我们只能使用provxml的方式, provxml中binary类型的值比较特殊, 需要转码写入.
首先我们需要附件中的一些程序和文件, 见附件:
然后大家打开ip2base64.exe---由于水平有限,不会高级语言,所以我就只是用脚本语言简单做了一个,懒得写正则啥的了,就有一些简单的判断,大家见谅请勿喷.
输入你想要添加到hosts的ip地址后点Ok
之后程序会自动计算出2个值, 大家记住第一个base64的值就行了.注意要区分大小写, 符号不要用汉字下的符号.
打开customhosts9.xml,把刚刚的值替换到ipaddr这一行(图中蓝色选中部分).
把你要对应的域名替换到下图蓝色选中部分.
把DiagProvXMLv0.91_IS/wp7roottool/registryeditor都安装到手机上
再次确认DiagProvXMLv0.91_IS是否正确安装了,此软件很重要.
打开WPV XAP Deployer 1.5下面的exe,把DiagProvXMLv0.91_IS添加到窗口中后双击程序, 然后复制Product ID.
手机连接到电脑并确保zune已经连接.
打开Isolated Storage Explorer GUI.exe, 在Product GUID上把刚刚复制的ID粘进去.点一下Get Data确认程序可以正常运行.如果无法正常运行请看看ID前后是否有空格, 实在不行就重启手机后重新部署DiagProvXMLv0.91_IS.xap到手机上, 然后再连接.
确认没有问题后点击upload folder to Isolated Storage, 把指定文件夹的文件传到手机中.
在手机上打开Wp7RootTool,在explorer界面下找到Applications\Data\{566814df-f6b6-4154-8be5-9e65dce907c0}\Data\IsolatedStore, 把里面你刚刚传到手机的XML文件复制到provxml下.
然后在Diagnosis下输入*#9908#, 载入刚刚的XML.
WP7RootTool无法查看binary的注册表值, 所以为了验证更改成功我们这里需要使用RegistryEditor来确认更改的值是否生效. 图中的值是16进制的 - 和字符串写的ip地址中的 . 是一样的, 验证是否正确时把16进制的转化成10进制看看能不能对应上就行了, 例如这里的C0就是传说中的192,A8就是168......
如果需要删除这个key或者Value, 则需要使用Wp7RootTool, 因为RegistryEditor在某些key下是没有权限的.
由于我们刚刚在Diagnosis下修改了gprs的设定, 所以现在我们可能会无法连接到网络. 所以需要重新*#9908#依据你的手机网络载入2G或者3G的选项后, 使用Samsung Tool勾选所有勾重启.
重启完后用你能想到的方法来测试刚刚的hosts是否生效吧~~~~~
另附可以通过hosts访问facebook, youtube等地址列表自动更新程序.
http://hi.baidu.com/soulthorn/bl ... 53c4c7a2cc2bf8.html