安卓逆向学习 之 KGB Messenger的writeup(2)

安卓逆向学习之KGB Messenger的writeup(2)


Login (Easy)

接上一题,去掉了烦人的弹窗后来到一个登录界面,现在要成功登录,并且登录密码全是小写。

思路

  • 首先随便输入账号密码点击login按钮会出现下面的字样:
    在这里插入图片描述

  • 在AndroidKiller中搜索字符串“User not recognized”,发现在在LoginActivity中,反编译用jd-gui打开后进行分析:

在这里插入图片描述
在这里插入图片描述

  • 在loginactivaty中找到了验证用户名和密码的逻辑
    在这里插入图片描述
  • 我们发现有两个判断,一个是对用户名的判断,如果判断错误会出现“User not recognized”,而下面的“Incorrect password” 还没有出现,猜测应该是用户名正确,密码错误时的弹窗信息。所以寻找2131558450的字符串到底是啥。在androidkiller中已经将该字符串转换为了16进制,于是进行搜索找到其对应位置发现正是public.xml中name为“username”的一个字符串:
    在这里插入图片描述
    在这里插入图片描述
  • 在string.xml中找到该字符串得到用户名为 “codenameduchess”:

在这里插入图片描述

  • 输入用户名"codenameduchess"后随便输入一个密码发现正是出现了"Incorret password",所以j()函数就是对密码的判断,查看j()函数发现是对输入的密码进行了md5哈希然后与一个固定值作比较:
    在这里插入图片描述
  • 由于哈希函数的不可逆性,这里好像没法获得原值(?或许可以用对照表什么的)
  • workthrough里的解决方法是:
    • 用户名codenameduchess其实是一个动漫里Archer中特工的代号,代号为duchess (XD
    • 然后google一下就可以发现密码了
      在这里插入图片描述
  • 又因为题目说密码全是小写,就输入guest,然后就成功登录获得flag啦,flag也是googlepro,说明并不是想让我们通过hash值反推密码:
    在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值