您的位置:首页 > 其它

【原创】360一键root工具的自保护机制和彻底清除方法

2014-06-16 14:43 411 查看
标 题: 【原创】360一键root工具的自保护机制和彻底清除方法

作 者: 火翼[CCG]

时 间: 2014-06-14,09:48:34

链 接: http://bbs.pediy.com/showthread.php?t=189060
360一键root工具的自保护机制和彻底清除方法

最近在一台手机上使用360一键root工具获取root权限后总是觉得360的权限管理和su不放心,想手工换成之前习惯的supersu, 更换中发现手工删除360的su后会被自动恢复,即使用360一键root工具的卸载只会卸载权限管理的app,而不会删除system/bin/su和/system/etc/install-recovery.sh文件,daemon进程也会一直随系统启动自动运行,为了干净的卸载掉360的root工具,就详细分析了一下360的su偷偷多做了些什么事情。

1、360的特有功能

不使用导入函数,直接静态链接了bionic的libc代码


Su程序中需要使用libc中函数的地方,都会静态链接libc的代码,而不是使用符号导入,会给逆向带来一点点障碍。





图1 静态链接的系统函数

修改daemon进程显示的名称为permmgrd

Su程序开始执行后,会对命令行参数进行判断,如果是作为daemon模式运行,就会对进程名进行修改。



图2 修改进程名为permmgrd

修改文件属性为immutable

360会把自身文件设置为immutable属性,必须去掉这个属性才可以进行删除。





图3 设置immutable属性

强制使用daemon模式,注册inotify监控su文件防修改

即使在低于4.3版本的系统上,360的root工具会使用daemon模式运行,这样会保证后台始终有一个su的进程在执行,360在这个daemon进程内不仅包含正常的daemon功能,还包含了对root工具自身的保护。另外,360还起动了一个线程处理local socket传过来的命令控制自保护功能。



图4 启动自保护线程



图5 注册inotify监控/system/bin/su





图 6 检测到修改操作后恢复原始su



图7 控制自保护功能的后门线程

干掉所有其他root工具的su和后门文件

当自保护的su恢复功能被触发后,su程序会尝试清楚所有其他root工具的bin和后门。



图8 其他公司root工具文件列表



图9 删除其他公司root工具相关文件

直接拒绝其他root工具的apk请求root权限

对于其他公司root管理工具的root权限请求,su中会直接拒绝



图10 其他公司root管理工具app名称列表



图11拒绝其他公司root管理工具请求root权限

2、如何彻底清除安装的360root工具

看了上面的分析,可以知道要删除360的su文件,需要停止360的自保护功能,方案有很多,简单说几个

1、 获得root权限后结束360的daemon进程,然后清除文件。(注意杀死进程后就无法再请求root权限了,但杀死前申请的还可以使用)。

2、 使用360的后门指令关闭自保护功能,然后清除文件。

3、 360自监控了/system/bin/su,所以修改/system/etc/install-recovery.sh, 然后重启设备,360的daemon进程就不会自动运行了,但要删除文件还需要有root权限,可以在重启前安装其他产品的su到系统内并设置好属性和daemon启动相关文件(注意不要触发360的恢复功能)。

实际操作时,我使用了方案2进行清除,bat文件使用到了adb,chattr和一个自己编写的利用360su后门停止360su自保护功能的kill360su,



图12 清除用的bat文件内容

360的su

su_360.zip.

卸载工具

kill.zip.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: