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,删掉 androidde.robv.android.xposed 这两个package

编译保存签名再安装

xposed installer中把刚刚我们写的模块打勾,重启

运行例子,看日志,没问题

这里说下为什么要删了那两个东西,因为xposed已经自带了这个jar包,aide不支持直接导入jar包,它会在生成apk的时候把jar包也编译进去,这样就导致两个包起冲突

但是安装运行没什么问题,xposed的日志里会出现错误,提示起冲突了,感兴趣的可以试试

在这里说明一点:

如果你想Hook一个类的具体方法,那么就必须要清楚的了解到这个方法的详细信息,比如参数类型个数返回类型等。因为在拦截的过程中必须要对这个方法进行分析。
比如得到方法参数来进行具体参数修改;返回值信息来进行返回值修改
所以不管是你hook系统的方法,还是日后去hook第三方应用的具体类方法,第一步都得了解到你hook对象的具体信息,关于系统方法咱们可以通过查看源码来得到信息,而对于第三方应用的话那么只能借助反编译技术了,比如修改游戏金币功能,你必须先反编译游戏知道修改金币的类和具体方法才可行。

演示视频 http://pan.baidu.com/s/1gfnfjoB 密码:ckun