android如何杀掉守护进程——干掉小米手机助手

最近客户有一个项目 要求封闭系统,专机专用,目标机器为红米1S联通版,MSM8225平台。

经过精简之后用户基本无法安装程序了,可惜蛋疼的小米【加删除线是因为保不齐那天成了Xiaomi员工】搞了 “小米手机助手”可以绕过系统的adbd进行连接。

大致相当于小米自己给自己留了个后门,具体实现是通过 sbin里面的一个mdbd的程序实现的(Mi Debug Bridge Daemon?),然后在init.rc里面注册成Servie:

#mdbd
service mdbd /sbin/mdbd
    class core
    socket mdbd stream 660 system system
    disabled
    seclabel u:r:mdbd:s0

于是成了Daemon进程,如果强行Kill掉 由于init里面有一个sigchld_handler(int s)会处理SIGCHLD信号,再把mdbd启动起来,导致门洞大开。


干掉Daemon(需要root权限):

setprety ctl.stop dmdb


其实这个过程还是很美妙的,这周把 android启动过程 property系统 boot.img打包 kernel启动等等又看了一遍,基本弄清了从kernel引导到BOOT_COMPLATE的过程,还看了inti.rc语法和红米的init.d脚本。。。

你可能感兴趣的:(Android点滴)