首页
社区
课程
招聘
[分享]hook框架-xposed安装使用
发表于: 2022-2-2 15:36 14416

[分享]hook框架-xposed安装使用

2022-2-2 15:36
14416

  1.介绍

由于frida和objection每次都需要我们注入到app来对程序进行修改,有了xposed hook框架,我们可以编写xposed模块,实现对app的永久修改。

  1.原理

所有的app都是通过zygote fork出来的,xposed通过替换zygote的进程文件app_process, 就实现了对所有app进程的控制。

  1.安装XposedInstaller_3.1.5.apk

1)打开模拟器,安装XposedInstaller_3.1.5.apk,运行,提示xposed框架未安装。

2)去https://dl-xda.xposed.info/framework/下载SDK,我们看到上一步的图片中API是25,所以这里下载x86版本的sdk25。

3)adb push /sdcard/Android/data/de.robv.android.xposed.installer/cache/downloads/framework,但是后面两个目录默认没有,需要我们手动创建一下。

4)如图所示,重启xposed,然后进行勾选,出现了安装/更新,右键instanll安装,然后会出现读取root权限的提示,这里选择允许,永久记住选择。

5)重启模拟器,显示已激活。

  2.找到需要hook的函数

  3.编写hook模块

  1.安装看雪KCTF-xposed.apk文件,打开,有签名校验。

  2.还是通过Androidkiller反编译,找到函数入口点com.kanxue.xposed.MainActivity,然后找到签名类,找到函数.method public setRealCer(Ljava/lang/String;)V。

  3.先去下载Android studio,之前下载过sdk,这里就不用再下载了,找到bin目录下idea.properties文件,末尾加一句disable.android.first.run=true,表示首次启动不检测sdk,进入软件后,依次指定jdk,sdk安装目录,下载必须的组件后就可以正常使用了。
https://www.androiddevtools.cn/

  4.新建一个空白Android项目(java语言),切换到protect file,然后为模块编写做准备:

1)第一步:修改build.gradle文件添加依赖(打开app/build.gradle文件,找到dependencies在里面添加,添加完后右上边点一下sync now同步一下,会自动下载一些依赖包)

2)第二步:修改app/src/main/andoirmanifest.xml文件 在aplication中添加以下属性

3)第三步:新建hook类

将上面代码中的包名、类名、函数名替换成我们要hook的包名com.kanxue.xposed、类名com.kanxue.xposed.SignCheck、函数名check,默认返回值result是true,可以根据实际情况修改。

4)第四步:修改入口类
在main下新建assets目录,在assetss目录下新建xposed_init文件,添加入口类 com.example.hooksig.MyHook 根据实际情况添加入口类

  5.准备工作完成,就可以点击build,build apk,生成apk文件,报错。

  6.经过查询,依赖的第三方仓库已经改成了这个域名 api.xposed.info,修改全局的settings.gradle文件,然后重新点build apk,生成apk文件。

  7.安装生成的apk模块,提示已安装,未激活,打开xposed框架,左上角点开,点模块,勾选激活,然后重启模拟器。

  8.打开目标apk,发现签名校验已经绕过去了,还有root检测。

  9.使用前面的方法,找到root检测的类和函数,继续修改hook代码:

  10.使用前面的方法,找到flag判断的类和函数,继续修改hook代码:

  1.按照步骤来,生成apk一直报错,刚开始看到文章说要用本地的jar包,可是网上xposed:api:82.jar包都是收费的,最后找了一个54版本的jar,虽然成功编译了,但是达不到hook效果,一直没hook成功。

  2.最后又看到说修改全局build.gradle文件,添加第三方依赖库,还是报错,说是要修改settings.gradle文件,最后终于成功了。

 
 
 
 
 
 
 
mount -o rw,remount /
cd /sdcard/Android/data/de.robv.android.xposed.installer/cache
mkdir downloads
cd downloads
mkdir framework
 
C:\Users\LENOVO\Desktop>adb push xposed-v89-sdk25-x86.zip /sdcard/Android/data/de.robv.android.xposed.installer/cache/downloads/framework
xposed-v89-sdk25-x86.zip: 1 file pushe...d. 27.3 MB/s (5206379 bytes in 0.182s)
mount -o rw,remount /
cd /sdcard/Android/data/de.robv.android.xposed.installer/cache
mkdir downloads
cd downloads
mkdir framework
 
C:\Users\LENOVO\Desktop>adb push xposed-v89-sdk25-x86.zip /sdcard/Android/data/de.robv.android.xposed.installer/cache/downloads/framework
xposed-v89-sdk25-x86.zip: 1 file pushe...d. 27.3 MB/s (5206379 bytes in 0.182s)
 
 
 
 
 
 
 
 
 
 
compileOnly 'de.robv.android.xposed:api:82'
compileOnly 'de.robv.android.xposed:api:82:sources'

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 4
支持
分享
最新回复 (3)
雪    币: 234
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
问一下,看雪KCTF-xposed.apk文件在哪下载?
2022-2-7 16:03
0
雪    币: 1269
活跃值: (3092)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
和风起 问一下,看雪KCTF-xposed.apk文件在哪下载?
https://www.kanxue.com/book-section_list-96.htm 这门课程
2022-2-7 16:37
0
雪    币: 234
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
啊,这,我想找个apk练练,这怎么推上课程了,,,,
2022-2-7 21:46
0
游客
登录 | 注册 方可回帖
返回
//