捕鱼达人3> 刚出来不久,就被鬼哥Dump出来dex,随之破解也就轻而易举。一开始我用ZjDroid神器试验过,但是没Dump成功一直耿耿于怀,终于有一天逆袭 不仅提取出来了smali文件,继而修复 更是在破解的时候 另辟蹊径,不弹支付界面亦可破解了还支持离线模式。就记录一下。
程序是从移动MM商城下载的。

一、脱壳。
这个壳的关键词是 chaosvmp ,据说是看雪一位版主所在的公司开发的。在手机上安装好程序并运行,依据教程,脱壳的步骤是:
1、打开命令行 输入查看 LogCat  :
adb shell logcat -s zjdroid-shell-org.cocos2d.fishingjoy3
如下图所示:


记下hook的pid=13108
2、再打开一个命令行 用来向手机发送执行命令。首先要在 adb shell 获取APK当前加载DEX文件的信息 输入命令:
am broadcast -a com.zjdroid.invoke --ei target 13108 --es cmd '{"action":"dump_dexinfo"}'


如图,会出现两个路径,第一次Dump可能不知道应该用哪一个,我用的是apk后缀的。我的看法是如果路径中有 **.classes.dex 路径,则优先选择;否则可以试试apk后缀的路径。那我们开始dump dex:
am broadcast -a com.zjdroid.invoke --ei target 13108 --es cmd '{"action":"backsmali","dexpath":"/data/app/org.cocos2d.fishingjoy3-1.apk"}'


运行几分钟,提示无错误dump dex完成。


到指定的文件夹查看dex文件,大小却为0字节是不是就说明我们dump失败了呢?其实 /file/smali 是可以提出来完全可以用的。

二、修复。
上面已经提取出来smali文件了 用IDE反编译原程序,将smali文件替换为dump出来的 看能否编译成功。果然出错如下图,


试着修复一下,找到报错的地方:


将这两行删除,同样修复接下来的报错提示。然后就能编译成功了。
安装试试能不能正常打开,果然秒退o(╯□╰)o 
咦 这到底是为什么尼?我们是把壳脱了 猜想,是不是程序运行时 仍然调用了与壳有关的代码 导致了闪退?终于不负有心人在AndroidManifest.xml文件中 看到了:


果断将 Application 的 name 属性删除。然后完美修复完成。

三、破解。
按照以前的陈旧思路 移动MM商城的短信支付几乎可以说是秒破,但是今天换一种思路 探索更完美的破解手段——不让其弹支付界面直接购买成功。(还是天哥的教程给了我动力 膜拜..)怎么个思路呢?还是得先分析关键.Method onBillingFinish,定位到短信发送成功调用的代码:

(其实,这段代码出现支付界面只不过显示“发送成功”),结合下面代码很容易识别,交易成功与否的关键词为:“didCompleteTransaction”“didCancelledTransaction”
那就直接搜索关键词呗 找到;类org/cocos2dx/IAP/IAPWrapper,里面的方法有:

根据方法名猜测 addpayment ,有添加支付弹窗的嫌疑,那我们就试着 将.method didCompleteTransaction 里的代码全部复制到.method addPayment。安装试验。结果却出现了:

一定是方法 didCompleteTransaction 另有判断,查看代码 只有一个判断,修改即可。


然后保存,测试成功。

利用ZjDroid对 捕鱼达人3 脱壳及破解过程相关推荐

  1. 沉睡者-程序员利用javascript开发捕鱼达人游戏

    "捕鱼"特别是在于二线城市及县市是最多人喜欢玩的电玩了,就连我们农村小商店都有这样的电玩,有的人放几百甚至放几千进去玩,玩的天昏地暗,最后输的金光,比如我身边一个搞建筑的朋友,就特 ...

  2. 利用PhoneGap技术将“捕鱼达人”网页游戏移植到Android手机

    如果你只会制作网页,那么貌似你就永远无法成为一个程序员.但是,PhoneGap能够改变这条铁律. http://phonegap.com/是PhoneGap的主页,从它的官方文档,我们可以知道,Pho ...

  3. js原生捕鱼达人(一)

    捕鱼达人的游戏大家都很熟悉吧,接下来的两三天,我会将整个游戏的原生js写法详细的写出来,整个游戏应用了面向对象的写法:创建构造函数,在构造函数上面添加对象的属性,然后在构造函数的原型上添加方法,当然这 ...

  4. 游戏制作之路-unity捕鱼达人(一 开始以及加载界面的制作)

    Unity捕鱼达人的制作 一.创建开始界面 根据上一篇我们所讲的,很容易就能把开始界面做出来. 二.游戏加载场景 游戏加载条的制作,我是用到了unity中的slider UI组件,如图 slider组 ...

  5. 《捕鱼达人》游戏制作要点浅析(一) 思路分析

    注:本文不谈程序,只谈思路 一.思想斗争 <捕鱼达人>这款游戏做的的确不错,相信许多人都已经玩过了.但是作为一个业余"码男"的我,玩玩怎么能尽兴,梦想自己也能写出这么一 ...

  6. Java 编写捕鱼达人游戏 窗体程序 完整源码

    今天为大家分享捕鱼达人游戏的开发与制作,目前是单机版游戏,后续时间空了,会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言为J ...

  7. Java课程设计说明书 捕鱼达人

    非mvc结构 本课程设计说明书和项目源码链接: link. 这个应该是达内的,mvc结构的: link.不是我写的 摘 要 捕鱼达人游戏采用 Java 高级程序语言设计.本次游戏的程序设计包含java ...

  8. html5 canvas简易版捕鱼达人游戏源码

    插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触 ...

  9. android(41)(支付宝服务和捕鱼达人)

    1.支付宝服务: package com.itheima.alipay; interface ISafePay{boolean callPay(long time,String pwd,double ...

最新文章

  1. WPF的ListBox中的RadioButton不能单选问题
  2. C# 字符串 数据类型 判断 与特定规则验证
  3. C#托管代码与C++非托管代码互相调用二(C++调用C#代码)
  4. 关于string,我今天科普的
  5. Linux java 生效不了,linux jdk 不生效怎么办
  6. 悉数11种主流NoSQL文档型数据库
  7. 软件工程第五章3(1)
  8. Flutter 页面托动按钮 DraggableFloatingActionButton
  9. redhat怎样修改语言_硕士博士个人陈述(PS)辅导及修改服务带你极速前进!
  10. vmware安装黑苹果教程
  11. 纯前端实现人脸识别-提取-合成
  12. ASP.NET Core Web多语言项目
  13. Linux 下安装python3
  14. 《Asp.Net 2.0 揭秘记(十四)
  15. MX Player不支持此音频格式(EAC3)
  16. 腾讯云账号实名认证和域名实名认证的区别
  17. 安装黑群晖找不到局域网电脑_UNRAID 、黑群晖、 穿越派 私有云部署测试
  18. PJSIP语音回声优化
  19. 网卡清空缓存命令_清除网卡中IP缓存
  20. 美国杜克大学计算机学院,杜克大学计算机专业留学的生活经历故事

热门文章

  1. ANU-COMP6442 7-12
  2. 正则表达式截取以什么开头和什么结尾_有些爱情故事可以猜到开头,没有猜到结尾,为什么?路遥性格分析...
  3. qrc路径_QT下添加*.qrc(图标Icon、图像)资源
  4. 大数据平台用于生成数据跑批脚本的脚本(version2.0)
  5. Kong网关简介安装
  6. 信息采集工具,网站信息采集工具,数据采集工具免费
  7. 外卖跑腿app同城配送系统功能
  8. Word2003公式编号设置
  9. ipad1无法安装应用程序_如何在iPad上的应用程序之间拖放
  10. 按申万三级行业分类计算个股的标准正态累计分布值