re | [GKCTF2020]Chelly's identity

这是一道windows逆向,采用vs2019编译,可以说被恶心到了,乱七八糟的函数和跳转,造成了很大的干扰,不过可以说比较考验思维的清晰度了。

主函数中的重点就这几处,检测长度、加密、比较。

整个过程我思路真的比较混乱,所以就不写了,等水平足够了再回来整理一下。

直接丢脚本好了:

 1 def su(x):
 2     for i in range(2,x):
 3         if x % i == 0:
 4             return False
 5     return True
 6 def add(n):
 7     sum = 0
 8     for i in range(n):
 9         if i in su_list:
10             sum += i
11     return sum
12 
13 #生成素数list    
14 su_list = [x for x in range(2,128) if su(x)]
15 _flag = [438,1176,1089,377,377,1600,924,377,1610,924,637,639,376,566,836,830]
16 
17 k = 0
18 for i in _flag:
19     for j in range(32,127):
20         if j ^ add(j) == _flag[k]:
21             print(chr(j), end="")
22     k += 1

直接getflag。

原文地址:https://www.cnblogs.com/Mz1-rc/p/13691159.html