吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 127760|回复: 301
上一主题 下一主题
收起左侧

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

    [复制链接]
跳转到指定楼层
楼主
会飞的丑小鸭 发表于 2017-10-9 17:13 回帖奖励
本帖最后由 会飞的丑小鸭 于 2018-1-29 17:50 编辑

上一篇 《教我兄弟学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/1skClh3f 密码:6u0q

一 分析
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 当然教程讲的并没有这么详细 破解过程中遇到不懂得自己去百度 再不懂的就来问我 学习逆向就是这样 学不会就会感觉迷茫 但是不用怕 记住多迷茫几次就都学会了  每节课布置的课后作业一定要完成 课后作业都不做的话 那我的帖子你也不用继续跟了 学而不思则罔,思而不学则殆 ,不仅要完成还要能理解  这两节课给你讲了一些编程和破解的基础知识 当然这只是一个抛砖引玉的过程 那么下节课我将会找几个破解的例子带着你去练习

下一篇 《教我兄弟学Android逆向03 破解第一个Android游戏

本节课用到的Demo:
链接:https://pan.baidu.com/s/1cUInoi 密码:07p9
















免费评分

参与人数 103威望 +1 吾爱币 +108 热心值 +100 收起 理由
瑟瑟发抖小菜虾 + 1 + 1 我很赞同!
逍遥一镞 + 1 + 1 谢谢@Thanks!
nianhua2008 + 1 谢谢@Thanks!
星空小琛 + 1 + 1 谢谢@Thanks!
无限真空刃 + 1 很有用耶
xiaofanxiaoyu + 1 感谢您的宝贵建议,我们会努力争取做得更好!
aaa999 + 1 + 1 我很赞同!
tsunamis + 1 + 1 谢谢@Thanks!
曲终收拨当心画 + 1 + 1 谢谢@Thanks!
iamzzzzz + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dych321 + 1 + 1 用心讨论,共获提升!
a774733519 + 1 热心回复!
iteamo + 1 + 1 热心回复!
高小春 + 1 + 1 谢谢@Thanks!
liyu6056 + 1 + 1 已完成,感谢分享!
小蚂蚁哈哈乐 + 1 + 1 不知道需要输入激活码的能不能行的通,试试
jadespider + 1 + 1 谢谢@Thanks!
CZ水星 + 1 + 1 用心讨论,共获提升!
lzs88888 + 1 + 1 谢谢@Thanks!
qq286906 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
silvanevil + 1 + 1 热心回复!
追忆夏天 + 1 + 1 学到了
广龙翼 + 2 + 1 头一回,自己写评分,在你这里受益匪浅,谢谢!
SYD缇缇丝 + 1 + 1 谢谢@Thanks!
抱书人人 + 1 + 1 谢谢@Thanks!
msxw888 + 1 + 1 谢谢@Thanks!
TinyCornX + 1 + 1 用心讨论,共获提升!
ly_ontheway + 1 + 1 谢谢@Thanks!
anqing_2018 + 1 + 1 谢谢@Thanks!
xjun + 1 + 1 我很赞同!
lgeae + 1 + 1 用心讨论,共获提升!
Kimipoker + 1 + 1 很不错一直跟着学
debug_cat + 1 + 1 用心讨论,共获提升!
小瓜 + 1 + 1 热心回复!
河妖大大 + 1 + 1 用心讨论,共获提升!
bk少年 + 1 + 1 我很赞同!
shock-c + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
helloooworlddd + 1 + 1 用心讨论,共获提升!
流年柒梦 + 1 + 1 谢谢@Thanks!
iCode坏小孩 + 1 + 1 谢谢@Thanks!
peter_king + 1 谢谢@Thanks!
小小草 + 1 + 1 我很赞同!
nikita. + 1 + 1 我很赞同!
编草鞋的蚂蚱 + 1 + 1 我很赞同!
Dreamer + 1 + 1 谢谢@Thanks!
nu11.c + 1 + 1 谢谢@Thanks!
研究技术 + 2 + 1 一直都想学习安卓破解,可看别的教程又不会,跟你的教程学竟然学会了有成就.
ajzhiaizz + 1 + 1 坐等楼主更新
拂晓天涯 + 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 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

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

推荐
睡梦成瘾 发表于 2018-5-29 22:18
当前 Apktool 使用版本:Android Killer Default APKTOOL
正在编译 APK,请稍等...
>I: 使用 ShakaApktool 2.0.0-20150914
>I: 编译 smali 到 classes.dex...
>I: 正在编译资源...
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\abc_list_divider_mtrl_alpha.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\notification_bg_normal.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\notification_bg_normal_pressed.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\notification_bg_low_normal.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\notification_bg_low_pressed.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\notification_bg_normal.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\abc_list_divider_mtrl_alpha.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\abc_list_divider_mtrl_alpha.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\notification_bg_low_normal.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\notification_bg_low_pressed.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xxhdpi-v4\abc_list_divider_mtrl_alpha.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\notification_bg_low_normal.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\notification_bg_normal_pressed.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\notification_bg_low_pressed.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\notification_bg_normal_pressed.9.png
>W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\notification_bg_normal.9.png
>'.
>F:\Android killer\android killer\projects\jwxdxnx02\Project\res\values-v23\styles.xml:9: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/WindowTitleBackground'.
>F:\Android killer\android kille'.
>F:\Android killer\android killer\projects\jwxdxnx02\Project\res\values-v23\styles.xml:9: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/WindowTitleBackground'.
>F:\Android killer\android killer\projects\jwxdxnx02\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'.
>F:\Android killer\android killer\projects\jwxdxnx02\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'.
>        at com.rover12421.shaka.a.b.g.a(Unknown Source)
>        at b.a.d.a.a(Unknown Source)
>        at b.a.a.b(Unknown Source)
>        at b.a.a.a(Unknown Source)
>        at b.a.a.e(Unknown Source)
>        at b.a.a.a(Unknown Source)
>        at b.b.a.b(Unknown Source)
>        at b.b.a.a(Unknown Source)
>        at com.rover12421.shaka.cli.Main.main(Unknown Source)
>Caused by: b.a.D: b.c.a: could not exec command: [C:\Users\May name is Wan\ShakaApktool\windows-x86\bin\aapt.exe, p, --forced-package-id, 127, --min-sdk-version, 16, --target-sdk-version, 26, --version-code, 1, --version-name, 1.0, -F, C:\Windows\TEMP\APKTOOL2857832983900362536.tmp, -0, resources.arsc, -0, arsc, -I, C:\Users\May name is Wan\apktool\framework\1.apk, -S, F:\Android killer\android killer\projects\jwxdxnx02\Project\res, -M, F:\Android killer\android killer\projects\jwxdxnx02\Project\AndroidManifest.xml]
>        at b.a.d.a.a(Unknown Source)
>        at b.a.d.l.a(Unknown Source)
>        at org.c.b.b.c.a(Unknown Source)
>        ... 9 more
>Caused by: b.c.a: could not exec command: [C:\Users\May name is Wan\ShakaApktool\windows-x86\bin\aapt.exe, p, --forced-package-id, 127, --min-sdk-version, 16, --target-sdk-version, 26, --version-code, 1, --version-name, 1.0, -F, C:\Windows\TEMP\APKTOOL2857832983900362536.tmp, -0, resources.arsc, -0, arsc, -I, C:\Users\May name is Wan\apktool\framework\1.apk, -S, F:\Android killer\android killer\projects\jwxdxnx02\Project\res, -M, F:\Android killer\android killer\projects\jwxdxnx02\Project\AndroidManifest.xml]
>        at b.e.i.a(Unknown Source)
>        ... 12 more
APK 编译失败,无法继续下一步签名!
推荐
a448037978 发表于 2017-10-24 12:01
当前 Apktool 使用版本:Android Killer Default APKTOOL
正在编译 APK,请稍等...
>I: Using Apktool 2.2.4
>I: Smaling smali folder into classes.dex...
>..\..\projects\fgdtk_1.1.0.140\Project\smali\com\turbochilli\rollingsky\pay\OppPay$2$1.smali[176,0] Cannot get the location of a label that hasn't been placed yet.
>Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: com/turbochilli/rollingsky/pay/OppPay$2$1.smali
>        at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:75)
>        at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:59)
>        at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:36)
>        at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:423)
>        at brut.androlib.Androlib.buildSources(Androlib.java:354)
>        at brut.androlib.Androlib.build(Androlib.java:310)
>        at brut.androlib.Androlib.build(Androlib.java:267)
>        at brut.apktool.Main.cmdBuild(Main.java:230)
>        at brut.apktool.Main.main(Main.java:83)
APK 编译失败,无法继续下一步签名!



老大 有空请回复一下!

点评

帮大牛补充的环境搭建篇 《教我兄弟学Android逆向00 前传-环境搭建-反编译-打包安装到模拟器 》https://www.52pojie.cn/thread-844248-1-1.html  发表于 2018-12-25 20:57
推荐
三岁小孩儿 发表于 2018-6-12 21:16
刘一明 发表于 2018-6-10 15:50
为什么我会出现“APK 编译失败,无法继续下一步签名,”不修改源代码也提示这句话。

删掉重新反编译一次,更新apktool,可以试一下。
沙发
Mikoto 发表于 2017-10-9 17:15
很详细的教程,先收藏以后研究研究
3#
wakichie 发表于 2017-10-9 17:16
厉害了啊
4#
canmeng 发表于 2017-10-9 17:30

强势围观一波
5#
亿联网络 发表于 2017-10-9 17:38
smail讲解很详细,支持楼主
6#
BYD-唐 发表于 2017-10-9 17:40
不错啊。适合新手入门啊、!
7#
殇-No.1 发表于 2017-10-9 18:08
看着头疼!!!
8#
T茎候佳阴T 发表于 2017-10-9 18:15
可以  继续加油
9#
左手叼根烟 发表于 2017-10-9 18:30
等了好久了,终于更新了。
10#
zlq6891 发表于 2017-10-9 18:45
谢谢楼主分享,很全面的教程,学习学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-8 16:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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