抱歉,Xposed真的可以为所欲为——5.我自己刷的Xposed凭什么不给我用(上)

简介: 分析定位排查下厨房APP检测手机是否安装了Xposed框架的方法,然后一步步 Hook掉对应代码,以此去掉恶心的重复弹出警告对话框。

引言


因为有带饭的习惯,每周上班前的一天都会想好这周要做的菜式,然后京东 到家采购一波食材。昨天下午当我习惯性地打开下厨房,然后:



每打开一个新的页面就弹一次对话框


于是有了这篇文章~


胡乱分析


先定位一波方法咯,接上手机,打开 monitor ,新版的AS貌似连入口都 隐藏了,你需要到 sdk的tools目录 下找下,windows下的是 monitor.bat

先获取一波下厨房的包名:com.xiachufang



接着找到对应的进程:



第一个就不用说了,接着跟踪一波方法调用,点入下一个页面弹出 Xposed提示对话框,点击确定后为止:



接着搜索:xposed 逐个排除,不难定位到(包名):



这个 XposedDetectionUtil 类十有八九就是判断是否安装了Xposed 的工具类了,接着用Jadx反编译工具,反编译一波apk,接着用AS打开 反编译后的工程! (PS:可能是采用了加固或者什么手段,不是所有代码都能正确反编译 出来的!!!)


反编译后的项目结构如下:



呃...,有点太过于耿直了吧,类名啥的也不混淆一下... 打开XposedDetectionUtil类,代码如下:


z 映入眼帘的入手点:


sXposedInstalledisXposedInstalled()方法,初步猜测前者是一个标记, 默认true,代表手机装了xposed,应该是在进行程序的时候通过一些逻辑判断后 去修改这个标志变量,然后Activity基类进入前先获取这个变量,然后决定是否 弹出Xposed警告对话框。


得出最简单的hook方法就是直接把这个变量的值修改为true。写代码试试~


Hook标志位静态变量


代码非常简单,修改权限,然后设置下标志位为true



模块安装上,重启下,接着打开下厨房,但是程序却意外闪退了,看下Log:



校验错误异常?猜测是在错误的位置修改了本地寄存器的变量, 要另外去折腾smali,脑壳疼(反编译与逆向分析java.lang.VerifyError总结) 放弃改变量这个套路了,得从另一个入手点切入。


相关文章
|
Java API Android开发
你有没有想过自己写一个Xposed模块?教程来了~(一)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
374 0
|
安全 Android开发
[笔记]安卓逆向之动态调试
[笔记]安卓逆向之动态调试
106 0
|
Java Android开发
你有没有想过自己写一个Xposed模块?教程来了~(四)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
118 0
|
Java Android开发
你有没有想过自己写一个Xposed模块?教程来了~(三)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
159 0
|
Java API Android开发
你有没有想过自己写一个Xposed模块?教程来了~(二)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
396 0
|
安全 Android开发 数据安全/隐私保护
手把手教你在夜神、雷电上搭frida+Xposed
手把手教你在夜神、雷电上搭frida+Xposed
手把手教你在夜神、雷电上搭frida+Xposed
|
Java Android开发 Kotlin
抱歉,Xposed真的可以为所欲为——5.我自己刷的Xposed凭什么不给我用(下)
分析定位排查下厨房APP检测手机是否安装了Xposed框架的方法,然后一步步 Hook掉对应代码,以此去掉恶心的重复弹出警告对话框。
239 0
|
数据库 Android开发
|
数据库