PC     手机     TV     Android     游戏     Windows     系统

技术研究之《永不言弃3世界》解锁逆向方法

 2021-04-29    技术研究  

 本教程为黑域基地原创,基于上次我们首发永不言弃3:世界内购解锁版 http://www.hybase.com/shouji/androidyx/1526.html 所以出个学习教程,授人以鱼不如授人以渔!多看逆向思路方法是有助于自己在逆向技术上的提升,喜欢逆向反编译的黑域小伙伴可以认真看下!

技术研究之《永不言弃3世界》解锁逆向方法

 开始前:准备工具

1.永不言弃3世界.apk

2.MT管理器

---------开始破解-----------

1.打开我们准备的MT管理器,找到根目录DATA

技术研究之《永不言弃3世界》解锁逆向方法

2.找到APP目录,打开!

技术研究之《永不言弃3世界》解锁逆向方法

3.然后找到永不言弃3世界APP,并打开!

技术研究之《永不言弃3世界》解锁逆向方法

4.点击base.apk 复制到左边

技术研究之《永不言弃3世界》解锁逆向方法

5.然后点击一下再点击查看

技术研究之《永不言弃3世界》解锁逆向方法

6.classes.dex我们点击进入。

技术研究之《永不言弃3世界》解锁逆向方法

7.选择Dex编辑器

技术研究之《永不言弃3世界》解锁逆向方法

8.点击右上角搜索常量

技术研究之《永不言弃3世界》解锁逆向方法

9.输入onpaysuccess

技术研究之《永不言弃3世界》解锁逆向方法

10. 看到有4个方法,我们点击进入 sdk/pay/c 这个包

11.选择反编译,如果没有反编译可跳过

技术研究之《永不言弃3世界》解锁逆向方法

12.分析java源代码

1.根据我们的关键字 onPaySuccess (支付成功)onPayFailed (支付失败) onPayCancel (支付取消)

2.看到如下有if判断

 TextUtils.isEmpty(string) 是判断当前传进来的string是否为空 

 与 !String.equalsIgnoreCase("success")  判断不等于success

 则调用 payCallback.onPayCancel();方法 否则 调用 onPaySuccess();方法

3.根据上面的判断,我们得知,判断跳onPayCancel与onPayFailed的全部删掉。

4.判断数值的 01 00 -1 三个数值,逻辑 1:成功 0:取消 -1:失败 我们只保留 1:成功 其余删掉

5.最后的判断数值 9000是支付宝支付成功的返回值,8000则是失败,我们把8000的跳删掉保留9000支付成功。

技术研究之《永不言弃3世界》解锁逆向方法

13.点击进入方法列表,点进a方法

技术研究之《永不言弃3世界》解锁逆向方法

技术研究之《永不言弃3世界》解锁逆向方法

14.根据标的注释删掉代码行

技术研究之《永不言弃3世界》解锁逆向方法

技术研究之《永不言弃3世界》解锁逆向方法

15.返回保存

技术研究之《永不言弃3世界》解锁逆向方法

16.确定更新

技术研究之《永不言弃3世界》解锁逆向方法

17.点击反编译后的case.apk,选择功能

技术研究之《永不言弃3世界》解锁逆向方法

18.点击APK共存,即可,安装游戏。

技术研究之《永不言弃3世界》解锁逆向方法

19.进入游戏,选择商品,选择微信支付,弹出支付窗口 关掉或者返回即可!

技术研究之《永不言弃3世界》解锁逆向方法