【转】[Andriod]Xposed和VirtualXposed

Xposed框架以在不修改APK文件的情况下修改程序的运行。

这套框架需要设备解锁了Bootloader方可安装使用[1]root为解锁Bootloader的充分不必要条件,而xposed安装仅需通过TWRP等第三方Recovery卡刷安装包而不需要设备拥有完整的root权限)。

(1) xposed 是啥?
xposed是一个框架,上面有很多模块,这些模块都依赖于xposed这个框架,之所以称xposed是第一神器,就是因为这些模块可以完成许多匪夷所思的功能,例如:修改微信的界面,自动抢红包模块,自定义程序的文本,防止微信消息撤回,防止BAT三大流氓的全家桶相互唤醒、连锁启动,锁屏后自动干掉APP防止后台运行耗电,还有很多修改App或手机数据的装B模块等等。

(2) xposed 的原理
xposed 原理就是修改系统的关键文件,然后当APP调用系统API时,首先经过xposed,而这些基于xposed的模块就可以选择性的在App调用这些api的时候干一些”坏坏”的事情,或者修改返回的结果,这样app在运行的时候效果就会改变,但app本身并没有被破坏,只是调用系统api的时候,Android系统的表现发生了变化,这就是钩子,专业术语hook。所以,说白了,xposed就是个强大的钩子框架

来一段专业的原理解释吧:

作者通过替换 /system/bin/app_precesss 程序控制zygote进程,使得它在系统启动的过程中会加载Xposed framework的一个jar文件即XposedBridge.jar,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持,并且能够允许开发者独立的替代任何class,例如framework本身,系统UI又或者随意的一个app。

除此之外使用这种方法的好处是ROM,APP都没有产生任何变化,因此理论上就不会造成设备变砖,同时撤掉修改也非常容易,仅需要停用 Xposed framework 即可完全恢复原样。

摘自https://blog.csdn.net/fuchaosz/article/details/53143216

 

VirtualXposed 是什么原理?

它就是先在你手机上建立一个「虚拟空间」,你需要在这个“虚拟环境”里面安装 APP ,并且安装其对应的 Xposed 框架模块,这样就能让这个模块对该 APP 起到作用了。

安装到VirtualXposed中的应用,运行起来跟普通应用无任何差别,可以正常收发消息,接收推送,读取本机文件等。

 

 

 

 

 

posted @ 2019-12-22 15:08  blfsdwx  阅读(1621)  评论(0编辑  收藏  举报