本帖最后由 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 |