在网上找一些Android的CTF题练手,这道题是其他人传到网上的,具体比赛信息不详. 原链接
题目到手之后是一个apk包,使用zip工具打开或者安装到手机上提示打开失败,拖到虚拟机里边用zip命令的参数解决:`zip -FF test1.apk’ 之后使用JEB分析逻辑,对输入字符串进行DES加密,又加了base64,利用python的pyDes模块模仿此逻辑:
#!/usr/bin/env python2 # -*- coding: utf-8 -*- import base64 from pyDes import * value = [102, 67, 119, 112, 103, 86, 72, 55, 124, 88, 93, 74, 85, 56, 37, 107, 95, 114, 127, 124, 65, 124, 102, 78, 76, 106, 106, 105, 40, 36, 93, 115] s = "" for i in range(len(value)): s += chr(value[i] ^ i) print(s) dec = base64.decodestring(s) iv = "\x01\x02\x03\x04\x05\x06\x07\x08" key = "poi7y6gt" x = des(key, CBC, iv,pad=None,padmode=PAD_PKCS5) result = x.decrypt(dec) print result运行得到flag,输入程序中,恭喜过关!
提取码:gdt9
