好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 fisher 于 2017-5-10 22:01 编辑
首先回顾一下常见的破解方法:
1. 按字搜索法。这种方法非常常见,大部分破解都以这个为战略起点。比如有些运营商的有些特别好弄,什么failed、succed之类的。以类名为关键字查找。或者有些游戏有文字提醒,根据“提醒文字”内容,转换编码查找。
2.按图索骥法。这个名字我自己取的,按activity找入口,然后开门进入。
3.其他。
接上一贴的思路。
0x0 确定目标
com.caimeng.sbz2
工作环境:某遥安卓
作案工具:ApkIDE
辅助工具:当前activity
0x1 敲“门”问路
查看当前activity,确定为sbz2
打开AapkIDE里面打开,找到。中间过程我就不再赘述了
看smali有难度的话,点击上面那个咖啡图标。查看java源码
往下翻看到billingFailed 和 billingSucceed就知道离成功相差不远了
[Java] 纯文本查看 复制代码 public void billingFailed(int paramInt)
{
Log.d("tag", "------------失败-----------");
nativeBillingSuccess(sbillingIndex, 0);
}
public void billingSucceed(String paramString)
{
Log.d("tag", "------------成功-----------");
if ((sbillingIndex < 0) || (sbillingIndex > this.goodInfos.length - 1)) {
return;
}
if ((paramString != null) && (!paramString.equals(this.goodInfos[sbillingIndex]))) {}
label88:
for (int i = 0;; i++)
{
if (i >= this.goodInfos.length) {}
for (;;)
{
nativeBillingSuccess(sbillingIndex, 1);
break;
if (!paramString.equals(this.goodInfos[i])) {
break label88;
}
sbillingIndex = i;
}
}
}
0x3 破门而入
很容易的,通过这样我们便确定了billingFailed就是我们下手的对象(不要问我为什么没有0x2,我也不知道为什么上一个贴和这个贴都没有)
所以我们返回到ApkIDE中,找到TA,并尝试做出如下改动
[Java] 纯文本查看 复制代码 [/size][/size]#这三个其实没有任何影响,不用修改
.field public static final BILLING_CANCEL:I = 0x0
.field public static final BILLING_FAILD:I = -0x1
.field public static final BILLING_SUCCEED:I = 0x1
#关键点在这个 billingFailed method
.method public billingFailed(I)V
.locals 2
.param p1, "sbillingIndex" # I
.prologue
.line 320
const-string v0, "tag"
const-string v1, "------------\u5931\u8d25-----------"
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 322
sget p1, Lcom/caimeng/sbz2/sbz2;->sbillingIndex:I
.line 323
const/4 v0, 0x1
#关键点在这里v0设置为0x1
invoke-static {p1, v0}, Lcom/caimeng/sbz2/sbz2;->nativeBillingSuccess(II)V
.line 324
return-void
.end method[size=3][size=3]
0x4 关门放包
sdz2是已经破解的成品,小的那个是查看activity的辅助工具
链接: http://pan.baidu.com/s/1b60LIm 密码: 52pj
————————————————————————————————————————————————————————
截止至目前,用activity破解的方法和思路分享的差不多了。如果今天不是某淫去我那个帖子挖坟的话我估计这个帖子都不想写了。全靠意念看帖水贴
@冥界3大法王 补充了两个问题。一个是游戏的体力还有支付界面提醒失败的问题。其实这两个问题本不在我的计划范围内。
就这个游戏而言。购买这个玩意就能达到无限次复活的情况了。所以那么体力其实就没有多大的必要了。
至于支付提醒。论坛里面已经有贴子给出了去掉这个提醒,直接返回成功的方法。这里不再赘余.体力那个我会再研究研究,但是好像今天把我这周的娱乐时间都用完了。所以下次更新或者下个月吧
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|