- 在线时间
- 609 小时
- 最后登录
- 2012-1-18
- 威望
- 76
- 圈币
- 0
- 贡献
- 84
- 注册时间
- 2010-5-12
- 阅读权限
- 30
- 帖子
- 86
- 主题
- 2
- 精华
- 0
- 积分
- 408
- UID
- 114217
 
- 贡献
- 84
- 注册时间
- 2010-5-12
- 精华
- 0
- 帖子
- 86
|
发表于 2010-6-11 15:40:04
|显示全部楼层
本帖最后由 wanglnet 于 2010-6-20 20:48 编辑
首先,我先说明开发者是treewood【51pda.cn】,我是配合他把palm pre 版的ESN modifier(em)移植到droid上来
其次,由于droid版目前在正常模式无法读取ESN,所以程序无法校验要写的ESN是否正确,再加上原作者没有droid,他仅仅是应我的要求,无偿的帮助我把palm 版移植到了droid,因此目前droid版的em是非常不完善的,不能和palm 版比(其实最大的问题还是droid无法读ESN,造成作者没法在droid上进一步开发,目前palm 版已经可以自动寻找地址,无需用户自己再配置ESN地址)还有这个东西我觉得如果是菜鸟,那么请真正理解后再使用。
说了以上那么一大段,主要是要申明此程序仅供试用,如果有什么问题,我和作者不承担任何责任,在此先把丑话说在前头,谢谢各位网友能够理解。
那么,现在回到正题,说了那么多不好听的东西,呵呵,如果你同意我上面的,那么接下来就试用一下这个神奇的东东吧。
我们知道Droid目前只有JS控制下的可改ESN的radio,其它方式都无法修改ESN,即使修改了在开机后又会重置。
这个em的原理说实话也很简单,我们都知道QXDM可以修改内存中的esn,而em就是个运行在droid上QXDM,在手机开机后,运行em,em就会把内存中的ESN替换为你所设置的ESN,这样就可以打电话了,恩很简单吧。而且,这种方法非常通用,只要是能用QXDM写内存,是linux平台的,这个技术都可以使用。
具体的说明可以看原作者的palm 版 http://bbs.51pda.cn/read.php?tid-9689.html,当然只是看下原理,我们的droid版可是个非常简陋的东西,不过我觉得已经够用了,达到最主要的目的就行了,呵呵。
下面说明一下droid版的使用方法
附件里有两个文件em-droid 和esn.cfg
em-droid 是主程序你应该放在/data目录,这里是放用户文件的,其它目录,droid启动后会重新recover
esn.cfg 是配置文件 这个文件只能放在/data目录下,作者写死了
格式如下
[START]
[NewESN]=0x8000001C
[Interval]=600
[Addrs]
0x00325ec4
0x0032c694
0x006AE4F8
0x006BB860
[END]
很简单吧,NewESN就是你要写的新ESN
Addr就是操作的ESN地址,这里的4个地址就是我们droid上的esn地址,你们可以直接用
这个程序是原生的linux c程序,注意要在root下执行,程序有两种启动模式
在shell:(可以在市场下个Android Terminal Emulator这个工具)
/data/em-droid ,这个就启动一次,写完号就退出
/data/em-droid -D & ,这个类似于daemon,每隔一段时间就再写一次,间隔为在esn.cfg 的Interval 参数,palm 版会比较内存中的ESN,如果改变则再次写入(比如在飞行模式),但droid无法读取esn,所以这个方式没有太大意义。
简单的说 把esn.cfg 和 em-droid放入/data 目录后(注意不是TF卡的data目录,TF卡的目录是/sdcard/data)
1. su --进入root
2. chmod 775 /data/em-droid --把程序设为可执行
3. /data/em-droid --执行写号程序 成功后会出现
New ESN = 0xA123445
Addr 00325EC4 written OK!
Addr 0032C694 written OK!
Addr 006AE4F8 written OK!
Addr 006BB860 written OK!
这个就代表写号完成
以后每次启动机器后,只有输入1,3这两个步骤就可以了。
你们也可以从市场下一个小工具GScript,做个快捷键,那么以后就不要打字了。
在试用后,我可以说,这个版本已经达到了目的,打电话,呵呵
目前我试用的经验是
1.用一次执行模式,不要多次执行em-droid(em-droid多次执行时有写死的情况,具体原因不明),执行一次也足够了,除非进入飞行模式,否则ESN是不会改变的
2.再提一次esn.cfg只能放在/data 这个路径注意
3.参考作者在palm 版的注意事项,因为程序的原理是一样的
4.注意此程序原理是开机后修改内存ESN,不是固化ESN,因此每次关机后再开机(或进入飞行模式)都要执行一下
5.注意radio版本,有可能radio的版本不同,ESN地址也会不同
对这程序的改进(我们可以做的)
1.由于要开机后再手动进入shell执行不是太方便,我曾经想在/init.rc 文件中加入启动,不过由于droid每次重启都会重新镜像目录,所以修改没用,除非把其内核镜像文件修改,问题是我用过重做内核文件,但是失败了,重做后的内核文件和原文件大小差异太大,我没敢刷,呵呵,还有一种就是在做rom时就做进去,不过要安装环境,恕我偷懒懒的搭了,因此如果有网友在做rom就把这个em-droid的启动写入/init.rc (不过要确认在radio模块启动后再启动em),那就太感谢了。
2.目前droid只能在开机按T后进入diag模式才能读ESN,希望大家一起找找看,能否发现在正常开机下,有什么系统的接口,或者像palm 上的那个PmModemInfo,可以打开diag,这样作者就可以再进一步开发了。
希望大家集思广益一起完善这东东。
最后再次感谢treewood,谢谢他给予的无偿的帮助,他曾经为了搞这个droid版和我一起弄到3,4点,我真的非常感激。
更新:
有网友问可以1x吗?能打电话当然可以1X喽,一样的
能evdo吗?不是已经有不刷机上evo了吗?evdo只要有 an 和 aaa 就可以了,你不能电话不能1x也能evdo
有网友试用发现执行后报segmentation fault错误,请其他试用的网友回复一下情况怎样
已经发现问题结果:注意ESN写法 0x不要漏了
我的版本是:radio C_01.3E.03P ROM:Snoopy v0.42
目前使用了 radio C_01.43.01P ROM :Snoopy v0.43(android 2.2),没啥问题,呵呵
讨论的人太少了,把标题改一下,有没有网友试用成功的,请回复一下
现在已经有不少朋友已经试用成功了,呵呵,还是要提一下,仔细看帖,尤其是红字,网友的一些疑问都能在帖子中找到 |
-
4
查看全部评分
-
|