首页
社区
课程
招聘
[讨论]关于android中APN设置的拦截方式
发表于: 2013-12-11 11:31 4618

[讨论]关于android中APN设置的拦截方式

2013-12-11 11:31
4618
实现了这样一个功能:不允许修改APN设置,APN设置只能使用我设置的

思路如下:

1. 本地层注入。
2. java注入。
3. 找到activityThread对象。
4. 找到activityThread的app对象(应用程序对象,名字可能不准确。
5. loadclass("PhoneApp")
6. 找到PhoneApp->phone对象,该对象时PhoneProxy类。
7. loadclass("PhoneProxy");
8. 找到PhoneProxy->activityPhone,该对象是PhoneBase类(实际上是GSMPhone或者CDMAPhone等)。
9. loadclass("DataConnectionTracker");
10 找到PhoneBase->dataconnectionTracker(实际上该对象时GSMDataConnectionTacker等)。
11. 修改DataConnectionTracker->mAllApns和mPerr...Apn(名字忘记了)。
至此,apn配置修改完毕。

binder rpc拦截,拦截ContentObserver的TRANS_onChange远程调用(该调用在Apn Setting数据库发生改变时被调用)。

简而言之,就是自己吧APN设置修改掉,并且不让Phone进程知道apn发生改变。

抛砖引玉,希望各位大神“抛玉”。

[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//