找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7787|回复: 59

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

[复制链接]
发表于 2009-5-31 11:23 | 显示全部楼层 |阅读模式
呵呵,大家好,我是PALM新手,但是对于WINDOWS MOBILE系统来讲,不算新手了。最近突然对800W有兴趣,入手一台,感谢斑竹的写号教程,已经可以正常接听 拨打电话以及上网了。# }2 ^4 }# v0 d
这两天浏览了一下坛子里相关的帖子,也对800W的中文短信问题做了初步探索,过程简列如下:
( v+ M: B1 F4 U3 E1 N800w的短信服务程序没有使用默认的WM内置的tmail.exe,而是使用了自己的messagingapp.exe。所以一开始怀疑这个应用将中文短信过滤掉了。所以我从SMS_PROVIDERS这一层,嵌入了调试代码,发现SMS_PROVIDERS接收到的信息,含有中文的都为空。也就是说,RILMESSAGE结构体中的 rbMsg 字段是空的,全是0x0。另外,识别出的编码是 8BITASCII,按理说应该是UCS之类。看来问题不出在这一层。
# ?* w; [' y: f于是,我写了一个RIL钩子程序,监视了一下RIL的MSG_IS637INDELIVERY消息,发现RIL返回系统的消息中。比如接收“你好”两个字,dwCoding 值为0x2,长度为0x2,内容为全0,也就是说 RIL驱动层已经丢失了中文短信。对于800w来讲,系统认为这是一条空短信,只显示一个 please call 138xxxxxxxxx6 m1 `) B  P7 g2 y# P8 G2 H
TREO800W跟700W一样,RIL驱动程序是 TelephonyInterfacelayer.dll,这个DLL是厂商根据基带芯片种类和自身设备特点开发的CE系统跟基带MODEM通讯的桥梁。在不同机型上是不一样的,比如GSM机型多数是rilgsm.dll,HTC的机型有用rilphone.dll的,也有用rilcdma.dll之类。% y, R8 m$ l! r
针对这一点,特此请教K版以及各位,对于700W的WM5中文短信,以及700W 的WM6初步完成版,你们的Telephonyinterfacelayer.dll 驱动是从何得来的,是通过原版本逆向工程修改关键字节还是其他渠道。相同方法是否可以作为800W中文短信的参考。个人感觉,只要从这一层解决了中文短信问题,剩下的都应该不难。以上为个人拙见,有不对的地方,敬请指正。敬请K版以及各位前辈多多指教。% J7 u/ L/ @, p; c% J
% |9 C) t* |: ~/ p3 q4 T1 |; c
[ 本帖最后由 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 | 显示全部楼层
呵呵!!现在就是一直卡在这里。。。。
9 \* e7 ~8 Q3 }1 _* w5 H( U而且。。关键是提取了的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 发表
% v1 B! P$ u& G. ?4 |& x  E/ G楼主的能上网是指WIFI还是1X或DO,能提供方法不

! u* F2 w* A  I2 C; ~  a1 t; f8 [. C$ I2 l
我1X和EVDO都可以上。EVDO我只有每月5小时的尝鲜,所以很少用。方法本版好像有专贴,请搜索一下看。
回复 支持 反对

使用道具 举报

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

回复 地下室5# ooo000 的帖子

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

使用道具 举报

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

回复 9楼 surf98 的帖子

不可以。。。至少目前没发现方法。。。
$ k$ @' O) y; Q4 \8 @1 S# F: T3 |
' R3 i" D' b& i& `$ o所以。。首要的任务是解决补丁做好以后应用到rom中去的问题。。
5 ^2 p% }: p0 n3 Z$ B% P: ], R$ K
8 W; H) O3 x$ j( B另外。。既然会写hook。。那就直接hook那个til吧。。。因为hook反而是目前最有可能的办法。。反汇编的希望不大。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:03 | 显示全部楼层
我有正式版的rom 。。
7 k" `2 x+ K4 i4 b" T3 R" Y: d7 l楼主需要的话。。我可以给你。。
5 x1 p5 W$ y" H( w1.03版本的。。
+ s1 u2 _9 ]+ |8 u1 _% T猴版提取出来的。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-5-31 21:05 | 显示全部楼层
原帖由 ooo000 于 2009-5-31 21:03 发表 , {3 p9 F( ~! ]& y! ]
我有正式版的rom 。。
. R4 |* X% e8 v* E' ~0 w6 }楼主需要的话。。我可以给你。。) T+ e8 Y! M' V0 D  ?# F- h- {' @- Z% |
1.03版本的。。
" z' r& ]/ O) _7 \) u7 v* Y% G猴版提取出来的。。
# m/ b1 W' i9 z1 W

+ p- ], w" f9 m/ c楼主既然提到了pdocwrite。。也一定会用pdocread提出rom的。。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:07 | 显示全部楼层
原帖由 snowmonkey 于 2009-5-31 21:05 发表
% }. j5 p/ x" X9 ]4 [7 m3 ^' h4 l. C' L% d7 \0 s; X

: A; r( V4 `6 X2 @楼主既然提到了pdocwrite。。也一定会用pdocread提出rom的。。。
8 H. W9 s+ y, D8 ?0 _: u. c% U8 E
不知道楼主的机子是什么版本的。。。
' o' R! t; c7 l8 i呵呵。。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2009-6-1 02:16 | 显示全部楼层
该贴技术氛围浓厚啊~~, x. J/ J! ^9 J2 f" P, O9 g

% u% U5 w5 q( n4 C4 u' k+ A( @唉,palm的怎么就这么难搞,看看HTC的,同样是WM系统,ROM是一个接一个,改卡的也已经铺天盖地,而且当初好像也没在中文短信的问题遇到什么难关,好像改改注册表就行了……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-1 10:47 | 显示全部楼层
谢谢猴版以及圈圈兄的回复。5 c2 K; S7 M5 |0 }/ l1 e5 c: h
我现在用的就是SPRINT 1.03版,ROM已经提取出来,模块也都DUMP了。TIL看来是以模块形式,而不是DLL形式加载的,所以出现打不开无线的情况。
4 y( l+ l& b- Q! jHOOK消息的方法恐怕不能解决问题了,因为跳到TIL层,其工作模式已经跟RIL层的消息回调机制不同了。
. f# V; G6 d  f4 l- i1 k# N0 c4 Y我现在正试图HOOK TIL的RIL_IOControl API,这方面没大做过,只能慢慢啃。目前归纳出的是,RIL.DLL通过RIL PROXY界面,向TIL发了一个IOCTL_RIL_READMSG的消息,TIL返回一个RILMESSAGE结构体,我希望能HOOK这个API,然后用自己的返回结果代替原TIL的返回,不知道是否异想天开。2 P% d" s/ Y- h
另,我跟猴版意见一致,反汇编的方式恐怕难以走通。. x7 h; }. _3 u7 L9 C* G. H, I6 W2 M* H! P
欢迎大家继续讨论,提供思路。+ A  W' x) E/ l. ?  |! c9 y
原帖由 snowmonkey 于 2009-5-31 20:41 发表 - `! _0 g, ]  s& b0 |1 u7 |
不可以。。。至少目前没发现方法。。。
% C% ?0 {; D! R
' V: W1 r) Y' j' E所以。。首要的任务是解决补丁做好以后应用到rom中去的问题。。
+ F5 |" Y6 e* O: [9 O/ q+ x2 z! ]' O8 w4 Y% G
另外。。既然会写hook。。那就直接hook那个til吧。。。因为hook反而是目前最有可能的办法。。反汇编的希 ...
回复 支持 反对

使用道具 举报

发表于 2009-6-1 11:30 | 显示全部楼层
不是很懂这些技术, d$ J  V- {5 F$ J) t7 }
但支持你,也感谢你和猴哥的辛苦!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

版主提供一下QCN备份呀

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

使用道具 举报

发表于 2009-6-1 22:09 | 显示全部楼层
原帖由 surf98 于 2009-6-1 10:47 发表
& K5 q& v( V% P0 a4 Q& h谢谢猴版以及圈圈兄的回复。5 N- a1 Y# T- ]/ f7 @9 O! t7 R
我现在用的就是SPRINT 1.03版,ROM已经提取出来,模块也都DUMP了。TIL看来是以模块形式,而不是DLL形式加载的,所以出现打不开无线的情况。
$ T0 Q1 w# n) G0 ?" u: l5 sHOOK消息的方法恐怕不能解决问题了,因为跳 ...
, }" J3 R; u* T! V4 M
7 s: c, V9 d/ l9 }
TIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

发表于 2009-6-2 00:33 | 显示全部楼层
太专业了,不懂,你们继续; O$ C$ e8 A' L
我顶
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-6-2 02:36 | 显示全部楼层
楼上的几位,如果需要机器测试中文短信的的话,我可以免费提供几台机器提供测试,刷坏不需要你们承担责任,我的联系QQ:463166527
$ a0 j, Z' J- m) H+ A& J0 G* y电话15920098495
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-2 22:15 | 显示全部楼层
猴版有没有工程机的ROM DUMP,发一份给我。 surf98@sina.com
5 `% t4 l& I# U8 n8 V, n% A
原帖由 snowmonkey 于 2009-6-1 22:09 发表
% F; |2 n- h$ y# p  f. G! O7 b- H% W8 O  P* j

7 \2 G  J* P2 p) hTIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2009-6-3 21:26 | 显示全部楼层
我用QPST的SERVICE PROGRAMMING功能将原内置的SPRINT PROVISION帐号禁用了,不能上网看是不是没有进行这个操作。* ^8 ^# l5 v" f! N; s4 s, B
0 ?- o# N( c2 Z3 h4 B! }3 A+ R& [! g
原帖由 lfc0859 于 2009-6-1 18:53 发表 " R/ w3 l$ W. I: j6 P& Z! T
照着搜索到的方法,不只我不能上网,还有N多TERO友也上不了网哟
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-3 21:27 | 显示全部楼层
OK,感谢K版。等待中。。。这两天有个比较紧的项目,天天跑项目,所以进展不大。只能周末努力了。
; h+ p+ G8 o7 X% r( ^/ i  |
原帖由 KING 于 2009-6-3 13:43 发表 ) e5 W2 f0 H0 E  {( n4 w9 q
我有的,等有时间我上传一个。
回复 支持 反对

使用道具 举报

发表于 2009-6-3 21:35 | 显示全部楼层
原帖由 surf98 于 2009-6-3 21:27 发表 & P$ Z! Q% i/ G. d3 L4 M* h
OK,感谢K版。等待中。。。这两天有个比较紧的项目,天天跑项目,所以进展不大。只能周末努力了。5 d  m! ^/ r- V
' Z& n2 X0 ^8 N( g. o+ v3 ]
盼星星盼月亮早日破解啊。。
回复 支持 反对

使用道具 举报

发表于 2009-6-3 21:41 | 显示全部楼层
原帖由 surf98 于 2009-6-3 21:26 发表
0 V- C0 S1 `: L我用QPST的SERVICE PROGRAMMING功能将原内置的SPRINT PROVISION帐号禁用了,不能上网看是不是没有进行这个操作。
6 t% h% w# Z- T
0 E/ x  M: S5 M* |4 Q( H
  U) o# a/ A% C0 H

7 p) _# n3 @/ @& r: c+ V5 b7 `; b9 |上图说明一下?
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

My Pictures.rar

34.48 KB, 下载次数: 524

回复 支持 反对

使用道具 举报

发表于 2009-6-4 20:22 | 显示全部楼层
原帖由 surf98 于 2009-6-4 18:41 发表 3 }% _2 Q2 Q$ n
我换了N种格式,都提示无效图片格式,晕。只好压缩。
6 m3 K; _$ W- {" x

1 |% l/ C" J2 {$ M7 U我帮你发一下图。无法发图应该是浏览器设置的问题,你看站务区有个帖子可以参考。
1.gif
2.gif
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2009-6-5 05:38 | 显示全部楼层
刚刚试了一下,从原机DUMP出来的Telephonyinterfacelayer.dll ,经过特权签名后,做成CAB,将CAB也做特权签名,安装覆盖原文件,无线可以启动。功能都正常,只是感觉启动好像慢了点,不知是否心理作用。
) o9 _1 l3 k6 f& j5 p( u8 S9 X
原帖由 snowmonkey 于 2009-6-1 22:09 发表
, v1 _' N  g1 I" `6 X% A, t" m9 e( J" i/ q+ Q% Z

- X4 C9 \" y& |6 P( m; a* KTIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

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

回复 36楼 surf98 的帖子

9 E+ `, u5 @3 t. v* ^7 Z
牛人!
$ B: {2 O- f4 b) q( ~8 Y/ `# u- L等待你们的好结果
回复 支持 反对

使用道具 举报

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

+ B# ]+ O. k& l: l  R6 K. W" `
6 F7 i/ \0 ?; T7 V! }700w的补丁就是这样做的。测试过,在800w工程机上也可以这么做,但正式版不行。你的是什么版本?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 11:36 | 显示全部楼层
SW:TREO800W-1.03-SPNT2 _9 I( q& q" ~& ^6 O: y" l: h
OS: Windows Mobile 6.1 Professional CEOS 5.2.19216+ k: ?" N9 Z  M7 W5 k7 z
Radio:116
5 g7 W0 O& F! o2 dHW: Zeppelin-A
4 W0 q9 f, O2 u6 y7 ?- G1 P应该是正式版吧。2 L$ j: o8 x9 k! J  n! N0 ^' T9 l
我是使用从800w DUMP出的原TIL签名再覆盖进去,正常工作。K版是不是用修改了的TIL覆盖进去,不工作呀。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 11:40 | 显示全部楼层
另外,我FAKE了TIL,将API调用记录入日志。发现一个奇怪的问题,使用原系统的文件,IOCTL_READMSG 和 IOCTL_SENDMSG并不走TIL,难道800W的短信没有经过TIL?
2 U* i. n* \' l, ~7 h我使用了其他机型的messaging.exe替换掉了800W默认的,发现发送短信的时候,IOCTL_SENDMSG经过了TIL,但接收还是不经过。
' b+ }% P7 Q9 Q4 H0 f不知道恢复800W的默认SMS服务程序为tmail.exe,这两个消息是否走TIL。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-24 11:36 , Processed in 0.428457 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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