金山手机毒霸工作原理
作者 Jack_Jia
一、序言
金山手机毒霸m.duba.com/是金山网络推出的首款Android APP行为管理软件是首家拦截软件恶意广告、智能防御病毒行为、查杀最新病毒和自主管理高危隐私权限的安卓手机安全管理软件。
它具有如下特色功能
1 、有效清除软件内置广告拦截软件恶意广告。
2、依托于首创的Java虚拟机拦截技术更精准更深入的拦截APP的高危行为。
本文将对金山手机毒霸的进行简单的逆向分析 以达到了解其工作原理的目的。金山手机毒霸的最新版本为V2.0但为了使我们的分析过程简单高效我们特意选择金山手机毒霸V1 .0Beta版本作为分析样本。博友可以通过如下链接下载bbs.xda.cn/thread-1 1 186508-1-1 .html 。
二、基本信息
1 、安装包关键路径文件信息l ib\srmeabi\
re s\ra w
其中ksremote.mp3、 l ibksrootcl ient.mp3、 rootkeeper.mp3通过后缀名伪装成mp3文件其实这三个文件为jar包。
And roidMainfest.xml
[html]view plaincopy
2、手机毒霸运行时涉及进程及进程组件分布
通过对手机毒霸代码逆向分析及运行时进程状态变化金山手机毒霸代码共在四类进程中被加载运行。
1 com. ijinshan.duba进程
广告扫描引擎、病毒扫描引擎、金山版本控制等逻辑都在该进程中运行
另外手机毒霸还在15997端口建立监听PC端可以通过该TC P连接发送命令手机端毒霸扫描。
2 com. iji nshan.d uba:DefendService进程
广告规则和扫描病毒信息由该进程通过P ro vi d e r提供。
2 com. iji nshan.duba.rootkeeper进程
该进程以ROOT身份运行该进程提供了手机毒霸其它进程运行需要root身份才能执行的命令的Binder接口第三方程序进程的代码注入由该进程完成。
4第三方injected process被注入程序进程
通过ptrace()注入到第三方程序的代码 ksre mo te.ja r和l ibksrootcl ient.so完成java虚拟机hook和底层Socket hook。
三、 JAVA虚拟机hook实现原理
目前And roid进程代码的注入都是靠ptrace函数来完成。 ptrace进程后完成底层函数的重定向。金山毒霸代码注入包括两部分
1 、底层C函数HOOK
2、 JAVA虚拟机H O OK
代码注入基本流程如下
1 、 com. iji nshan.d uba.rootkeeper进程ptrace第三方进程并注入l ibksrootcl ient.so文件
2、 l ibksrootcl ient.so代码完成底层C函数hook并调用ksremote.jar代码 ksremote.jar完成java虚拟机hook
1 C代码如何完成对java代码的调用呢
基本代码实现如下
[cpp]view plaincopy
1.
近期RAKsmart上线云服务器Cloud Server产品,KVM架构1核1G内存40G硬盘1M带宽基础配置7.59美元/月!RAKsmart云服务器Cloud Server位于美国硅谷机房,下单可选DIY各项配置,VPC网络/经典网络,大陆优化/精品网线路,1-1000Mbps带宽,支持Linux或者Windows操作系统,提供Snap和Backup。RAKsmart机房是一家成立于2012年...
RepriseHosting是成立于2012年的国外主机商,提供独立服务器租用和VPS主机等产品,数据中心在美国西雅图和拉斯维加斯机房。商家提供的独立服务器以较低的价格为主,目前针对西雅图机房部分独立服务器提供的优惠仍然有效,除了价格折扣外,还免费升级内存和带宽,商家支持使用支付宝或者PayPal、信用卡等付款方式。配置一 $27.97/月CPU:Intel Xeon L5640内存:16GB(原...
继阿里云服务商推出轻量服务器后,腾讯云这两年对于轻量服务器的推广力度还是比较大的。实际上对于我们大部分网友用户来说,轻量服务器对于我们网站和一般的业务来说是绝对够用的。反而有些时候轻量服务器的带宽比CVM云服务器够大,配置也够好,更有是价格也便宜,所以对于初期的网站业务来说轻量服务器是够用的。这几天UCLOUD优刻得香港服务器稳定性不佳,于是有网友也在考虑搬迁到腾讯云服务器商家,对于轻量服务器官方...