吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19653|回复: 52
收起左侧

[Android 原创] 饥饿鲨破解练习。

[复制链接]
红心J 发表于 2017-7-14 14:42
本帖最后由 红心J 于 2017-7-14 18:47 编辑

破解练手用的,发出来和大家分享一下自己的心路历程。

我这个版本是3.3.0.3的(比较旧的版本)。
1.png

首先,这个版本的有签名验证。
怎么发现的,就是直接 IDE改之理 反编译,然后什么都不改,生成APK,安装游戏,打开游戏后,游戏闪退。
至于为什么是本地验证,断网,打开这个游戏,依然闪退,猜测是本地验证。
下面开始找验证的地方。
由于游戏进入的一瞬间就闪退了,那么从入口位置开始找。
在 AndroidManifest.xml文件中,找到下面这个 :com.fgol.IAPInterface

2.png
去到  smali/com/fgol/IAPInterface  中
3.png

查看 IAPInterface 中的 onCreate()函数。
4.png
闪退的问题出在 init() 函数中,至于为什么,我是参考的这个帖子:http://www.52pojie.cn/thread-506140-1-1.html
5.png
init()函数中的,RunSign 这里出现了问题。
6.png
点RunSign看看,发现是native函数。
7.png
那么接下来,搜索 : loadLibrary,要去到  Ourpalm_Entry.smali
8.png
来到这里
9.png
对应的java源码。
10.png
所以应该是 ourpalr_sdk_a.so这个文件。
来找找这个文件,把 源APK改成后缀为 .rar 的文件,解压出去,去到lib文件夹里。
11.png
这里有2个文件夹。
armeabi-v7a
x86
而且2个文件夹里面放的so文件都相同。
而我选择改了x86里面的  libourpalm_sdk_a.so 文件。
至于这2个文件夹有什么不一样,可参考这篇文章:http://blog.csdn.net/loveyaozu/article/details/51205820
12.png
13.png

然后,上IDA打开 libourpalm_sdk_a.so,在左侧搜索:runsign,去到下面这个图的位置。
14.png
发现有2个check函数的调用。
我用的 UltraEdit 打开libourpalm_sdk_a.so,找到地址: 0x000302DA
15.png

16.png

如上图: E8 21 FD FF FF 对应第一个check函数,我把它nop掉, nop 对应 16进制代码为 90,也就是给它改为 90.
17.png
这是第二个的check函数,如同上面一样 nop掉。
18.png

19.png

改为90
20.png
修改成功后,保存退出。
我这里用的UltraEdit 去修改,然后看到文件夹下多了个文件(红框那个),这是对libourpalm_sdk_a.so文件没修改之前的一个备份。
21.png
然后检查下我们的修改是否成功了。
用IDA打开 libourpalm_sdk_a.so,到修改的位置去,看到2段nop代码。这就修改成功了。
22.png
然后把修改的libourpalm_sdk_a.so放回到之前的 .rar的压缩包的对应位置。
23.png
用APK改之理重新打开,什么都不动,生成新的APK,安装,进游戏,不闪退了。验证就过掉了。
接下来,就是破解内购了。查考:http://www.52pojie.cn/thread-399992-1-1.html
直接搜 paySuccess 去到下面位置。
24.png
打开java源码看看,有 取消,失败,成功3个方法。
25.png
接下来,我把取消,失败的代码都删除掉,把成功的代码复制过去。
也就是说,无论我们支付失败,还是取消,都会执行成功的代码。
然后保存,生成,安装游戏,进去看看。
发现破解成功。
效果图如下:
26.png

27.png

一键技能满级,也是调用上面修改的支付代码的地方,所以一键技能满级也破解成功了。
28.png 29.png
最后,就是我们在支付时,会弹出支付的窗口。我想把它过掉。
去搜索 pay 这个函数。
如下图蓝色那段,去到那个方法里面。
30.png
打开java源码看看,pay函数如下:
31.png
有个if判断,里面是调用了 payFailed 这个函数(这个函数的代码我们在上面已经改为成功的代码了)
还有个for 循环,应该就是弹窗的位置。
那么改法很简单,去到smali代码,找到 if 的判断位置。
if - eqz  改为 if - nez
32.png
也就是说,不要出现支付的弹窗,直接让其支付失败,但是我们修改了支付失败的代码,所以就支付成功了。
然后再次安装运行游戏,发现支付没有弹窗,修改成功。
--------------------------------
最后,我安装到我的手机上,发现连网的状态下,依然出现闪退,我关掉网络,打开游戏,虽然不出现闪退,可游戏一直运行不起。
关掉网络,游戏进不去一直黑屏,我也不清楚为什么。但在bluestacks上运行没有任何问题。
--------------------------------
还有一点:就是解锁特殊鲨鱼,这里我没有搞定。搜索关键字也没有找到相应的代码位置。后面我会继续琢磨,搞定了就补上过程。
33.png
样本(没有去掉验证),成品(只修改了x86的,要想在手机上玩,修改下另一个文件夹的so):
链接: https://pan.baidu.com/s/1hs68kyo 密码: 1tjv

---------------------------------------------------------------

补充(解决手机上玩不了的问题):想在手机上用自己破解的这个游戏的话,过签名验证的时候,就应该修改armeabi-v7a 中的 libourpalm_sdk_a.so。
方法与修改x86里面的差不多,ida 打开libourpalm_sdk_a.so,找到runsign函数。
34.png
区别是,这是arm指令,在2个check函数那里,需要修改的就是把地址: 000244c4 和 000244ce 处的代码 换成 00 00 00 00
而 00 00 对应的代码是 movs r0,r0     它是一条空语句,相当于X86系统的NOP
35.png

再用ida看看修改的结果
36.png

嗯,这里就大功告成了。
最后放回到 armeabi-v7a 文件夹中,再用改之理编译一下。拿到手机上安装试一试,发现游戏不黑屏,可以玩了,破解成功。
附上一张手机上的截图。
37.jpg
-----------------------------------------------------
最后,需要注意的是,要在手机上运行我们破解的这个游戏,需要修改 armeabi-v7a 里面的.so文件。。我前面修改的是x86里面的,所以在手机上无法运行。
我开始以为连网的时候还会服务器验证,不然安装在手机上游戏为什么闪退了。后来发现是我没有修改armeabi-v7a 里面的.so文件。
程序在运行的时候是去加载不同平台对应的.so文件,所以要修改对应的.so文件才可以。

点评

很不錯的文章 給你點讚 建議原創帖子可以加隱藏 不然只看不回復的人太多了 免費學了東西 然而連一句謝謝都不留下  发表于 2019-3-6 13:02

免费评分

参与人数 33威望 +1 吾爱币 +47 热心值 +33 收起 理由
堂前燕 + 1 + 1 用心讨论,共获提升!
飞天蜗牛 + 1 + 1 谢谢@Thanks!
qq278937623 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
baqzh + 1 + 1 用心讨论,共获提升!
chenchuan + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
小可爱~ + 2 + 1 我很赞同!
987857149 + 1 + 1 感谢大佬分享,虽然我看不懂。
dryzh + 1 + 1 怎么不找个最新版的玩玩?
lansigua + 1 + 1 谢谢@Thanks!
独行风云 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
swx5201314 + 1 + 1 用心讨论,共获提升!
BIAO. + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
在路上的人 + 1 + 1 谢谢@Thanks!
蜗牛逛街 + 1 + 1 谢谢@Thanks!
qaz003 + 1 + 1 谢谢@Thanks!
fanvalen + 1 + 1 我很赞同!
pro713 + 1 + 1 谢谢@Thanks!
a5606495 + 1 + 1 用心讨论,共获提升!
95535916 + 1 + 1 谢谢@Thanks!
开始的复活节 + 1 + 1 热心回复!
8362455 + 1 + 1 热心回复!
smile1110 + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
kiukiu + 1 + 1 用心讨论,共获提升!
BYD-唐 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
联盟少侠 + 2 + 1 用心讨论,共获提升!
won0888 + 1 + 1 谢谢@Thanks!
全国统考第一 + 1 + 1 用心讨论,共获提升!
温馨提示 + 1 + 1 用心讨论,共获提升!
youcaihua + 1 + 1 已答复!
Shark素 + 1 + 1 用心讨论,共获提升!
无知呦 + 1 + 1 非常感谢像楼主这样愿意分享的人 吾爱有你更精彩
qtfreet00 + 1 + 12 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
s1986q + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

SHTEC-TANG 发表于 2017-7-14 15:02
很好很强大                       
 楼主| 红心J 发表于 2017-7-14 16:57
时光深存少年梦 发表于 2017-7-14 14:55
 楼主| 红心J 发表于 2017-7-14 14:56

谢谢谢谢。
王美君 发表于 2017-7-14 16:14
厉害了,楼主好强啊
1738402137 发表于 2017-7-14 16:15
楼主很强势  请问还收徒不!
zlzhabc 发表于 2017-7-14 16:45 来自手机
学习了感谢
SharsDela 发表于 2017-7-14 16:50
手机上不应该重新修改armeabi-v7a里的so吗?
badguyzxx 发表于 2017-7-14 17:05
谢谢分享,支持一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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