zoukankan      html  css  js  c++  java
  • 【转】[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中的应用,运行起来跟普通应用无任何差别,可以正常收发消息,接收推送,读取本机文件等。

  • 相关阅读:
    curd_4
    curd_2
    Python Regex库的使用
    Python Assert 确认条件为真的工具
    Python Regex库的使用(2)
    Python lambda的用法
    Python 列表综合
    with ss(date,date2) (select * from sysdummy1) select * from ss
    延迟执行函数
    ObjectiveC 的基本数据类型、数字、字符串和集合等介绍
  • 原文地址:https://www.cnblogs.com/zhucq/p/12079879.html
Copyright © 2011-2022 走看看