freeparty 发表于 2015-9-17 23:26:17

火柴人联盟破解教程

本帖最后由 freeparty 于 2015-9-17 23:27 编辑

火柴人联盟破解教程
开学后时间比较紧,也就没录制视频了,这次就写成文档来记录破解火柴人联盟最新版的教程。
工具:Android Killer 1.2,Android逆向小助手(其他的也可以,只要是签名工具)
火柴人联盟版本为1.3.2   截止发帖时最新版的
0x1,将游戏拖入Android Killer反编译…


0x2,先试玩一下,在游戏中购买道具,发现大于30元的时候计费SDK好像是百度的,而小于30元的好像直接是使用的短代计费,这个计费SDK应该是三网(电信,移动,联通)融合的,计费方式的分析就告一段落了,接下来就是破解支付了。
0x3,既然是三网融合SDK肯定有移动支付的代码和电信的,电信直接搜PaySuccess,移动搜IPayCallBack,要是搜不到就搜OnBillingFinish,这里我直接搜索第二种方法,发现三个重要结果

还有两个,其余四个直接忽略,先修改第一个文件EMOnPurchase123Listener.smali,步骤不多说,发现一个关键函数onPayFinish(int),其中接受一个int值,大概看看这个函数流程是,判断购买成功则调用onPayFinish(1),失败时参数为0,这样就好办了,直接把183行的const/4 v6, 0x0改为const/4v6, 0x1就ok了。
0x4,回编译错误解决,
其实这时文件已经生成了,打开我选中的那个路径,然后将一个后缀名为tmp的文件改后缀为apk,并使用签名工具签名并安装。其他运营商的手机还需要锁一下三网,让他强制使用移动SDK,方法不再详细讲解,留作对自己的一个考核,只给出搜索的关键字Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;,要是实在找不到就直接查看EMPayManager.smali这个文件做分析。
0x5,在游戏中购买大于30元的道具时还是会收费,这个怎么办呢,这时就需要对百度支付SDK进行破解了,同样留作作业,关键字Lcom/DBGame/DiabloLOL/baidu/DiabloLOL;->doMidasPay()V。
0x6,目标无支付弹窗破解,不显示任何弹出直接购买成功代码:**** Hidden Message *****

破解后的游戏http://pan.baidu.com/s/1o6GeGl0
破解后的游戏已上传至百度云,本人还是希望大家能多动手操作,自己破解,不要直接看一些关键字,多自己分析一下,由于本人在破解游戏时手贱多点了一下30元话费没了,所以我将破解后的游戏加入了一个广告SDK,希望大家能多玩一会,给我补点血。
谢谢各位,有问题请在帖子下方直接回复,教程由于时间关系做的不够详细,有时间会在下面继续补充内容。

sndncel 发表于 2015-9-18 05:42:20

分析的很详细呀。。。。。支持一下呀。哈哈。。。。。

xin 发表于 2015-9-18 06:46:07

支持一个,很久没玩游戏了

周卫国 发表于 2015-9-18 09:00:49

谢谢如此精彩的教程

sos521qqq 发表于 2015-9-18 09:19:05

学习一下看看,,,,,,,

guangz 发表于 2015-9-18 12:21:16

谢谢如此精彩的教程

wakichen 发表于 2015-9-18 12:38:08

谢谢分享啊

vVv一 发表于 2015-9-19 17:22:26

瞅瞅~~支持一下

13286747386 发表于 2015-9-19 21:00:01

感谢分享 学习学习

chenjingyes 发表于 2015-9-19 22:01:18


分析的很详细呀。。。。。支持一下呀。哈哈。。。。。
页: [1] 2 3 4 5 6 7 8
查看完整版本: 火柴人联盟破解教程