找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7756|回复: 59

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

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

1 d* ~7 H2 J8 c% k我1X和EVDO都可以上。EVDO我只有每月5小时的尝鲜,所以很少用。方法本版好像有专贴,请搜索一下看。
回复 支持 反对

使用道具 举报

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

回复 地下室5# ooo000 的帖子

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

使用道具 举报

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

回复 9楼 surf98 的帖子

不可以。。。至少目前没发现方法。。。
- l$ v9 C6 l' O' z
( z3 X: X6 i, P. [9 j+ T所以。。首要的任务是解决补丁做好以后应用到rom中去的问题。。
- C0 ~! j# N1 T( ]3 l+ e% @4 k- X; H5 v" z/ F4 D5 @2 U
另外。。既然会写hook。。那就直接hook那个til吧。。。因为hook反而是目前最有可能的办法。。反汇编的希望不大。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:03 | 显示全部楼层
我有正式版的rom 。。$ x. i: F1 g8 \9 L. ]0 d
楼主需要的话。。我可以给你。。) P- _7 s/ V. U1 U/ {2 T4 l: T
1.03版本的。。8 ^  H/ h5 E' ~# g0 b( k
猴版提取出来的。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-5-31 21:05 | 显示全部楼层
原帖由 ooo000 于 2009-5-31 21:03 发表
+ H  ^( N& o& |2 p8 X我有正式版的rom 。。
; W. z; d& p& t, y* b/ }1 Q楼主需要的话。。我可以给你。。$ `$ M1 z9 d7 V( x
1.03版本的。。3 z! ?" n! C; I
猴版提取出来的。。

; k6 V' N6 V& K
6 \& g  m+ n' N楼主既然提到了pdocwrite。。也一定会用pdocread提出rom的。。。
回复 支持 反对

使用道具 举报

发表于 2009-5-31 21:07 | 显示全部楼层
原帖由 snowmonkey 于 2009-5-31 21:05 发表
) U5 S, D" R6 W6 |1 N0 y) F. Q8 l9 Y7 P, X# w5 q$ M
# F3 Q0 b0 x6 Q, E1 F1 H
楼主既然提到了pdocwrite。。也一定会用pdocread提出rom的。。。
( G: B5 @% ?% e) V, \8 ?
不知道楼主的机子是什么版本的。。。
. p1 F$ m3 l" K7 ]. }7 ^呵呵。。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2009-6-1 02:16 | 显示全部楼层
该贴技术氛围浓厚啊~~
1 A/ {1 c$ l# P
5 g5 n! E9 n* h; w唉,palm的怎么就这么难搞,看看HTC的,同样是WM系统,ROM是一个接一个,改卡的也已经铺天盖地,而且当初好像也没在中文短信的问题遇到什么难关,好像改改注册表就行了……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-1 10:47 | 显示全部楼层
谢谢猴版以及圈圈兄的回复。; b( R" h  q$ ]8 L" v
我现在用的就是SPRINT 1.03版,ROM已经提取出来,模块也都DUMP了。TIL看来是以模块形式,而不是DLL形式加载的,所以出现打不开无线的情况。
9 e; A! p4 i" s- N) |& f0 G& V" x0 CHOOK消息的方法恐怕不能解决问题了,因为跳到TIL层,其工作模式已经跟RIL层的消息回调机制不同了。1 _+ S+ b- T, \
我现在正试图HOOK TIL的RIL_IOControl API,这方面没大做过,只能慢慢啃。目前归纳出的是,RIL.DLL通过RIL PROXY界面,向TIL发了一个IOCTL_RIL_READMSG的消息,TIL返回一个RILMESSAGE结构体,我希望能HOOK这个API,然后用自己的返回结果代替原TIL的返回,不知道是否异想天开。; h( I( w9 ]+ }0 e/ F0 \5 c/ G
另,我跟猴版意见一致,反汇编的方式恐怕难以走通。
' \' `0 q: ~, e0 t  f" D8 i! ^7 L& X欢迎大家继续讨论,提供思路。
$ [9 J% l1 I. @/ J% y# y/ G
原帖由 snowmonkey 于 2009-5-31 20:41 发表
' f) m/ q3 d* A' |, ]4 D( K# a不可以。。。至少目前没发现方法。。。6 C  V% S0 u' j/ r: K

- s; V" N9 U! h+ Y所以。。首要的任务是解决补丁做好以后应用到rom中去的问题。。
* ?5 V% K' M3 V- [( H1 T3 D/ j, L4 [6 O( D0 O/ ^: h. B8 t
另外。。既然会写hook。。那就直接hook那个til吧。。。因为hook反而是目前最有可能的办法。。反汇编的希 ...
回复 支持 反对

使用道具 举报

发表于 2009-6-1 11:30 | 显示全部楼层
不是很懂这些技术/ r; b: }% ]' z
但支持你,也感谢你和猴哥的辛苦!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

版主提供一下QCN备份呀

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

使用道具 举报

发表于 2009-6-1 22:09 | 显示全部楼层
原帖由 surf98 于 2009-6-1 10:47 发表
% [; K  |: ?/ i& D, l5 }谢谢猴版以及圈圈兄的回复。
" a" C- I' A1 ~6 Y; G( P+ L我现在用的就是SPRINT 1.03版,ROM已经提取出来,模块也都DUMP了。TIL看来是以模块形式,而不是DLL形式加载的,所以出现打不开无线的情况。7 |0 j" Q  `# K- @6 `* I( ~
HOOK消息的方法恐怕不能解决问题了,因为跳 ...
: l) O+ Y$ K) R+ Z# H0 K
2 u7 Y5 R' T) _  H8 A! Y
TIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

发表于 2009-6-2 00:33 | 显示全部楼层
太专业了,不懂,你们继续$ ?- R4 m/ x+ [) R+ d; B2 T
我顶
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-6-2 02:36 | 显示全部楼层
楼上的几位,如果需要机器测试中文短信的的话,我可以免费提供几台机器提供测试,刷坏不需要你们承担责任,我的联系QQ:463166527
% I: {7 v! q2 P) y5 t# j电话15920098495
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-2 22:15 | 显示全部楼层
猴版有没有工程机的ROM DUMP,发一份给我。 surf98@sina.com* ?. R, X5 U% H9 [
原帖由 snowmonkey 于 2009-6-1 22:09 发表
2 E( {8 ~' x8 Y
' k2 t: I/ N3 X! H( N$ O
$ w4 _0 g% O3 g6 q" k0 jTIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2009-6-3 21:26 | 显示全部楼层
我用QPST的SERVICE PROGRAMMING功能将原内置的SPRINT PROVISION帐号禁用了,不能上网看是不是没有进行这个操作。
7 a9 D# W4 T: x; M& U0 B- i. |. }1 u. s5 U$ _( U
原帖由 lfc0859 于 2009-6-1 18:53 发表
. Y% l, Q# k% V4 z$ q0 X; }照着搜索到的方法,不只我不能上网,还有N多TERO友也上不了网哟
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-3 21:27 | 显示全部楼层
OK,感谢K版。等待中。。。这两天有个比较紧的项目,天天跑项目,所以进展不大。只能周末努力了。. W) i, ?' }8 J! W2 Z
原帖由 KING 于 2009-6-3 13:43 发表
; w, i' j* G( t" S我有的,等有时间我上传一个。
回复 支持 反对

使用道具 举报

发表于 2009-6-3 21:35 | 显示全部楼层
原帖由 surf98 于 2009-6-3 21:27 发表
3 G- X- V5 t8 B# dOK,感谢K版。等待中。。。这两天有个比较紧的项目,天天跑项目,所以进展不大。只能周末努力了。
4 r* O0 O- h0 D7 ]4 ]
% p2 m7 }% Q5 {* G; t* X6 ~3 v
盼星星盼月亮早日破解啊。。
回复 支持 反对

使用道具 举报

发表于 2009-6-3 21:41 | 显示全部楼层
原帖由 surf98 于 2009-6-3 21:26 发表 : d; G* F3 z! O" N" C2 W
我用QPST的SERVICE PROGRAMMING功能将原内置的SPRINT PROVISION帐号禁用了,不能上网看是不是没有进行这个操作。2 X* S  y( }+ g1 J- W
) {2 H' O3 j0 g3 g
. E1 B+ F! _6 \0 R5 o" ~$ }& Y# s7 w
) P9 b1 a5 Q8 r" E- N
上图说明一下?
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

My Pictures.rar

34.48 KB, 下载次数: 508

回复 支持 反对

使用道具 举报

发表于 2009-6-4 20:22 | 显示全部楼层
原帖由 surf98 于 2009-6-4 18:41 发表 : o4 X$ H2 b' |* c# N% b
我换了N种格式,都提示无效图片格式,晕。只好压缩。

' _4 y% G8 L* K0 G* v  [/ b$ n- D8 {  ~1 m7 d
我帮你发一下图。无法发图应该是浏览器设置的问题,你看站务区有个帖子可以参考。
1.gif
2.gif
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2009-6-5 05:38 | 显示全部楼层
刚刚试了一下,从原机DUMP出来的Telephonyinterfacelayer.dll ,经过特权签名后,做成CAB,将CAB也做特权签名,安装覆盖原文件,无线可以启动。功能都正常,只是感觉启动好像慢了点,不知是否心理作用。: E$ B* u! H  E
原帖由 snowmonkey 于 2009-6-1 22:09 发表
4 l- s+ i* [) I
# }- s- @7 k, u# Y$ ]
# E) i0 Z3 E4 t  OTIL是模块形式。。或许是打不开无线的情况。。。不过有个情况楼主可以分析一下。。在工程版的rom上。。TIL拷回去是可以用的。。。这个TIL也是模块形式。。
回复 支持 反对

使用道具 举报

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

回复 36楼 surf98 的帖子


/ `. P8 {9 a. D; }牛人!
+ g  T' @* T' O- e# [$ B等待你们的好结果
回复 支持 反对

使用道具 举报

发表于 2009-6-5 10:21 | 显示全部楼层
原帖由 surf98 于 2009-6-5 05:38 发表 ( @, L0 C- W# W  Q* T
刚刚试了一下,从原机DUMP出来的Telephonyinterfacelayer.dll ,经过特权签名后,做成CAB,将CAB也做特权签名,安装覆盖原文件,无线可以启动。功能都正常,只是感觉启动好像慢了点,不知是否心理作用。
- m- d- `! j# \! X5 s5 Y

$ V2 q2 ]0 \2 x0 `+ u
  h2 i0 ^/ S0 ~4 L) }700w的补丁就是这样做的。测试过,在800w工程机上也可以这么做,但正式版不行。你的是什么版本?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 11:36 | 显示全部楼层
SW:TREO800W-1.03-SPNT
5 L# Q# e, E3 e4 n: pOS: Windows Mobile 6.1 Professional CEOS 5.2.19216
: C- M! R* P, h" {, Q4 `% J; [6 r8 ?Radio:116
; b# S. B/ }9 rHW: Zeppelin-A
6 g* X2 f. y6 s& m8 M应该是正式版吧。' f, g5 c! c( |" n# |0 L; t
我是使用从800w DUMP出的原TIL签名再覆盖进去,正常工作。K版是不是用修改了的TIL覆盖进去,不工作呀。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 02:21 , Processed in 0.423634 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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