app3
题目来源: 暂无
题目描述:无
下载下来发现是一个ab文件,查询发现是安卓手机的备份文件
可以运用Android backup extractor将其转换成tar文件
语法是java -jar abe.jar unpack <backup.ab> <backup.tar>
如果有密码语法是java -jar abe.jar unpack <backup.ab> <backup.tar> [password]
之后解压tar文件,看到了两个数据库和base.app
放入jadx反汇编,发现数据库是被加密的
第一行说明被加密,第二行说明被SqlCipher加密,第三行说明版本是3.4.0
因此尝试获得密码
密码是将Stranger与123456各取前四位拼接在一起得到Stra1234
之后将其进行MD5加密,得到的16进制摘要前面加上Stra1234,后面加上yaphetshan,然后进行sha-1加密,最后取其16进制摘要的前七位
因此得到解密脚本
import hashlib s = 'Stra1234' ss = 'yaphetshan' m = hashlib.md5() m.update(s.encode()) s1 = m.hexdigest() s2 = s + s1 + ss h = hashlib.sha1() h.update(s2.encode()) print(h.hexdigest()[0:7])
这就是数据库的密码
刚开始进了Demo.db,结果发现flag是空的
原来在Encryto.db里,看到flag里面是VGN0ZntIM2xsMF9Eb19ZMHVfTG92M19UZW5jM250IX0=
base64解码得到flag
Tctf{H3ll0_Do_Y0u_Lov3_Tenc3nt!}