找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7747|回复: 59

[写号相关] CDMA TREO 800W 中文短信初步探索以及请求K版支招

[复制链接]
发表于 2009-5-31 11:23 | 显示全部楼层 |阅读模式
呵呵,大家好,我是PALM新手,但是对于WINDOWS MOBILE系统来讲,不算新手了。最近突然对800W有兴趣,入手一台,感谢斑竹的写号教程,已经可以正常接听 拨打电话以及上网了。$ \' j+ Z" R! M/ t3 A' \( a4 i6 j
这两天浏览了一下坛子里相关的帖子,也对800W的中文短信问题做了初步探索,过程简列如下:1 F- O. w. {7 a7 o8 W$ T$ p; P
800w的短信服务程序没有使用默认的WM内置的tmail.exe,而是使用了自己的messagingapp.exe。所以一开始怀疑这个应用将中文短信过滤掉了。所以我从SMS_PROVIDERS这一层,嵌入了调试代码,发现SMS_PROVIDERS接收到的信息,含有中文的都为空。也就是说,RILMESSAGE结构体中的 rbMsg 字段是空的,全是0x0。另外,识别出的编码是 8BITASCII,按理说应该是UCS之类。看来问题不出在这一层。! I: E1 h- B! o0 R) D
于是,我写了一个RIL钩子程序,监视了一下RIL的MSG_IS637INDELIVERY消息,发现RIL返回系统的消息中。比如接收“你好”两个字,dwCoding 值为0x2,长度为0x2,内容为全0,也就是说 RIL驱动层已经丢失了中文短信。对于800w来讲,系统认为这是一条空短信,只显示一个 please call 138xxxxxxxxx
& Y7 C6 ~) E0 }" N7 vTREO800W跟700W一样,RIL驱动程序是 TelephonyInterfacelayer.dll,这个DLL是厂商根据基带芯片种类和自身设备特点开发的CE系统跟基带MODEM通讯的桥梁。在不同机型上是不一样的,比如GSM机型多数是rilgsm.dll,HTC的机型有用rilphone.dll的,也有用rilcdma.dll之类。, B9 \. H/ b) I$ ^4 J
针对这一点,特此请教K版以及各位,对于700W的WM5中文短信,以及700W 的WM6初步完成版,你们的Telephonyinterfacelayer.dll 驱动是从何得来的,是通过原版本逆向工程修改关键字节还是其他渠道。相同方法是否可以作为800W中文短信的参考。个人感觉,只要从这一层解决了中文短信问题,剩下的都应该不难。以上为个人拙见,有不对的地方,敬请指正。敬请K版以及各位前辈多多指教。3 x2 Y0 Z/ k; {$ v
& i8 g. N- r7 j( U3 E
[ 本帖最后由 surf98 于 2009-5-31 11:26 编辑 ]

评分

参与人数 4威望 +50 收起 理由
CyberVsQ + 20 谢谢分享
qwedsa + 5 精品文章,加油!
厚朴 + 5 谢谢!
卒子 + 20 加油!

查看全部评分

回复

使用道具 举报

发表于 2009-5-31 11:40 | 显示全部楼层
支持楼主,你的确不是新手。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 12:02 | 显示全部楼层
  你分析得没错,问题的根源就在这个TelephonyInterfacelayer.dll。你可以看一下700w的WM5、WM6的短信补丁,也正是对这个文件做了修改。但是800w和700w的Radio芯片不同,这个文件的程序结构也有很大不同,所以这个文件不是通用的,而且修改方法也有所不同。另外,最关键的问题是,在800w正式版上,这个补丁方法完全不起作用,要不早就有进展了,所以还在想其他的办法。具体的情况你可以试试看。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 12:03 | 显示全部楼层
如果你熟悉ARM汇编、反汇编知识和ROM基础,应该可以更进一步。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 12:14 | 显示全部楼层
呵呵!!现在就是一直卡在这里。。。。
, y" [" @3 ?% C- \( [4 i而且。。关键是提取了的ROM没用办法刷回去。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 13:16 | 显示全部楼层

楼主的能上网是指WIFI还是1X或DO

楼主的能上网是指WIFI还是1X或DO,能提供方法不
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-31 13:38 | 显示全部楼层
回K版,ARM汇编我只是略懂,谈不上精通。IDA PRO对TELEPHONYINTERFACELAYER.DLL做了反汇编,东西太多了,无从下手。所以再请教一下,700w当时从汇编级解决此问题的思路或方法,可否告知,以做参考。另外,PLATFORM BUILDER里面可以看到RILGSM的全部实现例子,我粗略翻看了一下,已经基本确定了2个函数可能存在问题。但从IDA的反汇编结果来看,TREO800W应该是在MS提供DEMO基础上做了较大改动。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-31 13:42 | 显示全部楼层
原帖由 lfc0859 于 2009-5-31 13:16 发表
, h5 C- S4 v4 q, ]# s7 J楼主的能上网是指WIFI还是1X或DO,能提供方法不
6 o6 u+ g1 |8 L- q7 J" u# V
7 |" }% o! R. j0 \  e3 T
我1X和EVDO都可以上。EVDO我只有每月5小时的尝鲜,所以很少用。方法本版好像有专贴,请搜索一下看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-31 13:43 | 显示全部楼层

回复 地下室5# ooo000 的帖子

如果其他方面处理好了,itsutils的pdocwrite可否凑效?
回复 支持 反对

使用道具 举报

发表于 2009-5-31 20:41 | 显示全部楼层

回复 9楼 surf98 的帖子

不可以。。。至少目前没发现方法。。。5 e4 S6 r+ s$ S4 U7 a
( a: y+ W" x+ l7 W4 y" v
所以。。首要的任务是解决补丁做好以后应用到rom中去的问题。。( V. `  q8 s( m  s5 ?3 Y1 d: D
% N) a8 }# r5 ~. ^! M
另外。。既然会写hook。。那就直接hook那个til吧。。。因为hook反而是目前最有可能的办法。。反汇编的希望不大。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:03 | 显示全部楼层
我有正式版的rom 。。3 y* T* \3 W  Y! R5 J8 z8 P
楼主需要的话。。我可以给你。。
5 M& i4 e1 l8 T3 l. f  K2 B! R& ^1.03版本的。。
; g. e, v/ Z- v- m; Y; }! A猴版提取出来的。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:03 | 显示全部楼层
另外。。楼主似乎对wm的rom也很懂。。那可以研究一下把til复制回ram后开不了电话模块的问题。。若该问题能解决。。则800w的短信问题也就可以解决了。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:05 | 显示全部楼层
原帖由 ooo000 于 2009-5-31 21:03 发表
! |( B( u, h! q! Q我有正式版的rom 。。1 @1 x) s9 y% D  n
楼主需要的话。。我可以给你。。4 x* j7 h1 [0 l/ w# i: E
1.03版本的。。
% _; ~% ^# [! s7 }( C  ]# T猴版提取出来的。。
$ J* t; Q) K3 c
6 o; r( v  }# E4 i' }
楼主既然提到了pdocwrite。。也一定会用pdocread提出rom的。。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:07 | 显示全部楼层
原帖由 snowmonkey 于 2009-5-31 21:05 发表
4 m% o0 |5 S' z; c* K6 M% i
& c$ Y& |% F0 t0 d2 B7 R) p8 Z, Y! g
) D7 }5 q- F" G5 f$ U' K2 q& u楼主既然提到了pdocwrite。。也一定会用pdocread提出rom的。。。

2 T5 K2 c  ?* ]& ^: s/ E" `& V3 x不知道楼主的机子是什么版本的。。。4 o0 e$ I* b$ L8 K
呵呵。。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:12 | 显示全部楼层
技术帖,支持!
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:59 | 显示全部楼层
高手云集哦!支持!!
回复 支持 反对

使用道具 举报

发表于 2009-6-1 02:16 | 显示全部楼层
该贴技术氛围浓厚啊~~
# y3 ~. H4 G4 M0 K5 ?5 i; x5 O1 L! W, N
唉,palm的怎么就这么难搞,看看HTC的,同样是WM系统,ROM是一个接一个,改卡的也已经铺天盖地,而且当初好像也没在中文短信的问题遇到什么难关,好像改改注册表就行了……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-1 10:47 | 显示全部楼层
谢谢猴版以及圈圈兄的回复。
0 G: L. d  ?5 m! |我现在用的就是SPRINT 1.03版,ROM已经提取出来,模块也都DUMP了。TIL看来是以模块形式,而不是DLL形式加载的,所以出现打不开无线的情况。
' @% G9 m9 K8 C' W' ]  MHOOK消息的方法恐怕不能解决问题了,因为跳到TIL层,其工作模式已经跟RIL层的消息回调机制不同了。
, O# p+ _8 }: h7 |, M& f# M我现在正试图HOOK TIL的RIL_IOControl API,这方面没大做过,只能慢慢啃。目前归纳出的是,RIL.DLL通过RIL PROXY界面,向TIL发了一个IOCTL_RIL_READMSG的消息,TIL返回一个RILMESSAGE结构体,我希望能HOOK这个API,然后用自己的返回结果代替原TIL的返回,不知道是否异想天开。% l; y! P- Y) g- }) F  h! {
另,我跟猴版意见一致,反汇编的方式恐怕难以走通。
5 c3 I0 B9 _$ \欢迎大家继续讨论,提供思路。
2 l0 i5 e- q& x/ l4 o
原帖由 snowmonkey 于 2009-5-31 20:41 发表 8 @6 ?& v+ |4 v* j3 m( x( |
不可以。。。至少目前没发现方法。。。+ f# ?3 E, L4 D( r, K

5 {: M: }/ Q& t8 e* x# |7 h所以。。首要的任务是解决补丁做好以后应用到rom中去的问题。。0 p- ^' ~8 U! f& h5 l

! P+ m4 |$ S1 U  h$ s另外。。既然会写hook。。那就直接hook那个til吧。。。因为hook反而是目前最有可能的办法。。反汇编的希 ...
回复 支持 反对

使用道具 举报

发表于 2009-6-1 11:30 | 显示全部楼层
不是很懂这些技术
, h+ b& r: `7 Z, w$ i但支持你,也感谢你和猴哥的辛苦!
回复 支持 反对

使用道具 举报

发表于 2009-6-1 16:35 | 显示全部楼层
楼上的几位都相当专业
回复 支持 反对

使用道具 举报

发表于 2009-6-1 18:53 | 显示全部楼层

版主提供一下QCN备份呀

照着搜索到的方法,不只我不能上网,还有N多TERO友也上不了网哟
回复 支持 反对

使用道具 举报

发表于 2009-6-1 22:09 | 显示全部楼层
原帖由 surf98 于 2009-6-1 10:47 发表
) j& {: w/ Y9 _  A4 D: b( o1 o谢谢猴版以及圈圈兄的回复。
" J$ Z, T" _' \3 F我现在用的就是SPRINT 1.03版,ROM已经提取出来,模块也都DUMP了。TIL看来是以模块形式,而不是DLL形式加载的,所以出现打不开无线的情况。
3 c* F5 a1 ~& Y. o% C! V* HHOOK消息的方法恐怕不能解决问题了,因为跳 ...

, G9 x, y* ]) S  n' o8 w8 ^( n0 L: X' t$ {+ l5 \
TIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

发表于 2009-6-2 00:33 | 显示全部楼层
太专业了,不懂,你们继续
& U) r- p' s- Z* s我顶
回复 支持 反对

使用道具 举报

发表于 2009-6-2 02:06 | 显示全部楼层
半夜起来顶一下
回复 支持 反对

使用道具 举报

发表于 2009-6-2 02:36 | 显示全部楼层
楼上的几位,如果需要机器测试中文短信的的话,我可以免费提供几台机器提供测试,刷坏不需要你们承担责任,我的联系QQ:4631665278 M2 h* ]7 ~  r! [
电话15920098495
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-2 22:15 | 显示全部楼层
猴版有没有工程机的ROM DUMP,发一份给我。 surf98@sina.com8 e) x* N6 [. `  ^* @- H8 n# u1 R
原帖由 snowmonkey 于 2009-6-1 22:09 发表 . d, p( Y: M  `, D( P# m* \

$ {0 K4 `0 }5 {7 i! i, x
) |) J4 h/ {* @( GTIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

发表于 2009-6-3 13:43 | 显示全部楼层
我有的,等有时间我上传一个。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-3 21:26 | 显示全部楼层
我用QPST的SERVICE PROGRAMMING功能将原内置的SPRINT PROVISION帐号禁用了,不能上网看是不是没有进行这个操作。2 n/ m. O0 ?! ^

% U) y6 I) J  C9 o5 e2 Q6 v2 x
原帖由 lfc0859 于 2009-6-1 18:53 发表
6 _6 m, s! Q" F- x照着搜索到的方法,不只我不能上网,还有N多TERO友也上不了网哟
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-3 21:27 | 显示全部楼层
OK,感谢K版。等待中。。。这两天有个比较紧的项目,天天跑项目,所以进展不大。只能周末努力了。9 d7 C9 A" D9 @/ x) }0 |( V
原帖由 KING 于 2009-6-3 13:43 发表
2 O5 Q! ?3 h( C, @我有的,等有时间我上传一个。
回复 支持 反对

使用道具 举报

发表于 2009-6-3 21:35 | 显示全部楼层
原帖由 surf98 于 2009-6-3 21:27 发表
, j% B3 \0 t7 q2 OOK,感谢K版。等待中。。。这两天有个比较紧的项目,天天跑项目,所以进展不大。只能周末努力了。
: O! @$ a. W$ P" }- C
% {) t/ w6 B: D" V$ g, `/ y- C
盼星星盼月亮早日破解啊。。
回复 支持 反对

使用道具 举报

发表于 2009-6-3 21:41 | 显示全部楼层
原帖由 surf98 于 2009-6-3 21:26 发表 ) f, Q2 k+ i6 o& X! r$ _
我用QPST的SERVICE PROGRAMMING功能将原内置的SPRINT PROVISION帐号禁用了,不能上网看是不是没有进行这个操作。
1 d7 k$ R3 z2 j. L. S8 q6 ]/ P2 f* r' q* N' T
( K4 S6 x/ l2 R
6 Y/ x3 c' H; Z8 s) ~
上图说明一下?
回复 支持 反对

使用道具 举报

发表于 2009-6-4 10:19 | 显示全部楼层
LZ你的手机能不能用GPS啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-4 18:41 | 显示全部楼层
我换了N种格式,都提示无效图片格式,晕。只好压缩。

My Pictures.rar

34.48 KB, 下载次数: 506

回复 支持 反对

使用道具 举报

发表于 2009-6-4 20:22 | 显示全部楼层
原帖由 surf98 于 2009-6-4 18:41 发表 & s) E, C1 _" J) T
我换了N种格式,都提示无效图片格式,晕。只好压缩。
2 r  ?* T* |; c: a% X

! x. z' {# P, r% s8 B; ]: N4 h' C* s0 O我帮你发一下图。无法发图应该是浏览器设置的问题,你看站务区有个帖子可以参考。
1.gif
2.gif
回复 支持 反对

使用道具 举报

发表于 2009-6-4 23:30 | 显示全部楼层
高手云集啊,中文短信要是能解决,我就下手了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 05:38 | 显示全部楼层
刚刚试了一下,从原机DUMP出来的Telephonyinterfacelayer.dll ,经过特权签名后,做成CAB,将CAB也做特权签名,安装覆盖原文件,无线可以启动。功能都正常,只是感觉启动好像慢了点,不知是否心理作用。: ?; ?% r+ E; G6 k
原帖由 snowmonkey 于 2009-6-1 22:09 发表
& A0 c1 H2 `2 n5 B6 D+ E) a# {) e- B) |: S- P

$ [+ n/ V! t; o5 LTIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

发表于 2009-6-5 08:41 | 显示全部楼层

回复 36楼 surf98 的帖子

) E; Y& K- T; _7 x% w8 @
牛人!
+ ~3 I0 U0 T9 Z2 _8 r) n等待你们的好结果
回复 支持 反对

使用道具 举报

发表于 2009-6-5 10:21 | 显示全部楼层
原帖由 surf98 于 2009-6-5 05:38 发表
. ^( p* ]. |- C8 K. v& X* y4 A# G刚刚试了一下,从原机DUMP出来的Telephonyinterfacelayer.dll ,经过特权签名后,做成CAB,将CAB也做特权签名,安装覆盖原文件,无线可以启动。功能都正常,只是感觉启动好像慢了点,不知是否心理作用。2 h& I% c, q' B  K* J

1 a7 J& z" L' W. t7 [& J6 T6 g8 h
700w的补丁就是这样做的。测试过,在800w工程机上也可以这么做,但正式版不行。你的是什么版本?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 11:36 | 显示全部楼层
SW:TREO800W-1.03-SPNT
3 a! l5 X; d) B2 A0 E) [; n6 JOS: Windows Mobile 6.1 Professional CEOS 5.2.19216  d$ n! k7 Z% Q- e% `/ d
Radio:116
3 d8 P, V; |6 }, Y% O; b' E/ NHW: Zeppelin-A
  _! Q& ]' W' g: I, E6 w% X应该是正式版吧。
. X- P( A! |1 B) A$ s4 p我是使用从800w DUMP出的原TIL签名再覆盖进去,正常工作。K版是不是用修改了的TIL覆盖进去,不工作呀。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 11:40 | 显示全部楼层
另外,我FAKE了TIL,将API调用记录入日志。发现一个奇怪的问题,使用原系统的文件,IOCTL_READMSG 和 IOCTL_SENDMSG并不走TIL,难道800W的短信没有经过TIL?
; t  K. D2 K' o2 h1 A我使用了其他机型的messaging.exe替换掉了800W默认的,发现发送短信的时候,IOCTL_SENDMSG经过了TIL,但接收还是不经过。
* i- b% e& k) [, y7 A不知道恢复800W的默认SMS服务程序为tmail.exe,这两个消息是否走TIL。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2024-11-5 14:51 , Processed in 0.441463 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表