下载附件直接放到exeinfope查壳工具查壳(因为是逆向题,拿到附件后先看有没有壳)
无壳,可以看到是一个apk文件
使用二进制编辑器打开看看
可以看到是个zip文件
重命名(加一个zip后缀),之后解压
使用jadx-gui-1.2.0.exe,jd-gui.exe等apk反编译工具分析
经过一翻苦寻后,在com包下找到类似c/c++main函数的class文件(也可以在模拟器里跑一下,看回显信息,然后在反编译后直接搜回显信息,从而定位到相关class文件)
看到调用了encoder类
找到encoder类
现在可以明确这个apk的作用了
输入一串字符然后与key异或,结果与这串字符比较,正确就输出YES,否则输出NO
exp:
s = '棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌'
f = 123456789
for i in range(len(s)):
print(chr(int(hex(ord(s[i]))[4:],16)^177),end='')