一个apk 直接用 jeb 看看程序的逻辑
发现 程序会先对 一个 data 文件进行异或操作,解压apk 在 assets 文件夹下找到 data 文件 然后利用 python 脚本将 文件还原。
key = "syclover"
file_data = open("data", "rb").read()
new_file = open("./mydata","wb")
decode = ''
cout=0
for d in file_data:
decode += chr(ord(d)^ord(key[cout % 8]))
cout+=1
with open('./mydata', 'wb') as f:
f.write(decode)
得到mydata 文件 发现文件问 apk ,改后缀为 apk ,在逆向分析这个 文件。
看到Mainfest 下主要Activity 的活动是 t 和 s
分析 t 和 s 中的代码
发现对 v1 进行了 sctf 函数处理后 比较是否等于 “c2N0ZntXM2xjMG1l”
发现是 base64 加密
发现 f 经过 encode 函数后等于 “~8t808_8A8n848r808i8d8-8w808r8l8d8}8”