发新帖

火柴人联盟V1.5.3 过验证

[复制链接]
14105 9
前几天研究了火柴联盟的验证。
从网上得到火柴人联盟V1.5.3 的Apk,用Killer重新编译后就出现这种情况:

感谢群里的各路大神提醒,这个是网络验证的。我模拟器没有网,破解内购后能运行,放在真机上就弹出了版权声明
这是我用Fiddler抓到的数据包:

这个包里有很多关键的信息了,我已经用红色圈出来了。

我选择1103,换成16进制0x44f(smali反编译出来的数值都是16进制表示的),用Killer搜索。

都是在同一个文件中,文件名AddBlackName.. ??添加黑名单。够狠,这名字真浪。。
用jd-gui打开这个文件,搜索刚才的状态码:1103 (这回是10进制的)

            this.updateItem.setTitle(paramString.getString("authTitle"));
            this.updateItem.setDescription(paramString.getString("authDesc"));

authTitle和authDesc就是数据包里json数据的字段名..... 经检测XXX
可以断定,这里应该是调用显示什么的。  所以这个if分支是必须去掉的。
    invoke-virtual/range {v26 .. v26}, Lcn/mycompany/addblackname/item/UpdateItem;->getStatus()I
    move-result v26
    const/16 v27, 0x44f
    move/from16 v0, v26
    move/from16 v1, v27
    if-ne v0, v1, :cond_2


大概就是拿 getStatus() 的返回值与 0x44f 比较。 如果不相等就跳转到 :cond_2。
很显然,要干掉它,就必须无条件跳转过去。
if-ne v0, v1, :cond_2 改为  goto :cond_2


以上是第一处搜索出来的0x44f,Killer一共搜索出了三处。
第二处:
invoke-virtual/range {v26 .. v26}, Lcn/mycompany/addblackname/item/UpdateItem;->getStatus()I
    move-result v26
    const/16 v27, 0x44f
    move/from16 v0, v26
    move/from16 v1, v27
    if-ne v0, v1, :cond_3 改为 goto :cond_3



第三处:
    invoke-static {v3, v4}, Lcn/mycompany/addblackname/utils/PreferUtil;->getIntValue(Landroid/content/Context;Ljava/lang/String;)I
    move-result v3
    const/16 v4, 0x44f
    if-ne v3, v4, :cond_0 改为 goto :cond_0


修改完后就能重编译,然后慢慢破解内购了。

下面是个人总结的经验,不喜勿喷,大神勿喷:
破解内购或者其他一类东西的时候,如果能找到状态码或者回调钩子一类的东西就很容易了,虽然改的地方很多,但是不会漏点,而且每处修改的地方代码样式都差距不大。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

举报 使用道具

回复

精彩评论9

无名侠    发表于 2016-1-30 20:40:14 | 显示全部楼层
我先坐沙发

举报 使用道具

回复 支持 反对
ken    发表于 2016-1-30 21:18:58 | 显示全部楼层
一下十进制,一下十六进制  没搞懂什么情况

点评

smali反汇编出来的文件数值是16进制的,jd-GUI还原的java中数值都是10进制表示的。  详情 回复 发表于 2016-1-30 21:21

举报 使用道具

回复 支持 反对
无名侠    发表于 2016-1-30 21:21:25 | 显示全部楼层
ken 发表于 2016-1-30 21:18
一下十进制,一下十六进制  没搞懂什么情况

smali反汇编出来的文件数值是16进制的,jd-GUI还原的java中数值都是10进制表示的。

举报 使用道具

回复 支持 反对
半盏流年    发表于 2016-1-30 22:08:28 | 显示全部楼层
无名大牛,求出个愚公移山的教程,我之前试了N次,总是不成功,移动的,谢谢

点评

我不是什么大神,才学这玩意几天,但是可以帮你看看,网上都是破解好的,能发一下原版吗?  详情 回复 发表于 2016-1-30 22:47

举报 使用道具

回复 支持 反对
无名侠    发表于 2016-1-30 22:47:40 | 显示全部楼层
半盏流年 发表于 2016-1-30 22:08
无名大牛,求出个愚公移山的教程,我之前试了N次,总是不成功,移动的,谢谢 ...

我不是什么大神,才学这玩意几天,但是可以帮你看看,网上都是破解好的,能发一下原版吗?

举报 使用道具

回复 支持 反对
ken    发表于 2016-1-31 00:02:09 | 显示全部楼层
无名侠 发表于 2016-1-30 21:21
smali反汇编出来的文件数值是16进制的,jd-GUI还原的java中数值都是10进制表示的。  ...

懂了

举报 使用道具

回复 支持 反对
sndncel    发表于 2016-1-31 04:46:48 | 显示全部楼层
谢谢分享。。。。支持一下呀。

举报 使用道具

回复 支持 反对
半盏流年    发表于 2016-1-31 10:30:39 | 显示全部楼层
无名侠 发表于 2016-1-30 22:47
我不是什么大神,才学这玩意几天,但是可以帮你看看,网上都是破解好的,能发一下原版吗? ...

http://www.wandoujia.com/apps/com.heitao.ygys.wdj

谢谢啦

举报 使用道具

回复 支持 反对
Waitfor    发表于 2016-1-31 18:51:33 | 显示全部楼层
学习前辈经验

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表