安卓的上帝视角,Xposed,简单操作(一)
Xposed
这个词听起来就很叼的样子
读法是
叉破死得
这样读
哈哈
废话不多说
开始正文吧
简单介绍一下Xpsoed
简单的说就是
安卓系统开机必须先执行一个东西
这个详细的介绍可以自己百度查文章
我们只说重点和操作
开机先执行一个东西
那么,你就可以对这个东西进行修改
进而只要后面有应用调用了你修改的这函数
就会受到影响(执行你的逻辑)
再简单介绍一下hook
简单的说
就是开机前执行你的代码
达到修改安卓本身api的目的
xposed不是修改app的代码
是修改系统的代码
你可以在系统的api加上自己的逻辑
然后达到某些目的
就这么简单
xposed是框架,hook是与之对应的技术
市面上
之前那些微信抢红包的歪瓜
修改步数啥的
一般都是基于这个写的
当然还有些重编译啥的
就是直接修改app源码然后重新打包
但说实话
重编译难度大多了
尤其是这些大厂app
都做了很好的防护
加壳混淆啥的
然后写反编译的代码
smail啥的,不会写
比较难办
而xposed毕竟是不动他本身的app
只是改我底层系统的代码
你app要调用我底层系统的代码
那就肯定要执行我修改的逻辑
这样就达到了目的
当然现在很多app对xposed有检测
这个就另说哈
最简单的例子
这是我自己写的一个简单的app
没有多余的功能
(雷电模拟器测试,下期会讲怎么给雷电模拟器装xposed)
安卓代码的话这里是java代码
上上面截图代码的意思就是
对button这个按钮进行监听
如果点击了
那就在桌面显示
我未被劫持
像这样
(这是未hook前的app,名字不同,代码一样)
那如果被hook
结果会是如何
先看看hook代码
也很简单
都有固定的格式
你只需要
找到对应的包名,类名,方法名
以及参数类型
再编写自己想加的逻辑
就可以了
当然这是因为是自己写的就直接截图了
你要搞别人的app的话是需要手段进行获取的
反编译获取他的源码
然后看源码来获取这些字段
应该是这个思路
继续说hook后的结果
写好了打包成app后
安装,重启设备
此时,你再打开刚才那个app点击
结果是这样
这就达到了目的
因为我这里是hook的代码和demo app写到一起的
(整体目录,差一个xml没截到,就是界面的代码)
实际上hook代码是应该分开单独作为一个app写出来的
因为像我这样其实已经是重编译的做法了
整体流程捋一遍
首先的首先
准备一个安卓版本低一点的设备
然后,安装一下xposed installer
网上一搜就有
再然后,设备装上xposed框架(下期会讲雷电模拟器怎么装)
再然后,编写打包hook代码
然后安装hook打包后的app
并勾选激活
最后,重启设备
完成操作。
上面的案例只是很简单的一个例子
实际上你可以写非常复杂的逻辑
例如
抢红包,改步数,去广告,去水印,改这个那个
或者更直接的
假如我监听相机
有应用使用相机
我就放歌
这个操作容易理解吧哈哈
当然前提是你得会一点java
办起事来就更简单了
下期介绍下怎么在雷电模拟器装xposed
今到此
感谢阅读~
-End-
欢迎关注公众号:SKpython