Jasn 发表于 2018-2-11 18:11

【新手】咪咕游戏破解笔记(二)

本帖最后由 Jasn 于 2018-2-11 18:18 编辑

      通过昨天的破解,我感觉已经能通杀咪咕游戏了,于是今天有兴致勃勃的随便找了个游戏继续欺负


   休闲区的一个叫xx酷跑的游戏吸引了我的眼球,想起当年玩企鹅酷跑的时候那叫一个幸苦,这个游戏跟那玩意儿差不多


   {:301_997:} 报仇的时候到了,我直接拖进androidkiller里面就是一顿操作,三下五除二的{:301_1001:} 就没找到昨天的关键字


   这怎么玩,不管了随便找一个像的试试吧


.method public onResult(ILjava/lang/String;Ljava/lang/Object;)V这玩意儿里面有好几处,一个一个试

.method public onResult(ILjava/lang/String;Ljava/lang/Object;)V
    .locals 2
    .param p1, "code"    # I
    .param p2, "userId"    # Ljava/lang/String;
    .param p3, "o"    # Ljava/lang/Object;

    .prologue
    .line 38
    const/4 v0, 0x2

    if-eq p1, v0, :cond_0

    const/4 v0, 0x1

    if-ne p1, v0, :cond_1

    .line 39
    :cond_0
    sget-object v0, Lcom/feeker/service/MiguService;->activity:Lorg/cocos2dx/lib/Cocos2dxActivity;

    new-instance v1, Lcom/feeker/service/MiguService$1$1;

    invoke-direct {v1, p0}, Lcom/feeker/service/MiguService$1$1;-><init>(Lcom/feeker/service/MiguService$1;)V

    invoke-virtual {v0, v1}, Lorg/cocos2dx/lib/Cocos2dxActivity;->runOnGLThread(Ljava/lang/Runnable;)V

    就是你了,以我聪明的头脑会认不出你,if-eq p1, v0, :cond_0,if-ne p1, v0, :cond_1   我直接让你都跳cond_0不就搞定了

   事实证明,还真不是他,于是我又绞尽脑汁找别的,paysuccess、payfailed、购买失败、把结果看起来像的都试了一遍,还是没成功

   算了,下课休息休息,下课时间玩了几把LOL还都输了{:301_981:}   虎落平阳啊,想来想去还是回来欺负咪咕游戏吧,在LOL里面只能被欺负,回到这里我就是你大爷

   这次我冷静思考了一下,回忆老师上课讲的,嗯,我想起了那个喝咖啡图标(JAVA源码),对不应该没有目的的乱找,应该对照JAVA才明白,

虽然JAVA也不太懂,但是之前上学的时候学过c语言,能大概看懂什么意思,于是有重新找,终于在对照过程中找到了onresult的关键call

.method public onResult(ILjava/lang/String;Ljava/lang/Object;)V
    .locals 2
    .param p1, "resultCode"    # I
    .param p2, "billingIndex"    # Ljava/lang/String;
    .param p3, "obj"    # Ljava/lang/Object;

    .prologue
    .line 76
    const/4 v0, 0x1

    if-ne p1, v0, :cond_0

    .line 77
    sget-object v0, Lcom/feeker/service/MiguService;->activity:Lorg/cocos2dx/lib/Cocos2dxActivity;

    new-instance v1, Lcom/feeker/service/MiguService$2$1;

    invoke-direct {v1, p0}, Lcom/feeker/service/MiguService$2$1;-><init>(Lcom/feeker/service/MiguService$2;)V

    invoke-virtual {v0, v1}, Lorg/cocos2dx/lib/Cocos2dxActivity;->runOnGLThread(Ljava/lang/Runnable;)V

    .line 93
    :goto_0
    return-void

    .line 85
    :cond_0
    sget-object v0, Lcom/feeker/service/MiguService;->activity:Lorg/cocos2dx/lib/Cocos2dxActivity;

    new-instance v1, Lcom/feeker/service/MiguService$2$2;

    invoke-direct {v1, p0}, Lcom/feeker/service/MiguService$2$2;-><init>(Lcom/feeker/service/MiguService$2;)V

    invoke-virtual {v0, v1}, Lorg/cocos2dx/lib/Cocos2dxActivity;->runOnGLThread(Ljava/lang/Runnable;)V

    goto :goto_0
.end method


java源码
import cn.cmgame.billing.api.GameInterface.IPayCallback;
import org.cocos2dx.lib.Cocos2dxActivity;

class MiguService$2
implements GameInterface.IPayCallback
{
MiguService$2(MiguService paramMiguService) {}

public void onResult(int paramInt, String paramString, Object paramObject)
{
    if (paramInt == 1)
    {
      MiguService.activity.runOnGLThread(new Runnable()
      {
      public void run() {}
      });
      return;
    }
    MiguService.activity.runOnGLThread(new Runnable()
    {
      public void run() {}
    });
}
}


通过做对原理可以得出,我只要把他的判别式改成和他相反的,那么我就成功了,if-ne p1, v0, :cond_0直接改成 if-eq p1, v0, :cond_0保存编译,成功搞定

原游戏魔力课堂酷跑 http://g.10086.cn/game/760000141897?spm=www.gamelist.getclassid.azjxyx.2

破解版链接: https://pan.baidu.com/s/1ggcGpKf 密码: uuf1

咪咕游戏破解笔记(一)https://www.52pojie.cn/thread-697958-1-1.html

Jasn 发表于 2018-2-11 22:12

冥界3大法王 发表于 2018-2-11 19:17
这是吾爱破解的大部分人用过的典型的“瞎子逮死食第一式”
@Jasn
要是人家没用 前人用到的这 ...

哈哈哈,那就得靠继续学习深造了{:301_986:}

冥界3大法王 发表于 2018-2-11 19:17

这是吾爱破解的大部分人用过的典型的“瞎子逮死食第一式” {:301_986:}
@Jasn
要是人家没用 前人用到的这些关键字,你咋定位呢?

w1020541818 发表于 2018-2-11 18:28

学习看看~~ 感谢楼主

jhk253 发表于 2018-2-11 18:43

谢谢楼主,分享健康

fabir1031 发表于 2018-2-11 19:33

赞一个 感谢

丁丁历险记 发表于 2018-2-11 19:52

谢谢楼主,分享健康

linuxprobe 发表于 2018-2-11 20:12

你的笔记写的太简单了,拿出来分享只有你看得懂。

umbrella_red 发表于 2018-2-11 20:29

阔以阔以,有趣

Jasn 发表于 2018-2-11 22:14

linuxprobe 发表于 2018-2-11 20:12
你的笔记写的太简单了,拿出来分享只有你看得懂。

那我下次多配点图说明
页: [1] 2
查看完整版本: 【新手】咪咕游戏破解笔记(二)