|
昨天晚上通过ce-star解决700w后发觉非常不稳定.
( P8 i; ]3 _( v
) {' b; g2 H% Q& q+ B然后和K大聊天后试着分析一下ce-star的工作原理7 p3 k" L1 W2 R( }
ce-star安装包里面的两个重要文件8 |( l2 Z6 E. P6 ?6 n! ~
tilmsghok.dll 和 SMSProvider_CDMA.dll7 ?3 {/ e8 E# m) u
tilmsghok.dll分析后发现应该是用coredll.dll 来钩住 TelephonyInterfaceLayer.dll 的
3 _+ F* |/ o2 v/ s用IDA分析tilmsghok.dll 发现几个地方出现重要函数6 Q, W7 B2 z r0 y( c
DisableThreadLibraryCalls/ s5 _& _3 n. m/ u3 |& x* k
SetKmode和SetProcPermission
* d6 Q! S4 U6 Q: f: |下面文章有说明上面函数的作用
1 d) X: H: y7 D7 z/ W1 E2 C- Z( c( xhttp://www.chinaeda.cn/show.aspx?id=13498&cid=49
8 W8 ^& v9 w, f. GWindows CE跨进程内存注入之实践
6 y3 ^% b: f: {% }2 O5 f, n
( M0 }+ V6 X4 | G7 ?因此猜想工作原来是用dll来钩住TelephonyInterfaceLayer.dll 里的相关程序影响发送和接受sms时的处理
" R! ~% u; @; n5 G0 p" G@2008-6-17 by yourhe 第一次修改9 b# f* r3 n, J3 a1 i! m' Y
) x2 X# C" h' S: P! \
- V$ k: ?& j% A! K3 q9 @
通过ce-star 安装文件cestar.set发现
( F& a0 y& s4 b" i' o- j$ S;[Registry.Common:%WINDIR%\TelephonyInterfaceLayer.dll]# p* u0 a" ^( e' C
;HKEY_LOCAL_MACHINE,Comm\Cellular\SMS\Protocols\Text,"DLL","SmsProvider_CDMA.dll"
3 c9 m/ y; v9 C0 g8 M/ l- q0 @Cellular\SMS 证明应该是发送接受短信是调用SmsProvider_CDMA.dll 改变文本编码 然后通过tilmsghok.dll 改变发送接受结果
0 N' j T! {, v S, n, e@2008-6-17 by yourhe 第二次修正" X6 R- j g, j9 @/ ]/ C6 Z
" Y% F& S% l1 S9 }
目前通过ce-star发送短信非常不稳定,发送的界面内按什么键都tmail.exe报错退出.) b( u& M0 m4 z" p; w' D; B
Cellular\SMS说明了调用了什么与tmail.exe冲突.+ G1 q) M1 U7 V; [
提供一个思路. 能否切换tmail.exe的加载顺序 来改善重启后又不能发短信的问题?
: U3 y: L# k/ j/ @@2008-6-17 by yourhe 第三次修正
' w' M" O$ `. Z. N, N
% p3 ^5 \+ S2 Q1 a5 P( R希望各位有兴趣继续改进700w短信功能的兄弟给点意见或者建议,或许可以通过大家的努力完全实现中文短信
; O# j$ n, Y# W5 M7 \- R1 O5 u3 N! f, b1 F7 {! J% S+ @
[ 本帖最后由 yourhe 于 2008-6-17 22:19 编辑 ] |
评分
-
查看全部评分
|