金山手机毒霸工作原理
作者 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.
WHloud Official Notice(鲸云官方通知)(鲸落 梦之终章)]WHloud RouMu Cloud Hosting若木产品线云主机-香港节点上新预售本次线路均为电信CN2 GIA+移动联通BGP,此机型为正常常规机,建站推荐。本次预售定为国庆后开通,据销售状况决定,照以往经验或有咕咕的可能性,但是大多等待时间不长。均赠送2个快照 2个备份,1个默认ipv4官方网站:https:/...
已经有一段时间没有听到Gigsgigscloud服务商的信息,这不今天看到商家有新增一款国际版线路的美国VPS主机,年付也是比较便宜的只需要26美元。线路上是接入Cogentco、NTT、AN2YIX以及其他亚洲Peering。这款方案的VPS主机默认的配置是1Gbps带宽,比较神奇的需要等待手工人工开通激活,不是立即开通的。我们看看这款服务器在哪里选择看到套餐。内存CPUSSD流量价格购买地址1...
racknerd当前对美国犹他州数据中心的大硬盘服务器(存储服务器)进行低价促销,价格跌破眼镜啊。提供AMD和Intel两个选择,默认32G内存,120G SSD系统盘,12个16T HDD做数据盘,接入1Gbps带宽,每个月默认给100T流量,5个IPv4... 官方网站:https://www.racknerd.com 加密数字货币、信用卡、PayPal、支付宝、银联(卡),可以付款! ...