|
昨天晚上通过ce-star解决700w后发觉非常不稳定.1 O1 D7 t: p/ ]/ ?) w% j
a# _0 j" ?" Y( S然后和K大聊天后试着分析一下ce-star的工作原理
0 j( c w8 E) m. l9 Xce-star安装包里面的两个重要文件* K, P$ J) [9 e0 B) ?% L2 P
tilmsghok.dll 和 SMSProvider_CDMA.dll; d5 i3 y( H; e
tilmsghok.dll分析后发现应该是用coredll.dll 来钩住 TelephonyInterfaceLayer.dll 的8 Z6 }2 h5 T' A
用IDA分析tilmsghok.dll 发现几个地方出现重要函数6 K+ C# [/ Y" g
DisableThreadLibraryCalls
0 ~0 `7 J* ^, s+ y: PSetKmode和SetProcPermission; L6 W4 N( J/ N8 W8 s4 k
下面文章有说明上面函数的作用3 p9 p# S( ] B) p8 n1 q
http://www.chinaeda.cn/show.aspx?id=13498&cid=494 l5 f" L1 J* i: X! H v
Windows CE跨进程内存注入之实践 S. \" u! H! Y! b7 ]3 R. N
8 N8 n' _* ^) H
因此猜想工作原来是用dll来钩住TelephonyInterfaceLayer.dll 里的相关程序影响发送和接受sms时的处理
; T; J" S/ S0 e@2008-6-17 by yourhe 第一次修改
6 M0 d# d! P& s: v" {1 a1 \1 u I6 Q3 h* a6 k; a/ N+ X5 V
4 O5 c8 M n2 J7 d5 @) i
通过ce-star 安装文件cestar.set发现2 ^. ~# k5 O4 x% w) ?4 ]/ E1 x6 `* {- L
;[Registry.Common:%WINDIR%\TelephonyInterfaceLayer.dll]0 q$ s- e `( h6 P/ B8 z
;HKEY_LOCAL_MACHINE,Comm\Cellular\SMS\Protocols\Text,"DLL","SmsProvider_CDMA.dll"
. l Q% k! c9 p* s) b3 R5 q! RCellular\SMS 证明应该是发送接受短信是调用SmsProvider_CDMA.dll 改变文本编码 然后通过tilmsghok.dll 改变发送接受结果" v9 ?5 e3 h4 D+ c: [
@2008-6-17 by yourhe 第二次修正
' j( F* J- `" D/ S- U
( H0 u% [6 ]- a: m4 u Z/ E$ G; E9 h目前通过ce-star发送短信非常不稳定,发送的界面内按什么键都tmail.exe报错退出.
) j+ D$ f, ^- V4 G! DCellular\SMS说明了调用了什么与tmail.exe冲突.
, G8 o8 k7 A/ L$ h2 U& b e1 \# J提供一个思路. 能否切换tmail.exe的加载顺序 来改善重启后又不能发短信的问题?6 a1 W: t j4 H/ X
@2008-6-17 by yourhe 第三次修正
5 C: z0 @- @4 ]; E' m$ D& Y1 o- n5 Z
希望各位有兴趣继续改进700w短信功能的兄弟给点意见或者建议,或许可以通过大家的努力完全实现中文短信) k, i0 W5 l. h, g) R3 j
/ D7 q9 _3 H( d2 J9 j3 r6 X[ 本帖最后由 yourhe 于 2008-6-17 22:19 编辑 ] |
评分
-
查看全部评分
|