[SWPUCTF 2021 新生赛]easyapp

发布时间 2023-09-26 22:13:45作者: Zer0o

下载附件,没有后缀,丢入winhex
image.png
pk文件头,是个zip压缩包,直接修改后缀,打开是一个apk文件
image.png
使用jadx打开
打开方式

在这里打开终端
cd lib
java -jar jadx-gui-1.4.4.jar

image.png
image.png
使用jadx打开apk,在com里找到mainactivity,看到一串繁体中文:棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌
image.png
这里有个异或,有个key值为123456789
image.png
分析程序知道,将flag与key值进行异或,得到这串繁体中文,反异或得flag
image.png
这个代码报错,意思是越界了,因为ASCII有效位最大位是127,我们只需要在后面加%128就可以了

str = '棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌'
key = 123456789
flag = ''

for i in str :
    flag += chr((ord(i) ^ key)%128)

print(flag)

输出结果不太像flag,试了下确实不是,我们继续找
image.png
可以看到下面还有一个mainactivity,这里的key值被改变为987654321
image.png
果然得到flag:NSSCTF{apkYYDS}
image.png

str = '棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌'
key = 987654321
flag = ''

for i in str :
    flag += chr((ord(i) ^ key)%128)

print(flag)