利用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> 脱壳及破解过程-转

时间: 2024-10-14 00:32:33

利用ZjDroid对 <捕鱼达人3> 脱壳及破解过程-转的相关文章

利用ZjDroid对 &lt;捕鱼达人3&gt; 脱壳及破解过程

<捕鱼达人3> 刚出来不久,就被鬼哥Dump出来dex,随之破解也就轻而易举.一开始我用ZjDroid神器试验过,但是没Dump成功一直耿耿于怀,终于有一天逆袭 不仅提取出来了smali文件,继而修复 更是在破解的时候 另辟蹊径,不弹支付界面亦可破解了还支持离线模式.就记录一下. 程序是从移动MM商城下载的. 一.脱壳. 这个壳的关键词是 chaosvmp ,据说是看雪一位版主所在的公司开发的.在手机上安装好程序并运行,依据教程,脱壳的步骤是: 1.打开命令行 输入查看 LogCat  : a

js原生捕鱼达人(三)--完结

先给分享下我写完的效果,github有点卡,我没有压缩代码,不过效果可以看到 https://jasonwang911.github.io/ 转载请注明'转载于Jason齐齐的博客http://www.cnblogs.com/jasonwang2y60/' 继续昨天的进行 11>添加金币   相同的创建了coin.js的文件 //添加金币的构造含函数 function Coin(type){ this.type=type; this.x=0; this.y=0; this.cur=0; this

js原生捕鱼达人(一)

捕鱼达人的游戏大家都很熟悉吧,接下来的两三天,我会将整个游戏的原生js写法详细的写出来,整个游戏应用了面向对象的写法:创建构造函数,在构造函数上面添加对象的属性,然后在构造函数的原型上添加方法,当然这个程序使用了canvas来绘制,每一步的我都已经分别写出来,详细的步骤我在写代码的过程中都已经标注了出来. 下面是捕鱼达人的素材库: 1>加载资源 <style> *{ padding: 0; margin: 0; } body{ background:#000; text-align:ce

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

插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触发的. 找htm5,html5教程,html开发的朋友来涂志海个人博客网,这里有你想要的一切(万一没有的,请联系涂志海,再解决,嘿嘿) 下 载 演示地址 下载说明: 1.解压密码:tuzhihai.com 2.只有部分模板会提供多页面下载,未加说明都是只有一个首页index.html模板. 3.如果

用《捕鱼达人》去理解C#中的多线程

参考:http://www.cnblogs.com/maitian-lf/p/3678128.html 用<捕鱼达人>去理解C#中的多线程,布布扣,bubuko.com

捕鱼达人

界面 package fishgame; import javax.swing.JFrame; public class FishGame extends JFrame { public static final int HEIGHT=480; public static final int WIDTH=800; public static void main(String args[]){ JFrame frame = new JFrame("捕鱼达人"); frame.setSiz

基于HTML5的捕鱼达人游戏网页版

之前给大家分享了html5实现的水果忍者,愤怒的小鸟,中国象棋游戏.今天给大家分享一款捕鱼达人(fishjoy)网页版游戏的源码.可以在线玩也可以下载到本地.它使用html5技术和javascript制作而成.整个游戏的仿真度99.99%.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="outer"> <div id="middle"> <div id="container" s

HTML5游戏实战(2):90行代码实现捕鱼达人

捕鱼达人是一款非常流行的游戏,几年里赚取了数以千万的收入,这里借用它来介绍一下用Gamebuilder+CanTK开发游戏的方法.其实赚钱的游戏未必技术就很难,今天我们就仅用90来行代码来实现这个游戏. CanTK(Canvas ToolKit)是一个开源的游戏引擎和APP框架,是开发HTML5游戏或者APP的利器,如果你喜欢它,请在github上给它加星,您的支持是我们努力的动力:https://github.com/drawapp8/cantk 0.先Show一下最终成果: 在线运行:htt

java21:捕鱼达人

类的设计 Pool 继承 JPanel background Fish[] allFish FishingNet fishingNet Fish x y width height images index image FishingNet x y width height image 素材在最下面:ps技术有限 不喜欢的可以自己画!!! package xyz.rhel.fish; import java.awt.image.BufferedImage; import java.io.File;