做题笔记。
下载 查壳。
32ida打开。
程序运行状态:
一开始以为,,,base62 去解密 不对。。哈哈哈。
跟进看看。
动调一下发现,input不在这个函数里面。
对函数进行跟踪。
逆推就好。
先通过密文,逆推密文在abcd_62的v5也就是index。
再通过恒等式逆推input。
脚本:
encode = "KanXueCTF2019JustForhappy"
abcd_62 = "abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ"
for i in encode:
v5 = abcd_62.index(i)
# print(v5,end=' ') # index: 19 0 27 59 44 4 11 55 14 30 28 29 37 18 44 42 43 14 38 41 7 0 39 39 48
if 0 <= v5 < 10: # ASCII码 (48-48) ~ (57-48) = 【0,9】
print(chr(v5 + 48), end='')
elif 10 <= v5 < 36: # ASCII码 (97-87) ~ (122-87) = 【10,35】
print(chr(v5 + 87), end='')
else: # 同上。
print(chr(v5 + 29), end='')
# flag{j0rXI4bTeustBiIGHeCF70DDM}
flag{j0rXI4bTeustBiIGHeCF70DDM}