当前位置: 代码迷 >> 综合 >> BugkuCTF-Android-signin
  详细解决方案

BugkuCTF-Android-signin

热度:136   发布时间:2023-09-24 08:07:37.0

0x01   start

先将这道题目下载下来,并且放入Android killer

BugkuCTF-Android-signin

BugkuCTF-Android-signin

 

0x02  NEXT

因为在Android killer 中无法看到java源码

所以使用Androidtool Box工具

先将Sign_in.apk 改为Sign_in.zip 并且将内容解压出来,可以得到这些文件

BugkuCTF-Android-signin

然后使用Androidtool Box 

BugkuCTF-Android-signin

BugkuCTF-Android-signin

 

然后可以得到反编译后的源码了

 

BugkuCTF-Android-signin

然后我们接着看。


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

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

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

getBaseContext().getString(2131427360);

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

BugkuCTF-Android-signin

然后找到toString
好了,这里又要考一个知识点,toString是一个字符串,要了解一定的开发知识,才能知道字符串的管理地方是在string.xml文件里。
BugkuCTF-Android-signin
然后就看到字符串。
991YiZWOz81ZhFjZfJXdwk3X1k2XzIXZIt3ZhxmZ
然后基本就是正常套路。
BugkuCTF-Android-signin
ZmxhZ3tIZXIzX2k1X3kwdXJfZjFhZ18zOWZiY199
然后解密。
BugkuCTF-Android-signin
最后,还有一个坑就是,这个答案是不对的。。。
BugkuCTF-Android-signin
这里多了一个小横杆。
BugkuCTF-Android-signin
然后
BugkuCTF-Android-signin

 

 

 

 

 

  相关解决方案