用户
搜索
  • TA的每日心情
    慵懒
    2019-1-10 12:59
  • 签到天数: 141 天

    连续签到: 1 天

    [LV.7]常住居民III

    i春秋作家

    推荐小组成员

    Rank: 7Rank: 7Rank: 7

    120

    主题

    299

    帖子

    1277

    魔法币
    收听
    0
    粉丝
    21
    注册时间
    2017-7-24

    幽默灌水王突出贡献春秋文阁i春秋签约作者i春秋推荐小组积极活跃奖春秋游侠秦

    HAI_ i春秋作家 推荐小组成员 幽默灌水王 突出贡献 春秋文阁 i春秋签约作者 i春秋推荐小组 积极活跃奖 春秋游侠 秦 楼主
    发表于 2018-11-10 02:18:33 321501

    0x00 前言

    今天突然来一看,发现bugku更新了,正好来看一看。

    本来以为只是一道前道题的。结果里面的道道还是有一点多的。我们接下来就分享一下思路,以及做法。

    0x01 start

    其实拿到这种都是要先安装看一下的。我能说我有一点懒么。
    你们自己看一看就好。
    我们使用AndroidKiller反编译。

    然后回编译测试一下。

    一道签到题,连回编译都不行了???
    试一下直接看java源码


    好吧,这些都没用了。不过不要担心,我们还有其他的办法看到源码。
    APK包其实就是zip包,至于为什么可以自行百度。所以我们解压。

    然后我们dex2jar。

    然后打开jar。

    然后就可以开开心心的看源码了。

    然后我们接着看。

    发现这里有一个对比。
    其实我本来以为这道题我做出来了。

    paramString.equals(new String(Base64.decode(new StringBuffer(getFlag()).reverse().toString(), 0)))) 

    解析一下就是先获取getFlag()
    然后就是reverse() 反转字符串
    然后base64解密
    就是这样一个操作。
    然后getFlag()看一下

    getBaseContext().getString(2131427360);

    这个就很坑啦。
    2131427360,这里出现一个数字,明明就是一道前道题,考的也太多了吧。
    这个肯定要系统的了解过,才知道2131427360其实就是一个资源管理分配的id。
    这里还要知道Android开发里,这个id是由R....什么来管理。所以,我们才有思路就是在R文件里找到这里ID。

    然后找到toString。
    好了,这里又要考一个知识点,toString是一个字符串,要了解一定的开发知识,才能知道字符串的管理地方是在string.xml文件里。

    然后就看到字符串。
    991YiZWOz81ZhFjZfJXdwk3X1k2XzIXZIt3ZhxmZ
    然后基本就是正常套路。

    ZmxhZ3tIZXIzX2k1X3kwdXJfZjFhZ18zOWZiY199
    然后解密。

    最后,还有一个坑就是,这个答案是不对的。。。

    这里多了一个小横杆。

    然后

    论如何教女朋友&老婆学安全&学编程,我们来聊一聊经验呀784278256
    发表于 2018-11-10 22:30:55
    学习学习。。。。
    http://www.anonymou5.com
    使用道具 举报 回复
    我也分析到了,可是搞不懂为什么要多一个横杠呢??
    使用道具 举报 回复
    发表于 2018-11-14 14:22:25
    博博1998 发表于 2018-11-13 13:53
    我也分析到了,可是搞不懂为什么要多一个横杠呢??

    这个原因暂时不明呀,可能是哪里的分析多了字符啥的
    论如何教女朋友&老婆学安全&学编程,我们来聊一聊经验呀784278256
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册