2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境

前言:最近学习android逆向分析用到了Xposed,这里记录在搭建Xposed的流程以及遇到的一些坑。

准备工具

1.AndroidStudio(版本随意)我这里下载是当前最新的。直接到官网上下。

2.夜神模拟器,模拟器应该都无所谓,逍遥的也行,我的模拟器Adnroid版本是5.1.1

3.Xposed框架(装在模拟器上的)XposedInstaller_3.1.5-release-by-AlphaEva.apk 

这里才是下载地址哦:链接:https://pan.baidu.com/s/1059hbSkwMgJHoKtLK8MO3Q 提取码:49qz 
 

4.Xposed API,我这里下载的是 api-82.jar,里面还有源码,这个jar使用来放到AndroidStudio里写Hook调用的

 

好了,准备工作做好我们开始一步一步搭建环境,想想就有点激动

模拟器安装Xposed框架

1.打开夜神模拟器,将你的 XposedInstaller_3.1.5-release-by-AlphaEva.apk 拖到里面来,自己会安装

装好了就如下图

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第1张图片

2.我们打开 Xposed Installer ,会弹出一个提示框,不用管它,直接勾选下次不再显示。

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第2张图片

3.安装 如下图

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第3张图片

3.等待下载

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第4张图片

等啊等啊等啊等  我的网速慢,一个漫长的等待,大家可以趁这个时间上个厕所什么的。

4.下载好了,然后安装,安装完了会提示你重启,因为我们是模拟器,所以只能软重启,也就是手动找到你模拟器的重启按钮

5.重启之后打开 Xposed Installer 界面如下

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第5张图片

好了到这里 模拟器Xposed 框架就安装完了,接下面配置Android开发环境了有些坑,要特别注意

配置Android开发环境

1.打开Android,新建项目 直接看图

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第6张图片

2.选择 add no activity (因为Xposed模块不需要界面),点击next

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第7张图片

3.填写你的项目名字,随意就好,点击Finish

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第8张图片

4.然后就长这样,给大家放一个大图

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第9张图片

5.然后我们切换视图空间,点击Android,选择Project

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第10张图片

6.完事之后长这样

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第11张图片

7,在app 目录下 创建 lib文件夹,拖进来 之前下载的 api-82.jar 

由于AndroidStudio我连文件夹也不会创建,哈哈哈哈。。我真是菜鸡

然后我就直接Ctrl + C 复制 libs ,然后在 app 上面 Ctrl+V 改名为 lib(完美解决。。)

然后就长这样了

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第12张图片

当然最后重要的是这一步,选择 api-82.jar 右键 add as library,没有这一步,后面你引入的Xposed 的类AndroidStudio不认识

实话说,这里我也卡了很久,没办法我就是这么菜

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第13张图片

打开 AndroidManifest.xml,现在是长这样

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第14张图片

然后我们改成这样,里面的 “E第一个“ 名字随便定义,将来在模拟器中Xposed矿浆里面的模块会显示的

其他内容我也不懂,具体大家百度了解一下



    

        
        
        
    

 

添加 compileOnly files('lib/api-82.jar') 代码到,build.gradle

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第15张图片

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.0"
    defaultConfig {
        applicationId "com.example.xposedhook"
        minSdkVersion 15
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    compileOnly files('lib/api-82.jar')
}

 

创建MyHook类,类名随便取(啊啊啊贴图好难受,不过怕跟我一样的菜鸟找不到)

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第16张图片

package com.example.xposedhook;

import android.util.Log;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;

public class MyHook implements IXposedHookLoadPackage {

    public final static String TAG = "MyXposed";

    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
        
        XposedBridge.log(TAG+"|"+"我抓到你了:"+lpparam.packageName);
    }
}

创建 assets 文件夹,在其下面创建 xposed_init 文件

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第17张图片

文件内容就一句话,这是Xposed 的入口函数 (我前面竟然傻逼的在后面加了个分号,导致后面一直Class not found)

com.example.xposedhook.MyHook

OK,兄弟们AndroidStudio 的开发环境配置大功告成。哦也!!!!!!

我们开始生成APK然后放到模拟器上面去安装咯咯咯咯

build 项目,生成APK

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第18张图片

build 完成找到你的apk 复制到桌面(随便找个地方)

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第19张图片

然后 将 apk 丢到 模拟器中,进行安装

装好了会给你提示,然后我们在模拟器中打开 Xposed Installer

点击下图按钮找到 模块 两字,点击

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第20张图片

然后就会出现我们写的模块了啊,名字就是我们之前在哪个xml里面写的 “E第一个“

接着我们在右边打钩,提示重启生效

然后我们就重启开效果了

终于完了,写完了,不要贴图了,好爽 好爽(。。好像还有图要贴,重启之后看有没有成功)

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第21张图片

重启好了继续打开Xposed Installer

选择 日志 选项

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第22张图片

看到了没有输出的日志,完美出来了

上图看不清,我在给张清楚的

2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境_第23张图片

 

over  大结局 !!!!!!

胜利!!!!!!!!

你可能感兴趣的:(2019年6月18号 AndroidStudio+夜神模拟器 搭建Xposed环境)