第一次尝试使用AndroidKiller反编译apk

本文介绍了如何使用Android Killer(AK)反编译一个包含简单登录功能的apk应用。通过分析smali代码,了解到登录失败的判断条件,并提出了三种修改思路:将if-eqz改为if-nez,删除if-eqz语句,或者使用goto语句避免登录失败。最终以思路一为例,修改后编译并测试,实现了即使输入错误的账号密码也能成功登录的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用Android Studio做了一个简单的Demo,就是单独的一个登陆界面,设置了固定的账号密码,如果输入的账号密码如设置的值一致就进行页面跳转。

在这里插入图片描述

接下来将它打包apk拉进Android Killer(简称AK)中去

在这里插入图片描述

这段代码我们也不难理解,一开始声明的两个参数“name”和“pass”应该就是账号和密码的输入框,分别用p1和p2表示。

在这里插入图片描述

If-eqz是smali的语法,判断前后两个操作数是否相等,相等则只需冒号后面的代码,不想等则继续往下执行。

在这里插入图片描述

cond_0应该就是登陆失败了,我们可以找一下。
在这里插入图片描述

既然源码都完完全全的暴露在我们面前了,正确的账号密码我们也知道了,但这不是我们想要的。接下来我们对这些代码进行修改,在修改之前先理一下思路,代码执行到cond_0就会登录失败,那我们不让它执行到cond_0不就可以了吗?代码有两个地方会跳转至登录失败,一个是判断用户名,另一个是判断密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值