免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > 击溃360手机卫士的三大防护Android版

击溃360手机卫士的三大防护Android版

时间:2012-04-19 19:38来源:未知 整理:寂涯网络 点击:

360 作为国内专业的安全公司,在安全界的水平是有目共睹的,我们抛开它在经营与病
毒防治上的一些极端措施,就其产品技术性而言,是广大安全爱好者应该学习的。今天我与
大家探讨下在 Android 平台上 360 手机卫士这款产品其本身的安全性,并将自己研究时的一 点小成果拿出来与大家分享。Android 手持设备的私密性注定了这是一个敏感话题,在开始本文前,我郑重声明:本文的宗旨是让大家看到 Android 平台的可能的攻击方式,仅供技术学习交流,任何个人与组织不得用文中提到的技术手段对其它人或组织进行非法攻击,由此带来的一切法律责任本人概不负责。
测试环境
360 手机卫士不支持在模拟器上使用,我使用 ROOT 过的(本文所有研究测试条件建立 在手机已获得 ROOT 权限的情况下)国行 MOTO XT615 进行安装测试,而 360 的版本选择了最 新的“360 手机卫士贺岁版 2.5.1”,APK 的反编译工具由于方便而选择了 ApkTool_GUI,Smali 代码的查看与分析选择了 Editplus(IDA PRO6.1 也可以,只是对包名的显示不太友好,自 己写插件的话也行,不过不在讨论范围),另外 ApkTool_GUI 有个 dex2jar 功能,也可以做 辅助分析(只是生成的代码不是很准确,对于 synthetic 类型的方法不生成代码)。编写与 调试代码用到了 Eclipse,调试信息的查看与 XML 文件的导出用到了 DDMS。准备好调试环境 后,正确安装 360 手机卫士,开始 360 保护功能的艰苦分析之旅吧!
短信拦截
360 手机卫士第一个强大的功能就是垃圾短信与电话的拦截,它的实现方式主要通过创 建广播对信息与电话进行拦截,然后将其阻断。
打 开 “ AndroidManifest.xml ” 文 件 , 会 发 现 里 面 有 一 个 名 为 “com.qihoo360.mobilesafeguard”的 provider,然后是 N 多的 service 与 receiver,短 信的拦截就用到了下面这个 receiver:
<receiver android:name=".mms.receiver.MmsReceiver">
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
<data android:mimeType="application/vnd.wap.sic" />
</intent-filter>
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
<data android:mimeType="application/vnd.wap.slc" />
</intent-filter>
</receiver>
Android 的广播有无序广播与有序广播两种,静态注册的广播属于有序广播,通过设置 “priority”来设置广播优先级。系统默认设置范围是-1000~1000 之间,但 SDK 中可能没 有明确的数值限定,可以看到 360 将 priority 设置为了 2147483647,也就是 32 位有符号 数的最大值。也就是试图设置最高响应优先级。Android 系统会首先响应优先级高的广播, 然后响应优先级低的,另外动态注册的广播又比静态注册的广播优先级高,如果优先级相同 就响应最早安装的程序,而优先级是“adb install”高于“adb push 后安装”方式。
运行 360 手机卫士, 可以看到它启动了一个进程与五个服务,服务名分别 为
“  NetTraficService ”、 “  safeGuardMmsService ”、 “  PowerCtlService ”、
“SafeManageService”、“SafeGuardCallService”,在“safeGuardMmsService”的 onCreate()
方法中又创建了级别最高的动态广播接收者。具体分析代码我下面会讲到(360 所有服务位
于“ smali\com\qihoo360\mobilesafe\service ”文 件夹 下, 所有 的广播 接收 者位 于
“smali\com\qihoo360\mobilesafe\receiver”文件夹下),手动杀掉 360 进程根本不影响
短信的拦截,下面说下过掉 360 短信拦截的两种思路:
1.360 短信拦截借助了自己优先响应广播的优势获取信息后就中断了广播,我们要做
的是在它之前先响应广播,而且 360 在静态广播中创建了服务,并再次动态创建了同类型的
广播接收者,所以优先级很高,要过掉它我们就必须在它的前面注册广播接收者,或者干掉
它所有的进程与服务不让它运行。显然后者动作太过于明显,不太适合。
2.将 APK 编译成系统程序,如:加入系统进程、使用 Framework 的签名文件进行签名 等等。这样可能会优先接收到广播。不过由于时间原因,未测试此方法是否可行。

本页地址 http://www.jybase.net/xitonganquan/20120419830.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com