BUUCTF Reverse刷题笔记05——findit
下载附件得到.apk文件,所有这是一道安卓逆向题
一、AKPIDE打开
在Main函数中发现两串16进制数,先将这些16进制数转译成字符串看看保存的是什么
编写脚本:
第一串字符串
:array_0
.array-data 2
a = [0x54,
0x68,
0x69,
0x73,
0x49,
0x73,
0x54,
0x68,
0x65,
0x46,
0x6C,
0x61,
0x67,
0x48,
0x6F,
0x6D,
0x65,
]
x = ""
for i in a:
x += chr(i)
print(x)
运行结果得到
第二串字符串
:array_1
.array-data 2
a = [0x70,
0x76,
0x6b,
0x71,
0x7b,
0x6d,
0x31,
0x36,
0x34,
0x36,
0x37,
0x35,
0x32,
0x36,
0x32,
0x30,
0x33,
0x33,
0x6c,
0x34,
0x6d,
0x34,
0x39,
0x6c,
0x6e,
0x70,
0x37,
0x70,
0x39,
0x6d,
0x6e,
0x6b,
0x32,
0x38,
0x6b,
0x37,
0x35,
0x7d,
]
x = ""
for i in a:
x += chr(i)
print(x)
运行结果得到
得到可疑字符串
pvkq{m164675262033l4m49lnp7p9mnk28k75}
按照题目要求包上flag{}上交,发现不对,事情果真没有这么简单
仔细观察pvkq,发现f——>p为10,l——>v为10,a——>k为10,g——>q为10,
所有这我们还需要将得到的字符串进行一次凯撒加密
二、凯撒加密解密
得到正确flag
flag{c164675262033b4c49bdf7f9cda28a75}
三、JEB
除了APKIDE能打开.apk文件外,还有JEB可以打开查看
JEB下载链接:https://www.pnfsoftware.com/