AIDE开发Xp模块hook输入
前言
注意,这里不会讲解最起码的Java基础
可能有问有什么用,我写这篇文章是为了以后发破解一些工具之类的教程让你们知道xposed模块基本写法
正文
这篇文章我没有用别的应用来做实验,那样太麻烦,还是自己写了一个简单的东西来演示,具体代码如下(这里if判断写反了)
我们要hook的就是 isCorrectInfo
这个方法
首先新建一个项目,随便啥都行,瞎瘠薄弄,弄好了之后在这里下载xposed的jar包(密码:ckun)
或者去项目地址下载Xposed
下载好了之后在你项目根目录处新建一个libs文件夹
,然后把jar包
放进去,长按该jar包导包。
然后开始第一步,打开 androidmanifest.xml
文件,添加如下内容。
然后新建一个类,让该类实现 IXposedHookLoadPackage
接口,然后在 handleLoadPackage
回调方法中进行拦截操作即可,看截图吧,很详细。
afterHookedMethod()
这个回调方法写不写看个人需
之后很重要的一步,运行之后别安装,退出aide
用mt管理器打开你刚刚的项目,进入 build/bin/
这个目录,打开刚刚生成的apk文件,修改dex,删掉 android
和 de.robv.android.xposed
这两个package
编译保存签名再安装
在xposed installer
中把刚刚我们写的模块打勾,重启
运行例子,看日志,没问题
这里说下为什么要删了那两个东西,因为xposed已经自带了这个jar包,aide不支持直接导入jar包,它会在生成apk的时候把jar包也编译进去,这样就导致两个包起冲突
但是安装运行没什么问题,xposed的日志里会出现错误,提示起冲突了,感兴趣的可以试试
在这里说明一点:
如果你想Hook一个类的具体方法,那么就必须要清楚的了解到这个方法的详细信息,比如
参数类型
和个数
,返回类型
等。因为在拦截的过程中必须要对这个方法进行分析。
比如得到方法参数
来进行具体参数
修改;返回值信息
来进行返回值修改
。
所以不管是你hook系统的方法,还是日后去hook第三方应用的具体类方法,第一步都得了解到你hook对象的具体信息,关于系统方法咱们可以通过查看源码来得到信息,而对于第三方应用的话那么只能借助反编译技术了,比如修改游戏金币功能,你必须先反编译游戏知道修改金币的类和具体方法才可行。
演示视频 http://pan.baidu.com/s/1gfnfjoB 密码:ckun