Android8.1+AS3.3.2环境下使用xposed进行hook踩得坑

在AS3.3.2及Android8.1环境下下复现丑小鸭大佬的操作

教程地址:https://www.52pojie.cn/thread-850885-1-1.html

基本按照教程走,大佬采用的是AS3.0.1 nexus4 以及xposedbridge54版本
Xposed框架安装不再赘述,本次采用Android8.1下的 90 beta3版本
仅叙述由于环境不同而遇到的一些问题及解决方案

基本不存在编译错误,只是编译后无法实现hook功能。
无法实现hook的可能原因

  1. 导入bridge-api文件后,gradle文件中的dependencies中会自动生成
    implement fileTree(include: ['*.jar'], dir: 'libs')
    删除该行,原因:Xposed里已有该JAR包内容,再次打包进去会冲突,就会导致handleLoadPackage没有回调。
    成功hook的dependencies举例:
dependencies {
     
    //provided 有错就替换为 compileOnly
    compileOnly files('libs/api-82.jar')
    compileOnly files('libs/api-82-sources.jar')
    //如果需要可以引入文档,
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
  1. AS为方便编译默认开启了Instant run功能,使得hook类未打包到apk中。在设置中关闭该功能即可
    Android8.1+AS3.3.2环境下使用xposed进行hook踩得坑_第1张图片
  2. 在AS中直接编译运行,无法hook。原因:应与上一条类似。
    将文件打包成apk后手动安装,即可hook
    Android8.1+AS3.3.2环境下使用xposed进行hook踩得坑_第2张图片

你可能感兴趣的:(Android,系统安全)