《教我兄弟学Android逆向12 编写xpose模块》课后作业完成篇
本帖最后由 924410377 于 2019-1-9 20:00 编辑茶余饭后,登录论坛,9012年《教我兄弟系列》(《教我兄弟学Android逆向12 编写xpose模块》)居然更新了,毕竟我是一个热爱学习的好学生,开始撸作业,下面是撸作业的过程:
首先准备一部手机或者模拟器安装《教我兄弟学Android逆向12 编写xpose模块》的课后作业2(极品美女找茬)
打开游戏,眼睛不由自主的看向了某个地方,我觉得选这个游戏应该有其他的用意吧(暗自高兴)
开始游戏,点击求助找到了关键字:金币余额
然后开搞,搞事情搞事情。
用androidkiller反编译apk并搜索上面找到的关键字
继续搜索cur_money查看哪里有引用
继续搜索这个id,找到了很多处地方,找到了一个很像金币余额的函数getMoney
分析源码并结合游戏的提示,这里应该就是金币余额的函数了
getMoney:金币金额
setMoney:设置金币金额
因为本次练习主要是让大家学会编写xposed插件,所以就不直接修改了,直接编写xposed插件来实现金币修改
用Android Studio创建一个无界面的app
并把xposed所需的jar包弄上
编写过程就不在详细写了,网上有很多教程,《教我兄弟学Android逆向12 编写xpose模块》中也有相关的教程了
直接开始编写核心hook代码(把上面找到的包含函数的类和函数名记住并hook)
第一种hook方法:直接修改金币金额
```java
XposedHelpers.findAndHookMethod("com.jimmy.beauty.pick.Util", lpparam.classLoader,"getMoney",Context.class,XC_MethodReplacement.returnConstant(924410377));
```
第二种hook方法:小坑,因为在函数调用时才会生效,建议使用第一种
```java
XposedHelpers.findAndHookMethod("com.jimmy.beauty.pick.Util", lpparam.classLoader, "setMoney",Context.class,int.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
param.args=924410377;
}
});
```
可以看到已经hook成功并成功改写了金币
这次的作业也圆满完成了!
如果有哪些地方不对,请大家指正。
本人也是个菜鸟,大神看到文章请轻喷。
感谢《教我兄弟学Android逆向系列》的作者,感谢作者的精彩教程!!!
最后附上完整的源码:
如果直接改主程序应该怎么改呢 楼主请问这个方法能修改安卓游戏文件下的so从而达到防检测被封号吗 感谢楼主 666666感谢分享 兄弟 前面几篇的作业呢 兄弟 前面几篇的作业呢
如果直接改主程序应该怎么改呢 感谢分享 谢谢 感谢楼主分享,学习了 兄嘚,把极品美女的app安装包也发一下呗