什么都只会一点 发表于 2019-3-6 19:34

安卓逆向分析笔记---003

本帖最后由 什么都只会一点 于 2019-3-9 19:43 编辑

这次是一个购买按钮的操作~


【所需工具】AndroidKiller(不行)、ApkIDE


【用例下载链接】链接:https://pan.baidu.com/s/10BOducjz2V-Q_bP2H_SJBg提取码:57js


【开始操作】将APK拖进AndroidKiller,刚开始就出现问题

文件一直卡死在这里,百度搜索了一下,AndroidKiller版本因为不更新,不能兼容最新SDK生成的APK,于是我就去下载ApkIDE改之理,因为本人本身就是刚接触电脑端安卓逆向,也不会存在换软件后不适应的情况,所以继续,安装完成APKIDE后,同样的,将安装包拖进去,如下图

手机打开APP后确认过,进去后就是购买界面,操作方法与思路与前面的笔记一样,打开AndroidManifest.xml,找到第一启动类的路径,如下图

根据路径,打开对应的smali文件已帖其实找到的字符的smali文件貌似是我们一开始找到的smali文件的副类,本人新手,也不知道用什么专业用语来形容,不知道的可以自行去上一笔记进行比较

我通过路径发现这里有两个,貌似与上次很像,先打开下面的看看

点击这个按钮,查看Java源码

可以看到onClick(单击)事件里面有Toast.makeText方法,这是生成弹窗的方法,后面这串数字应该就是需要输出的对象的文本,根据我以前安卓开发的经验,打开R.string文件来找到对应的内容,如下图

可以看到一个成功,一个失败,这样我就可以确定了,我们打开smali文件,找到对应的地方,我在MainActivity.smali里面并没有找到Toast方法,但是我看到了这个

可以看到,这里的Lnnj/newcm/MainActivity;->success:Z就是上面那个if判断里面的内容


【修改方法一】
.line 18const/4 v0, 0x0

iput-boolean v0, p0,Lnnj/newcm/MainActivity;->success:Z

return-void

修改为:
.line 18const/4 v0, 0x1

iput-boolean v0, p0,Lnnj/newcm/MainActivity;->success:Z

return-void


还记得我之前讲过另外一个smali文件吧,抱着试试的心态,我打开了那个smali文件

真的找到了,Toast方法,再往上看,发现了if判断,判断条件是V2,再往上发现了两个不知道的对象,同样的,我打开smali这边的R$string.smali看看

同样的,找到了成功与失败,返回前面smali文件


我们可以看到一个是获取到V4的字符串,一个是获取到V3的字符串,V4是成功的提示


【修改方法二】
const v4, 0x7f060023

const v3, 0x7f060022

const/4 v2, 0x0


修改为:
const v4, 0x7f060023

const v3, 0x7f060022

const/4 v2, 0x1

【修改方法三】(不建议使用)
const v4, 0x7f060023

const v3, 0x7f060022

const/4 v2, 0x0


修改为:
const v4, 0x7f060023

const v3, 0x7f060023

const/4 v2, 0x0


【修改方法四】
.line 36iget-object v0, p0, Lnnj/newcm/MainActivity$1;->this$0:Lnnj/newcm/MainActivity;

iget-boolean v0, v0,Lnnj/newcm/MainActivity;->success:Z

if-eqz v0, :cond_0


修改为:
.line 36iget-object v0, p0,Lnnj/newcm/MainActivity$1;->this$0:Lnnj/newcm/MainActivity;

iget-boolean v0, v0, Lnnj/newcm/MainActivity;->success:Z


if-nez v0, :cond_0


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



安卓逆向分析笔记---004:https://www.52pojie.cn/thread-891779-1-1.html


结尾说一句:循序渐进的软件很难找,,我自己本身也是在自学,后面可能会更新的慢,这个真的是我的笔记,只是单纯的分享,不要把它当成新手教程了
如果想学的话可以去看下置顶帖的安卓逆向教程(我自己也在看),挺不错的!

什么都只会一点 发表于 2019-3-6 20:29

byh3025 发表于 2019-3-6 20:23
难道改之理比androidkill强大?

这个本身的功能,还是AndroiKiller强大些,不过我确实是拿ApkIDE反编译成功了

什么都只会一点 发表于 2019-3-18 20:10

ananlucky008 发表于 2019-3-18 19:22
Androidkiller 替换个文件就正常了.

这个我在后面已经知道了,只是还没有补充,不过还是感谢提醒

byh3025 发表于 2019-3-6 20:23

难道改之理比androidkill强大?

serlinna 发表于 2019-3-6 22:18

思路学习了,谢谢分享!!!

l19005967 发表于 2019-3-7 11:34


谢谢楼主分享

luoawai123 发表于 2019-3-7 13:13

轻罗小扇 发表于 2019-3-7 15:37



谢谢楼主分享,学习了

liuhan520 发表于 2019-3-8 18:33

多谢大佬分享

sxycwhw 发表于 2019-3-10 05:20

谢谢楼主分享

wanggggg1 发表于 2019-3-10 13:16

教程很好,请问能修改当贝桌面吗?
页: [1] 2
查看完整版本: 安卓逆向分析笔记---003