吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 106141|回复: 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方法里面






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




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


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


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
不错,之前学过一点破解!但是没这么详细!加油,兄弟!
4#
veily88 发表于 2017-10-23 17:39
辛苦楼主了,好贴   收藏了
5#
wanmei195634 发表于 2017-10-23 17:41
很详细的,多谢楼主,已是你的观众
6#
huangai93 发表于 2017-10-23 17:56
虽然不知道LZ在说什么但是感觉很厉害的样子~
7#
sunnylds7 发表于 2017-10-23 17:58
棒棒哒的楼主
8#
大笨 发表于 2017-10-23 18:07
额,可以可以
9#
xu741852 发表于 2017-10-23 18:46
技术贴,太好了。牛
10#
丿颠覆灬虎哥 发表于 2017-10-23 20:18
感谢楼主的分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-23 01:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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