Android_CTF: kgb_messenger

本文介绍了Android CTF挑战kgb_messenger的解决过程,涉及反编译APK,查找关键字符串,理解System.getProperty()和System.getenv()的用途,解密base64编码获取FLAG,修改Smali代码跳过条件检查,以及通过社会工程学方法找到登录凭证。
摘要由CSDN通过智能技术生成

环境:kgb_messenger.apk,测试机:OnePlus Andorid 9 

1. Alerts

安装该apk后,使用发现如下的界面

 用 jadx 反编译该 apk,搜索字符串 "Russian", 在MainActivity中发现了以上字符串,且代码逻辑如下

 其中 System.getProperty() 函数用于获取当前系统属性,包括 java版本、操作系统版本等信息,其中可以获得的属性值,参见:JAVA 命令参数详解:-D_枝叶飞扬_新浪博客

其中 System.getenv() 函数用于获取指定的环境变量的值。

审计代码,发现,会判断 user.home 对应的系统属性的值是否为 Russia, 然后判断 USER 对应的环境变量是否为 R.string.User 对应的字符串的值,如果两个判断都通过,则会启动一个 LoginActivity。

首先想去看一下 R.string.User 对应的字符串是啥,R.string.User

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值