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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3934|回复: 91
上一主题 下一主题

[Android 原创] 《教我兄弟学Android逆向02 破解第一个Android程序 》

    [复制链接]
跳转到指定楼层
楼主
发表于 2017-10-9 17:13 | 只看该作者 回帖奖励 |倒序浏览
本帖最后由 会飞的丑小鸭 于 2017-10-12 15:35 编辑



上一篇 《教我兄弟学Android逆向01 编写第一个Android程序 》我带你熟悉了Android编程的基础知识 课后给你留的作业你也发给我了  我看了你完成的不错 说明你对Android编程已经有了基础的了解 结合着上篇教程的那个Demo 我们今天就正式进入破解教程
在开始今天的教程之前我有个疑惑 就是上一个Demo编译出来是一个.apk文件 把这个文件用 adb install命令安装到手机上就可以点开运行了 现在我的手头只有这样一个apk文件  那么我怎么去破解它呢 也就是我输入错误的用户名和密码也可以登陆成功 我相信你应该和我也有同样的疑惑,但是不单单是我们吧 我们的前人很早以前就想到过这样的问题 然后他就自己写出来一个工具叫 Android killer  通过把这个.apk文件拉到他的软件中来 就可以把这个apk反编译成smali文件  然后去改这些一些smali文件 改好后重新打包成新的apk 就会生成一个和原来apk一样的新的apk 这个新的apk就是破解后的apk
那么我们是不是也可以写一款这样的软件呢 ?答案:可以 但是很花费时间 我因为想喝一杯牛奶就去养一头牛 太不值得对不对 我们不如直接去把别人家的牛迁过来 以后想什么时候喝牛奶直接挤就是了 那么牛在哪呢?
点击下面的链接下载软件 我们这里就把牛迁到我们家了。
链接:http://pan.baidu.com/s/1eSeqQ6u 密码:66qb

一 分析
1. 牛虽然迁到我们家了 但是不听话呀,那我现在就让它听话好不好 ? 首先打开Androidkiller需要配置JDK的安装路径 下面是JDK下载的链接
链接:http://pan.baidu.com/s/1c1Ogeg4 密码:1nr6



2.把JDK的路径填好后 牛就听话了 然后就可以把我们的APK拉到我们的这款工具中来 (这里可能会出现一个小问题 如果把APK拉到软件中程序卡在 正在反编译APK源码请稍后.. 解决方式:重新打开软件,然后双击APK历史工程里面要打开的这个APK即可) 然后点击左边的入口就会打开MainActivity.smali


3.找到在MainActivity.smali中找到check方法 如果用户名或者密码有一个不对就会跳转到:cond_0出 然后执行下面的代码 也就是登陆失败! 这里会涉及到一些smali代码 smali代码不用去刻意学 这里看到不会的先自己百度然后结合着我下面的分析 自己去尝试着理解  这里的要求:把下面我分析的这些smali代码理解并且记住



4.用鼠标点击cond_0就能找到:cond_0位置 这个地方就是登陆失败






5.这里要补充两个smali指令 一个是if-eqz 另一个是if-nez 这两条指令是相对的
(1)if-eqz vA, vB, :cond_**"   如果vA等于vB则跳转到:cond_**
(2)if-nez vA, vB, :cond_**"   如果vA不等于vB则跳转到:cond_**


6.小总结
(1)首先程序把我们输入的用户名和密码给了p1和p2 然后把真正的用户名给了v0 再拿p1和v0对比 对比的结果放在v0中 如果这两个值不相等v0就等于0
(2)然后用if-eqz v0, :cond_0这条指令去判断v0是不是0 如果v0等于0  也就是用户名和密码不相等 就跳转到:cond_0位置 执行登录失败 否则继续往下面执行
(3)这里假设用户名输入正确了 程序往下继续执行 后面会进行同样的判断密码是不是相等 只有用户名和密码都是正确的 程序才不会跳转到:cond_0位置执行登录失败


7.结合着上面的总结那么思路来了 我如果不让程序跳转到:cond_0位置 让程序每次在if-eqz v0, :cond_0这条关键指令上继续往下执行 是不是就可以执行登录成功代码了?  那怎么能让它不跳转呢? 我现在有三种思路:
第一种 程序有两个if-eqz 分别是用来判断用户名和密码是否正确的 我把这两个if-eqz都改成if-nez  第二种 我直接把这两条指令删除掉 第三种也是最省事最懒的一种 我直接用goto语句直接一条指令让程序执行跳转登录成的代码 也是可以达到程序破解的目的 这里强调一个问题 修改完smali代码后一定要ctrl+s保存 不然程序还是拿原来的smali代码编译。
要求:这三种破解方式都要自己动手去做




8.最后smali修改完成后 把手机连到电脑上面  选择已找到设备  点击左上角的编译 编译完成后点击安装按钮 破解后的apk就成功安装到自己的手机上面了   然后输入错误的用户名和密码会提示登陆成功 说明破解成功


二. 结束
最后到本节课的课后作业了 我在吾爱里面找到一篇内购破解教程帖 本节课的作业是跟随此贴的教程完成破解 https://www.52pojie.cn/thread-632178-1-1.htm 当然教程讲的并没有这么详细 破解过程中遇到不懂得自己去百度 再不懂的就来问我 学习逆向就是这样 学不会就会感觉迷茫 但是不用怕 记住多迷茫几次就都学会了  每节课布置的课后作业一定要完成 课后作业都不做的话 那我的帖子你也不用继续跟了 学而不思则罔,思而不学则殆 ,不仅要完成还要能理解  这两节课给你讲了一些编程和破解的基础知识 当然这只是一个抛砖引玉的过程 那么下节课我将会找几个破解的例子带着你去练习


本节课用到的Demo:
链接:http://pan.baidu.com/s/1cGYN5G 密码:lsnq
















免费评分

参与人数 55威望 +1 吾爱币 +61 热心值 +54 收起 理由
拂晓天涯 + 1 + 1 坐等更新!!!
h080294 + 1 + 1 热心回复!
风随 + 1 + 1 图文并茂,写的很详细,易懂
statue + 1 + 1 我很赞同!
siuhoapdou + 1 + 1 谢谢@Thanks!
丶咖啡猫丶 + 1 + 1 谢谢@Thanks!
zhaojunkai + 1 + 1 收藏收藏,搞完Linux就回来逆向。
流年回忆 + 1 + 1 谢谢@Thanks!
废宅小五 + 1 谢谢@Thanks!
kindiaing + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zhenyan + 1 + 1 我很赞同!
js5201314 + 1 + 1 谢谢@Thanks!
mvm + 1 + 1 热心回复!
鬼狂 + 1 + 1 谢谢@Thanks!
小怪 + 1 + 1 谢谢@Thanks!
rig + 1 + 1 谢谢@Thanks!
zhizhizha + 1 + 1 谢谢@Thanks!
KingUV + 1 + 1 我很赞同!
netle8 + 1 + 1 谢谢@Thanks!
zzbb0011 + 1 + 1 谢谢@Thanks!
superzhangxue + 1 + 1 热心回复!
qaz003 + 1 + 1 用心讨论,共获提升!
linlyv + 1 + 1 热心回复!
qtfreet00 + 1 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
maloneshaw + 1 + 1 热心回复!
永恒篆刻 + 1 + 1 用心讨论,共获提升!
keliali + 1 + 1 谢谢@Thanks!
WqiancangQ + 1 + 1 热心回复!
zouxm2008 + 1 + 1 热心回复!
rnwoshiwo + 1 + 1 正需要这样实在、实用的教程,谢谢
alexkaer + 1 + 1 谢谢@Thanks!
hnicypb + 1 + 1 谢谢@Thanks!
pzhzshun + 1 谢谢@Thanks!
昂电工 + 1 + 1 热心回复!
真爱贤 + 1 + 1 用心讨论,共获提升!
gyf烛光 + 1 + 1 热心回复!
sunnylds7 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xiaoxi2011 + 1 + 1 谢谢@Thanks!
Amanda小黑 + 1 + 1 我很赞同!
anmingyu777 + 1 + 1 谢谢@Thanks!
e5500236 + 1 已答复!
离尘子 + 1 + 1 用心讨论,共获提升!
resote + 2 + 1 赞一个,适合新手的教程
jacklee2014 + 1 + 1 谢谢@Thanks!
Ventus + 1 + 1 用心讨论,共获提升!
e007 + 1 + 1 我很赞同!
cmjs + 1 + 1 我很赞同!
Eternity-Myth + 1 + 1 谢谢@Thanks!
xaoxao + 1 热心回复!
关谷神奇的小号 + 1 + 1 我很赞同!
qjf5202015 + 1 + 1 用心讨论,共获提升!
zhoujun0814 + 1 + 1 谢谢@Thanks!
BYD-唐 + 1 + 1 谢谢@Thanks!
小飞鸟 + 1 + 1 热心回复!
Mikoto + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

推荐
发表于 2017-10-12 09:06 | 只看该作者
非常感谢大大,我也准备学习android逆向,刚好遇到那么好的帖子,尝试破解一款游戏的内购,但是不成功,如果大大有空,麻烦指点一下  https://www.52pojie.cn/thread-650792-1-1.html

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

推荐
 楼主| 发表于 2017-10-12 09:23 | 只看该作者 |楼主
superzhangxue 发表于 2017-10-11 23:55
天了噜,我按照这样的方法做了但还是显示登录失败,到底什么鬼啊啊???求帮忙啊?保证代码没错啊

App发给我

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

沙发
发表于 2017-10-9 17:15 | 只看该作者

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

藤椅
发表于 2017-10-9 17:16 | 只看该作者
厉害了啊

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

板凳
发表于 2017-10-9 17:30 | 只看该作者

强势围观一波

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

报纸
发表于 2017-10-9 17:38 | 只看该作者
smail讲解很详细,支持楼主

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

地板
发表于 2017-10-9 17:40 | 只看该作者
不错啊。适合新手入门啊、!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

7#
发表于 2017-10-9 18:08 | 只看该作者
看着头疼!!!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

8#
发表于 2017-10-9 18:15 | 只看该作者
可以  继续加油

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

9#
发表于 2017-10-9 18:30 | 只看该作者
等了好久了,终于更新了。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

10#
发表于 2017-10-9 18:45 | 只看该作者
谢谢楼主分享,很全面的教程,学习学习

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:Service@52PoJie.Cn

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

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

GMT+8, 2017-10-19 14:59

Powered by Discuz!

© 2001-2017 Comsenz Inc.

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