利用ZjDroid对 捕鱼达人3 脱壳及破解过程
捕鱼达人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 脱壳及破解过程相关推荐
- 沉睡者-程序员利用javascript开发捕鱼达人游戏
"捕鱼"特别是在于二线城市及县市是最多人喜欢玩的电玩了,就连我们农村小商店都有这样的电玩,有的人放几百甚至放几千进去玩,玩的天昏地暗,最后输的金光,比如我身边一个搞建筑的朋友,就特 ...
- 利用PhoneGap技术将“捕鱼达人”网页游戏移植到Android手机
如果你只会制作网页,那么貌似你就永远无法成为一个程序员.但是,PhoneGap能够改变这条铁律. http://phonegap.com/是PhoneGap的主页,从它的官方文档,我们可以知道,Pho ...
- js原生捕鱼达人(一)
捕鱼达人的游戏大家都很熟悉吧,接下来的两三天,我会将整个游戏的原生js写法详细的写出来,整个游戏应用了面向对象的写法:创建构造函数,在构造函数上面添加对象的属性,然后在构造函数的原型上添加方法,当然这 ...
- 游戏制作之路-unity捕鱼达人(一 开始以及加载界面的制作)
Unity捕鱼达人的制作 一.创建开始界面 根据上一篇我们所讲的,很容易就能把开始界面做出来. 二.游戏加载场景 游戏加载条的制作,我是用到了unity中的slider UI组件,如图 slider组 ...
- 《捕鱼达人》游戏制作要点浅析(一) 思路分析
注:本文不谈程序,只谈思路 一.思想斗争 <捕鱼达人>这款游戏做的的确不错,相信许多人都已经玩过了.但是作为一个业余"码男"的我,玩玩怎么能尽兴,梦想自己也能写出这么一 ...
- Java 编写捕鱼达人游戏 窗体程序 完整源码
今天为大家分享捕鱼达人游戏的开发与制作,目前是单机版游戏,后续时间空了,会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言为J ...
- Java课程设计说明书 捕鱼达人
非mvc结构 本课程设计说明书和项目源码链接: link. 这个应该是达内的,mvc结构的: link.不是我写的 摘 要 捕鱼达人游戏采用 Java 高级程序语言设计.本次游戏的程序设计包含java ...
- html5 canvas简易版捕鱼达人游戏源码
插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触 ...
- android(41)(支付宝服务和捕鱼达人)
1.支付宝服务: package com.itheima.alipay; interface ISafePay{boolean callPay(long time,String pwd,double ...
最新文章
- WPF的ListBox中的RadioButton不能单选问题
- C# 字符串 数据类型 判断 与特定规则验证
- C#托管代码与C++非托管代码互相调用二(C++调用C#代码)
- 关于string,我今天科普的
- Linux java 生效不了,linux jdk 不生效怎么办
- 悉数11种主流NoSQL文档型数据库
- 软件工程第五章3(1)
- Flutter 页面托动按钮 DraggableFloatingActionButton
- redhat怎样修改语言_硕士博士个人陈述(PS)辅导及修改服务带你极速前进!
- vmware安装黑苹果教程
- 纯前端实现人脸识别-提取-合成
- ASP.NET Core Web多语言项目
- Linux 下安装python3
- 《Asp.Net 2.0 揭秘记(十四)
- MX Player不支持此音频格式(EAC3)
- 腾讯云账号实名认证和域名实名认证的区别
- 安装黑群晖找不到局域网电脑_UNRAID 、黑群晖、 穿越派 私有云部署测试
- PJSIP语音回声优化
- 网卡清空缓存命令_清除网卡中IP缓存
- 美国杜克大学计算机学院,杜克大学计算机专业留学的生活经历故事
热门文章
- ANU-COMP6442 7-12
- 正则表达式截取以什么开头和什么结尾_有些爱情故事可以猜到开头,没有猜到结尾,为什么?路遥性格分析...
- qrc路径_QT下添加*.qrc(图标Icon、图像)资源
- 大数据平台用于生成数据跑批脚本的脚本(version2.0)
- Kong网关简介安装
- 信息采集工具,网站信息采集工具,数据采集工具免费
- 外卖跑腿app同城配送系统功能
- Word2003公式编号设置
- ipad1无法安装应用程序_如何在iPad上的应用程序之间拖放
- 按申万三级行业分类计算个股的标准正态累计分布值