吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 103841|回复: 253
收起左侧

[Android 原创] 《教我兄弟学Android逆向03 破解第一个Android游戏 》

    [复制链接]
会飞的丑小鸭 发表于 2017-10-23 17:36
本帖最后由 会飞的丑小鸭 于 2018-7-19 10:23 编辑

上一篇 《教我兄弟学Android逆向02  破解第一个Android程序  》我带着你破解了我们自己编的一个小程序 里面我分析并讲解的一些smali语法你都记住了 给你布置的课后作业你发给了我 我看后觉得你完成的 不错 结合着前两篇给你写的教程的基础上 我认为你可以开始今天的课程了。

要么学!要么不学!学和不学之间没有中间值 不学就放弃,学就要去认真的学!    --致选择

说明:教我兄弟学逆向这系列课程是一对一教我兄弟的  在逆向方面他是一个小白 所以教程我会写的很详细   如果你也和他一样也是一个小白 对Android逆向是0基础 但是想学习Android逆向知识 那么请从第一篇《教我兄弟学Android逆向01 编写第一个Android程序 》 开始看 这里教程是同步跟新的 更新的速度我会根据我兄弟-威的学习速度而定。
今天为你带来的是一篇实战教程  这个教程很有意思  就是破解小游戏 下面开始进入实战:

.

今天教程所用到的例子是吾爱名为:非己非人写的一篇内购破解教程 你现在的任务是跟着他写的教程去把这个游戏破解掉
注意他那个帖子原版apk链接失效了 练习用下面这一个
帖子链接:
https://www.52pojie.cn/thread-642371-1-2.html
原版apk链接:
链接:https://pan.baidu.com/s/1pMrYft5 密码:lper

.

现在你已经跟着上面的帖子完成了对此游戏的破解 下面我给你带来第二种破解方法
在先进行第二种方式破解之前 结合着你对上面那篇教程的理解 我有个问题要问你  上面那篇文章破解的思路是什么?


正常购买道具流程:
首先我手机上安装了一个游戏 但是游戏里面好多道具都是收费的 游戏正常逻辑是 我点击一个道具 点击购买 弹个框 这个框里面会问:你确认花费xx金币购买此道具吗?然后下面有两个按钮 一个确认一个取消 我点击确认游戏扣费 然后道具购买成功


破解目的:
在不花费话费 或者金币的情况下 让道具购买成功
既然购买流程和我们的破解目的都清楚了 那么破解思路也就跟着来了:
(1)我点击取消让道具也能购买成功 是不是就把游戏给破解了
(2)在购买失败,扣费失败的情况下 让道具购买成功  (这个也就是为什么我们要搜索"失败"的原因)

1.  用AndroidKiller打开我们的原版apk 搜索字符"失败" 点搜索框下面的aA 文本转Unicode 选择搜索范围 点击搜索,找到购买失败 鼠标滑轮向上滑动 这里看到购买失败这四个字在payResultFalse方法里面


01.png


02.png


2.点击小咖啡图标将当前smali代码转换成java代码


03.png

3.这里就是支付失败所执行的方法了 可以看到这个方法下面是payResultSuccess()这个方法 这个是支付成功的方法 还有payResultCancel 支付取消的方法
非己非人写的那篇教程 是把支付失败方法里面的smali内容替换成支付成功方法里面的smali内容 来达到破解的目的
我们这里换一种破解思路,我去找哪里调用payResultFalse方法 然后我把这个方法名字改成支付成功方法的名字 是不是也可以达到游戏破解的目的?


4.搜索payResultFalse 找到如图位置 这里有两种破解方式 一种是把pswitch_1改成pswitch_0 另一种是把payResultFalse改成payResultSuccess 都可以达到游戏破解的目的
要求:理解switch语法 不懂的地方自己去百度 本节课的例子自己跟着去练习
04.png

5.总结
本节课通过实例带你用两种方式破解了第一个Android游戏 第一种是非己非人写的把购买成功里面的smali代码替换到购买失败函数中去 第二种是在购买失败函数调用处 改变switch语句达到破解的目的 你在练习完本节课例子的最后我给你留了一个任务:自己用第三种方式完成对此游戏的破解。
当然教程讲的并没有这么详细 破解过程中遇到不懂得自己去百度 再不懂的就来问我 学习逆向就是这样 学不会就会感觉迷茫 但是不用怕 记住多迷茫几次就都学会了  每节课布置的课后作业一定要完成 课后作业都不做的话 那我的帖子你也不用继续跟了 学而不思则罔,思而不学则殆 ,不仅要完成还要能理解 本节课到此结束 下节课我将带着你去动态调试smali代码

6.课后作业:
前两个跟着教程并破解游戏 后两个自己尝试去破解   注:课后作业一定要做
1.
https://www.52pojie.cn/thread-632178-1-2.html  滚动的天空
2.
https://www.52pojie.cn/thread-620244-1-1.html  火柴者联盟


3.https://www.52pojie.cn/thread-656493-1-1.html  城市飞车3D-模拟驾驶破解版(内购破解版)
4.https://www.52pojie.cn/thread-656462-1-1.html  3D狂野飞车2极速前进(内购破解版)


下一篇 《教我兄弟学Android逆向04 动态调试smali代码





免费评分

参与人数 89威望 +1 吾爱币 +97 热心值 +88 收起 理由
qdxs + 1 + 1 谢谢@Thanks!
幽_灵 + 1 + 1 用心讨论,共获提升!
Forbid + 1 + 1 谢谢@Thanks!
xugudr + 1 + 1 谢谢@Thanks!
blue16深蓝梦境 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
d446184920 + 1 + 1 用心讨论,共获提升!
果汁分妳一半 + 1 + 1 谢谢@Thanks!
qinyuanchi + 1 + 1 教程非常详细!太棒了!
kermitye + 1 + 1 谢谢@Thanks!
13537570281 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
Kum + 1 + 1 学会了学会了
绯樱 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
kentish + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ToT、 + 1 + 1 楼主你好 我的电脑是win7 64位 点咖啡打不开Java源码是什么原因呢
ailishuo + 1 + 1 用心讨论,共获提升!
hack_wangyu + 1 + 1 可以的,但是我switch 改了之后貌似不行换代码的方式可以的。
kofing1 + 1 + 1 热心回复!
dadaewqq + 1 + 1 switch不阔以 另一个还好
skdxg + 1 + 1 我很赞同!
窗雨树雪 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
a337100 + 1 + 1 热心回复!
Pojie1999.0909 + 1 + 1 感谢!顺便说一句,你兄弟真幸福!
eszzxc + 1 + 1 那个原版练习的链接挂了~
如此多娇 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
jiale58 + 1 + 1 谢谢@Thanks!
WangJeff + 1 + 1 谢谢@Thanks!
debug_cat + 1 + 1 用心讨论,共获提升!
z123436 + 1 + 1 感谢作者给我们这些小白学习的机会!耽误您的时间了~
shock-c + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
bossno1 + 1 谢谢@Thanks!
songhualin888 + 1 + 1 热心回复!
Y0rke + 1 + 1 谢谢@Thanks!
smith_k + 1 + 1 谢谢@Thanks!
bhcjl + 1 + 1 希望能出点去视频广告的教程
zzbb0011 + 1 + 1 热心回复!
有你真好 + 1 + 1 我很赞同!
万分感谢论坛 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
咸鱼土豆 + 1 + 1 用心讨论,共获提升!
huanglong_0502 + 1 + 1 期待下一篇
maoxuechuen + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
唯三句 + 1 + 1 我很赞同!
鸡多不压身 + 1 我很赞同!
shijei2012 + 1 + 1 谢谢@Thanks!
123-木头人 + 1 + 1 用心讨论,共获提升!
策士 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
961952819 + 1 + 1 热心回复!
huanyu55234 + 1 鼓励转贴优秀软件安全工具和文档!
AdidasOriginals + 1 + 1 用心讨论,共获提升!
李人 + 1 + 1 谢谢@Thanks!
mashan2014 + 1 + 1 我很赞同!
hodir52pj + 1 用心讨论,共获提升!
pro713 + 1 + 1 谢谢@Thanks!
无心只过 + 1 + 1 谢谢@Thanks!
ls6724 + 1 + 1 谢谢@Thanks!
再睡一夏丶 + 1 + 1 加油加油,等着更新学习!
富春山居 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Faithful丶o + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
yu490025278 + 1 + 1 我很赞同!
And1小灰灰 + 1 + 1 谢谢@Thanks!
chenchuan + 1 + 1 用心讨论,共获提升!
往事红尘 + 1 + 1 我很赞同!
boycwb + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
jaffa + 1 + 1 谢谢@Thanks!
SanTROIS + 1 + 1 谢谢@Thanks!
superzhangxue + 1 + 1 非常感谢
wakaka12580 + 1 + 1 收藏!
Three_fish + 1 + 1 谢谢@Thanks!
Amanda小黑 + 1 + 1 已答复!
ablepolet + 2 + 1 教学贴一定要支持
china1213100 + 1 + 1 谢谢@Thanks!
Hmily + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
博爵 + 1 + 1 正好需要,不过现在没时间学
ducd + 1 + 1 感谢您对吾爱论坛的支持,吾爱破解论坛因你更精彩!
vr4u + 1 + 1 其他的不说,主要是这语言表达能力,大大的服
午觉~萤火 + 1 + 1 用心讨论,共获提升!
caleb110 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
alexkaer + 1 + 1 谢谢@Thanks!
qaz003 + 1 + 1 谢谢@Thanks!
Chace + 1 + 1 谢谢@Thanks!
Mikoto + 1 谢谢@Thanks!
resote + 1 + 1 谢谢@Thanks!
notproblem + 1 + 1 谢谢@Thanks!
帅哥没人陪 + 1 + 1 用心讨论,共获提升!
lenovo131 + 1 + 1 我很赞同!
myqqq + 2 + 1 工作态度值得肯定
chuntian22 + 1 + 1 热心回复!
sunnylds7 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
关谷神奇的小号 + 1 + 1 热心回复!
clf3211147 + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

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

Dragons·宇 发表于 2017-10-24 11:52
这些都太简单了,靠自己摸索出来也花不了太多时间。论坛上其他大神发的又太难,希望楼主能出一些so层相关的知识,能讲的易懂一点就更好了。
匿名者CP 发表于 2018-4-11 15:17
大佬,2种方法全失败是什么问题,本来之前看过其他教程想自己试试,自己修改的不成功,然后根据你的教程,按照你说的改法,也保存了,不管是修改paswitch还是payresultfalse全都失败了,从你链接下载的apk。
123-木头人 发表于 2017-11-8 17:40
退役单身 发表于 2017-11-8 15:37
ShakaApktool  版本要更新了,我之前也遇到过

当前 Apktool 使用版本:apktool_2.3.0
正在编译 APK,请稍等...
>I: Using Apktool 2.3.0
>I: Smaling smali folder into classes.dex...
>I: Building resources...
>S: WARNING: Could not write to (C:\Users\i\AppData\Local\apktool\framework), using C:\Users\i\AppData\Local\Temp\ instead...
>S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
>W: E:\AndroidKiller_v1.3.1\projects\idm下载\Project\res\values-v23\styles.xml:8: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/WindowTitle'.
>W:
>W: E:\AndroidKiller_v1.3.1\projects\idm下载\Project\res\values-v23\styles.xml:9: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/WindowTitleBackground'.
>W:
>W: E:\AndroidKiller_v1.3.1\projects\idm下载\Project\res\values-v24\styles.xml:7: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.DropDownUp'.
>W:
>W: E:\AndroidKiller_v1.3.1\projects\idm下载\Project\res\values-v24\styles.xml:8: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.DropDownDown'.
>W:
>Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\i\AppData\Local\Temp\brut_util_Jar_6839346043621878032.tmp, p, --min-sdk-version, 16, --target-sdk-version, 26, --version-code, 1, --version-name, 1.0, --no-version-vectors, -F, C:\Users\i\AppData\Local\Temp\APKTOOL8354570300607898895.tmp, -0, resources.arsc, -0, arsc, -I, C:\Users\i\AppData\Local\Temp\1.apk, -S, E:\AndroidKiller_v1.3.1\projects\idm下载\Project\res, -M, E:\AndroidKiller_v1.3.1\projects\idm下载\Project\AndroidManifest.xml]
>        at brut.androlib.Androlib.buildResourcesFull(Androlib.java:485)
>        at brut.androlib.Androlib.buildResources(Androlib.java:419)
>        at brut.androlib.Androlib.build(Androlib.java:318)
>        at brut.androlib.Androlib.build(Androlib.java:270)
>        at brut.apktool.Main.cmdBuild(Main.java:224)
>        at brut.apktool.Main.main(Main.java:75)
>Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\i\AppData\Local\Temp\brut_util_Jar_6839346043621878032.tmp, p, --min-sdk-version, 16, --target-sdk-version, 26, --version-code, 1, --version-name, 1.0, --no-version-vectors, -F, C:\Users\i\AppData\Local\Temp\APKTOOL8354570300607898895.tmp, -0, resources.arsc, -0, arsc, -I, C:\Users\i\AppData\Local\Temp\1.apk, -S, E:\AndroidKiller_v1.3.1\projects\idm下载\Project\res, -M, E:\AndroidKiller_v1.3.1\projects\idm下载\Project\AndroidManifest.xml]
>        at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:454)
>        at brut.androlib.Androlib.buildResourcesFull(Androlib.java:471)
>        ... 5 more
>Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\i\AppData\Local\Temp\brut_util_Jar_6839346043621878032.tmp, p, --min-sdk-version, 16, --target-sdk-version, 26, --version-code, 1, --version-name, 1.0, --no-version-vectors, -F, C:\Users\i\AppData\Local\Temp\APKTOOL8354570300607898895.tmp, -0, resources.arsc, -0, arsc, -I, C:\Users\i\AppData\Local\Temp\1.apk, -S, E:\AndroidKiller_v1.3.1\projects\idm下载\Project\res, -M, E:\AndroidKiller_v1.3.1\projects\idm下载\Project\AndroidManifest.xml]
>        at brut.util.OS.exec(OS.java:95)
>        at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:448)
>        ... 6 more
APK 编译失败,无法继续下一步签名!




现在成这样了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Joey_Chiu + 1 + 1 用心讨论,共获提升!

查看全部评分

d446184920 发表于 2018-8-3 17:15
新手学习,后两个游戏按教程更改后还是不能内购,希望能给个详细教程
as36601987 发表于 2017-10-23 18:01
全是java,这世界要疯
ll19921124 发表于 2017-10-23 20:22
不错,之前学过一点破解!但是没这么详细!加油,兄弟!
veily88 发表于 2017-10-23 17:39
辛苦楼主了,好贴   收藏了
wanmei195634 发表于 2017-10-23 17:41
很详细的,多谢楼主,已是你的观众
huangai93 发表于 2017-10-23 17:56
虽然不知道LZ在说什么但是感觉很厉害的样子~
sunnylds7 发表于 2017-10-23 17:58
棒棒哒的楼主
大笨 发表于 2017-10-23 18:07
额,可以可以
xu741852 发表于 2017-10-23 18:46
技术贴,太好了。牛
丿颠覆灬虎哥 发表于 2017-10-23 20:18
感谢楼主的分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-2 17:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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