【新手】咪咕游戏破解笔记(一)
本帖最后由 Jasn 于 2018-2-11 18:16 编辑这两天跟着 @会飞的丑小鸭教他兄弟学安卓系列 https://www.52pojie.cn/thread-648530-1-1.html 学习破解方法,学到第三课就感觉自己很牛逼了,哈哈哈,我要破天破地破他大爷的内购
想起之前在论坛了看到过一篇帖子说咪咕游戏的app很好欺负 http://g.10086.cn/android/?spm=www.pdpage..dh.2 于是{:301_997:} 随便下了个《捕鱼达人3》开搞。
搜索购买失败,没有结果;支付失败,没有结果;失败,恩 这回有结果了 然而,额好像 都跟支付没啥关系,尼玛 跟我学的知识不太一样的,不是说好欺负吗?
还好我英语6级,试试英文的,payfailed,成功找到
.method public static payFailed()V
.locals 2
.prologue
.line 107
invoke-static {}, Lorg/cocos2dx/fishingjoy3/DeviceWrapper;->getGLSurfaceView()Lorg/cocos2dx/lib/Cocos2dxGLSurfaceView;
move-result-object v0
new-instance v1, Lorg/cocos2dx/IAP/CUIAPAdapter$2;
invoke-direct {v1}, Lorg/cocos2dx/IAP/CUIAPAdapter$2;-><init>()V
invoke-virtual {v0, v1}, Lorg/cocos2dx/lib/Cocos2dxGLSurfaceView;->post(Ljava/lang/Runnable;)Z
.line 115
return-void
.end method
.method private static paySuccess()V
.locals 2
.prologue
.line 95
invoke-static {}, Lorg/cocos2dx/fishingjoy3/DeviceWrapper;->getGLSurfaceView()Lorg/cocos2dx/lib/Cocos2dxGLSurfaceView;
move-result-object v0
new-instance v1, Lorg/cocos2dx/IAP/CUIAPAdapter$1;
invoke-direct {v1}, Lorg/cocos2dx/IAP/CUIAPAdapter$1;-><init>()V
invoke-virtual {v0, v1}, Lorg/cocos2dx/lib/Cocos2dxGLSurfaceView;->post(Ljava/lang/Runnable;)Z
.line 104
return-void
.end method
根据课后习题里面学到方法,把paysuccess里的内容复制覆盖payfailed里面,搞定,哈哈哈,果然好欺负{:301_988:} ctrl+s保存编译,拖到模拟器里面
先冲他个30块,支付-关闭{:301_985:} 失败是什么鬼,辗转反思百思不得其解,不是说好的好欺负吗,不按套路来我怎么破解,报告老师,作业交不了了
回到上面的帖子看了一下别人的方法https://www.52pojie.cn/thread-693343-1-1.html你这个欺负方法和我的不一样啊,难怪难怪
于是我按照mt管理器的方法试了一遍,具体可以看https://www.52pojie.cn/thread-660626-1-1.html里面的视频教学果然成功了,哈哈哈最后还是被我欺负了
你以为这样就结束了吗,NO,按照上面的方法,我还要老师教的方法再欺负一遍
重新搜索onresult找到.method public onResult(ILjava/lang/String;Ljava/lang/Object;)V直接拉到最下面
.packed-switch 0x1
:pswitch_0
:pswitch_1
改成
.packed-switch 0x1
:pswitch_0
:pswitch_0
:pswitch_0
按我的理解,这三个 第一个代表支付成功,第二个代表失败,直接多加的一个代表取消,不知道是不是这个意思
改完后再搜SMS,找到这个
invoke-static {p0}, Lorg/cocos2dx/IAP/IAPWrapper;->getSMSAdapter(Ljava/lang/String;)Lorg/cocos2dx/IAP/IAPInterface;
双击getSMSAdapter,右键查看方法
来到
.method public static getSMSAdapter(Ljava/lang/String;)Lorg/cocos2dx/IAP/IAPInterface;
.locals 11
.param p0, "productIdentifier" # Ljava/lang/String;
.prologue
const/high16 v10, 0x41f80000 # 31.0f
const/4 v9, 0x0
const/4 v8, 0x1
.line 297
const-string v5, "getSMSAdapter"
invoke-static {v5}, Lorg/cocos2dx/IAP/IAPWrapper;->LogD(Ljava/lang/String;)V
中间省略
最后是这个
.packed-switch 0x0
:pswitch_0
:pswitch_1
:pswitch_2
老方法,全改成:pswitch_0
不过是思考了一下,这个好像有点不对,我是要去除发短信,按这个走下去好像还是会发短信,于是呼我想起了另一个路子
在课后作业里面有一个超级复杂的思考题 火柴人联盟 https://www.52pojie.cn/thread-620244-1-1.html 里面用了一个方法,那就是无脑JMP,直接从开头用goto 跳到:pswitch_0
.method public static getSMSAdapter(Ljava/lang/String;)Lorg/cocos2dx/IAP/IAPInterface;
.locals 11
.param p0, "productIdentifier" # Ljava/lang/String;
.prologue
const/high16 v10, 0x41f80000 # 31.0f
const/4 v9, 0x0
const/4 v8, 0x1
.line 297
goto :pswitch_0 #直接跳到成功,后面的发短信环节就跳过去了
最后保存,编译, 终于他喵的成功了,感谢各位老师。(无脑跳转的方法还可以运用到前面onresult里面,方法一样,我试过了也成功了)
附上《捕鱼达人3》原版 http://g.10086.cn/game/760000006399?spm=www.gamelist.getclassid.azjxyx.3
破解版 链接: https://pan.baidu.com/s/1smPKPcx 密码: m9i8
咪咕游戏破解笔记(二) https://www.52pojie.cn/thread-698298-1-1.html 沐星雨 发表于 2018-2-11 00:33
假如找到没出现pswitch_,但在源码页却出现了“取消”“支付成功”等关键词的气候要怎么改?
试试把支付失败表达式里面的内容替换成支付成功的内容 xxy419255334 发表于 2018-2-11 09:37
楼主为什么捕鱼达人会闪退啊?
可能是修改的地方出错了吧,我之前也出现过这种情况,后来重新修改的就没有闪退,具体道理我也不太懂{:301_1001:} 沙发,值得学习! 笔记看完毫无营养可言........ Cyntec 发表于 2018-2-10 20:09
笔记看完毫无营养可言........
昨天刚开始学的,还不太懂{:301_999:} 没有学到啊 假如找到没出现pswitch_,但在源码页却出现了“取消”“支付成功”等关键词的气候要怎么改? 学习方法了 学习看看~~ 我去试试看 学习学习。楼主辛苦