做题笔记。
下载 查壳。
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 48if 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}