吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5038|回复: 7
收起左侧

[其他转载] android下常用静默安装方式

[复制链接]
piracy 发表于 2018-8-1 10:47
本帖最后由 wushaominkk 于 2018-8-1 14:52 编辑

                简单说下已知的有三种。第一种前提是root过的系统。执行shell 命令su 超级用户权限进行 pm install 路径。apk进行静默安装。第二种是集成到rom 的具有system权限的app。通过将清单文件加入 android:sharedUserId="android.uid.system"   这个权限。以及通过预装到该系统源码的签名文件。platform.pk8 以及platform.x509.pem。文件进行签名。签名后该应用就拥有了system权限。在应用设置里面可以看到该应用具有修改系统时间和wifi设置等权限。最后通过aidl 反射IPackageManager  等文件进行实现静默安装。第三种是使用Accessibility(辅助功能/无障碍)模拟用户点击"安装"按钮.其实不算静默还是有界面的。
第一种方法:通过 getPackageManager()拿到系统的packageManager对象。通过packagemanger类去直接反射调用installPackage方法就行。输入相应的参数。Invoke调用方法。就能实现了。具体方法如图。


其实反射调用了packageManager类的


这个方法。这个packageManager是个抽象类。他的实现类其实是ApplicationPackageManager这个类。


实际上是调用这个类的installCommon方法。我们继续追这个方法。找到这个方法了。重点看这句。






这时候大家可能会问mPm是什么。






是一个aidl的接口类。我们接下来接着找到aidl这个文件。IPackageManager.aidl
我们去找下上面的这个方法installPackageAsUser();




一般大多数人会选择直接调用这个aidl文件的这个方法去执行静默安装。追到这大家可能会问哪个类实现的这个方法。我找了好久找到了。





就是这个类。



其实就是这个类的这个方法最终实现了静默安装的功能。最后一个userid是检测是否有uid权限的。一般是root是0权限。System是1000 普通用户是10000以上的权限。权限数越大权限越小。
第二种方法用的是通过反射调PackageManagerService服务的installPackageAsUser()
。其实第一种方法算是包装了一层。利用系统packageManager类去调用。
第二种直接上图。


解析一下此方法直接通过Activitythread类去反射getPackageManager()调用此方法如图。


这个返回来的是一个aidl对象。就是IPackageManager
,通过IPackageManager.getClass()方法获取PackageManagerService这个对象,有了这个对象我们就可以直接调用installPackageAsUser()方法了。
第三种方法:


调用了ServiceManager类的




这个方法,返回的是一个ibinder对象,其实就是IPackageManager的aidl对象,直接拿过来转换一下。mPm=IPackageManager.Stub.asInterface(iBinder)
这样就拿到IPackageManager对象了。直接调用aidl文件里面的这个方法就可以了。




这个是6.0以上才有这个方法。好像6.0以下用installPackage()这个方法。
总结:其实不管怎样什么方法最终调用的还是



Pms这个类的installPackageAsUser()方法。            

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

MrKang 发表于 2018-8-1 15:06
还是去博客看看.这里的图片不知道怎么回事,加载不出来
wdlcshpzjfxx 发表于 2018-8-1 15:48
回忆的泥石流 发表于 2018-11-19 17:15
生影 发表于 2019-2-20 10:32
学习了,谢啦
真善美 发表于 2019-4-27 17:10
写的有点乱,不过还是谢谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 17:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表