Answer’s windows

这题查壳

因为不是传统的main函数这类的

就先采用检索字符串的方式来跳转正确界面

定位到right 和 wrong的界面

看的出来,v11和后面的字符串对比,而加密字符串看起来像是变表base64

那就顺着v11向上搜索

sub_7FF7B0221F90这个函数似乎就是加密函数

进入查看

应该就是base64 不过是变表

那就想办法提取一下变表数据

由b64特征,v22应该就是变表数据储存的地方

不过对qword_7FF6E97A2000检索发现是原表

应该是还有对其进行了二次修改

交叉检索检测出处

这里替换成了33-97的新表

1
2
3
4
5
6
7
8
9
10
import base64
new_table="!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a"
table='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
dat=";'>B<76\\=82@-8.@=T\"@-7ZU:8*F=X2J<G>@=W^@-8.@9D2T:49U@1aa"
result=''
# print(len(dat),len(new_table),len(table)) 注意新表与变表的长度
for i in range(len(dat)):
result+=table[new_table.find(dat[i])]
result= str(base64.b64decode(result))
print(result)