日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android权限管理, API劫持, xposed, xprivacy

發布時間:2024/8/1 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android权限管理, API劫持, xposed, xprivacy 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
預備知識參考:認識理解zygote
xposed code: https://github.com/rovo89
http://blog.csdn.net/wxyyxc1992/article/details/17320911

修改版本的app_process main()
與原始版本區別如下:(原始版本分析參加“認識理解zygote")
main() call xposed::initialize() ? ?//some check, add?/system/framework/XposedBridge.jar to classpath

runtime.start(de.robv.android.xposed.XposedBridge, args) ...... ? //與原始版本相同
startVM() xposed::onVmCreated(env) ? ? ? load libxposed_dalvik.so or libxposed_art.so libxposed_art.onVmCreated(env) call register_natives_XposedBridge() to register native method ......? call?de.robv.android.xposed.XposedBridge.main() XposedBridge_initNative()
initForZygote() findAndHookMethod for some methods... add new XC_MethodHook to callbacks call XposedBridge_hookMethodNative to replace the mothed as native function: hookedMethodCallback
loadModules() load modules and register hook method
com.android.internal.os.ZygoteInit.main()

被hook的方法調用時會調用到 hookedMethodCallback hookedMethodCallback xposedHandleHookedMethod -> XposedBridge::handleHookedMethod iterate all registered methodhook, call it's beforeHookedMethod() call orginal method, iterate all registered methodhook,?call it's afterHookedMethod()

An example module: XPrivacy ?? https://github.com/M66B/XPrivacy
初始化 in XPosed.loadModules() -> loadModule()? XPrivacy.initZygote() hook com.android.server.SystemServer.main to call PrivacyService.register to register PrivacyService to ServiceManager. hookZygote() ? ? //hook all .... for example: hookAll(XTelephonyManager.getInstances(null, false), null, mSecret, false); create method hook objects. call XposedBridge.hookMethod to hook orignal method.
使用: TelephonyManager.getDeviceId() intercepted by XPosed XTelephonyManager.before() ? ? ? ? ?//No Op TelephonyManager.getDeviceId()
XTelephonyManager.after() ? ? ? ? ? //get value from PrivacyManager, set to result param

總結

以上是生活随笔為你收集整理的android权限管理, API劫持, xposed, xprivacy的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。