2025 御网杯 RE wp

Re1

解压发现是python的exe

御网杯-4
解包
御网杯-5
找个网站反编译一下
御网杯-6
发现附件的加密逻辑 写个脚本解密一下

1
2
3
4
5
6
7
8
9
10
enc = 'eqEnc6'  
decry = 'decry.txt'
with open(enc, 'rb') as f:
data = f.read()
key = 'eq verySimple'
dec = []
for index, byte in enumerate(data):
dec.append(byte ^ ord(key[index % len(key)]))
with open(decry, 'wb') as f2:
f2.write(bytes(dec))

看一下得到的decry.txt 发现是一堆方程式 结合题目名可知用z3求解 直接写脚本即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
from z3 import *  

x = [BitVec(f'x_{i}', 8) for i in range(38)]

s = Solver()
for a in x:
s.add(a >= 32, a <= 126)

s.add(
8 * (x[0] * x[22]) - 7 * (x[10] * x[28]) - 6 * (x[10] * x[31]) + 8 * (x[10] * x[9]) + 4 * (x[11] * x[14]) + 6 * (
x[12] * x[9]) - 6 * (x[13] * x[26]) + 5 * (x[17] * x[2]) + 9 * (x[17] * x[33]) - 8 * (
x[17] * x[9]) + 9 * (x[18] * x[2]) - 2 * (x[19] * x[30]) + 3 * (x[19] * x[31]) - 2 * x[20] * x[
20] + 2 * (x[22] * x[6]) - 6 * (x[23] * x[27]) - x[24] * x[9] + 6 * (x[26] * x[7]) + 9 * (x[26] * x[9]) + 9 * (
x[28] * x[8]) + 8 * (x[29] * x[34]) + 4 * (x[33] * x[9]) - 7 * x[8] * x[8] - 134044 == 0,
4 * (x[0] * x[19]) + 9 * (x[10] * x[23]) + 4 * (x[10] * x[24]) + 9 * (x[11] * x[6]) - 6 * (x[14] * x[26]) - 3 * (
x[14] * x[27]) + 4 * (x[15] * x[19]) + 10 * (x[16] * x[25]) + 4 * (x[19] * x[30]) - 8 * (
x[2] * x[26]) + 10 * (x[21] * x[37]) + 10 * (x[23] * x[8]) + 5 * (x[25] * x[8]) - 4 * (
x[26] * x[30]) + 4 * (x[28] * x[31]) + 5 * (x[4] * x[9]) - 380404 == 0,
-5 * (x[0] * x[1]) + 9 * (x[0] * x[2]) - 6 * (x[0] * x[5]) - x[12] * x[8] - 8 * (x[13] * x[15]) + 6 * (
x[14] * x[26]) + 3 * (x[17] * x[6]) + 3 * x[17] - 4 * (x[2] * x[20]) + x[21] * x[37] - x[24] * x[
30] + 3 * x[24] - x[29] * x[7] + 10 * (x[30] * x[36]) + x[30] * x[9] - 8 * (x[31] * x[37]) - 2 * x[
36] + 88387 == 0,
x[0] * x[5] - 2 * (x[1] * x[14]) + 10 * (x[10] * x[24]) + 8 * (x[10] * x[31]) - 7 * (x[13] * x[25]) - 4 * (
x[14] * x[19]) + 5 * (x[15] * x[29]) - 6 * (x[17] * x[18]) - x[17] * x[27] + 4 * (x[18] * x[7]) + 7 * (
x[19] * x[21]) + 3 * (x[19] * x[34]) + 5 * (x[20] * x[30]) + x[20] * x[7] + 2 * (
x[21] * x[25]) - 161788 == 0,
5 * (x[1] * x[3]) - 6 * (x[1] * x[32]) + 6 * (x[12] * x[34]) + 9 * (x[16] * x[5]) + 2 * (x[20] * x[28]) + 6 * (
x[22] * x[24]) - 7 * (x[24] * x[31]) + x[27] * x[35] - x[28] * x[6] + 5 * (x[29] * x[5]) - 8 * (
x[31] * x[33]) - 84847 == 0,
x[0] * x[27] + 9 * (x[16] * x[26]) + 6 * (x[16] * x[37]) - 2 * (x[17] * x[32]) - x[20] * x[28] + 3 * (
x[20] * x[35]) + 5 * (x[23] * x[33]) + 6 * (x[25] * x[37]) + 6 * (x[28] * x[6]) + 2 * (
x[31] * x[7]) + 4 * (x[5] * x[9]) - 178286 == 0,
-7 * (x[13] * x[25]) + 9 * (x[14] * x[9]) - 4 * (x[15] * x[19]) + 5 * (x[15] * x[35]) - 3 * (x[18] * x[36]) + x[2] *
x[28] + 9 * (x[23] * x[28]) + 4 * (x[25] * x[28]) + 5 * (x[29] * x[4]) - x[30] * x[8] - 8 * (
x[4] * x[6]) - 60455 == 0,
x[0] * x[33] - x[1] * x[10] + 6 * (x[11] * x[9]) + 4 * (x[12] * x[4]) + 4 * (x[13] * x[17]) + 10 * (x[16] * x[19]) -
x[18] * x[2] - x[19] * x[5] - x[2] * x[6] - 5 * (x[26] * x[28]) - 2 * (x[29] * x[35]) + 7 * (x[30] * x[35]) + 10 * (
x[30] * x[5]) - 6 * (x[31] * x[5]) + 6 * x[35] * x[35] + 8 * x[8] * x[8] + x[8] - 154828 == 0,
-4 * (x[12] * x[20]) - 8 * (x[13] * x[33]) - 8 * (x[14] * x[36]) - 7 * (x[15] * x[4]) - 3 * (x[16] * x[6]) - 7 * x[
2] * x[2] - 3 * (x[20] * x[21]) + x[21] * x[30] - 5 * (x[21] * x[7]) + 3 * x[32] * x[32] + 2 * (
x[32] * x[9]) + 195533 == 0,
-5 * (x[1] * x[11]) - 3 * (x[10] * x[14]) + 3 * (x[12] * x[28]) - 3 * (x[13] * x[16]) - 4 * (x[13] * x[27]) - 2 * (
x[13] * x[31]) - 6 * (x[14] * x[3]) - 5 * (x[14] * x[36]) - 6 * (x[15] * x[2]) + 4 * (
x[15] * x[33]) - 6 * (x[16] * x[27]) + 10 * (x[18] * x[29]) + 8 * (x[22] * x[33]) - 4 * (x[26] * x[6]) -
x[27] * x[6] - 8 * (x[30] * x[6]) + 8 * x[33] * x[33] - 5 * (x[4] * x[9]) + 158981 == 0,
4 * (x[0] * x[16]) + 2 * (x[10] * x[33]) + 10 * (x[12] * x[21]) - 7 * (x[16] * x[25]) + 3 * (x[22] * x[4]) - 6 * (
x[26] * x[9]) + 4 * (x[3] * x[4]) + 9 * (x[30] * x[37]) + 10 * (x[35] * x[6]) + 7 * (
x[36] * x[9]) - 213234 == 0,
10 * (x[1] * x[37]) + 5 * (x[10] * x[22]) - x[13] * x[18] + 7 * (x[15] * x[29]) - 5 * (x[15] * x[35]) + x[16] * x[
24] - 4 * (x[16] * x[3]) - 2 * (x[16] * x[30]) + 8 * (x[16] * x[8]) - x[17] * x[2] - 3 * (x[18] * x[6]) + 7 * (
x[19] * x[33]) + 3 * (x[20] * x[25]) + 8 * (x[20] * x[5]) + 10 * (x[21] * x[26]) - 2 * (
x[22] * x[3]) + 10 * (x[3] * x[6]) + 2 * (x[7] * x[8]) - 326138 == 0,
4 * (x[10] * x[18]) + 7 * (x[10] * x[4]) - 7 * (x[11] * x[31]) - 2 * (x[12] * x[31]) - x[13] + 8 * (
x[14] * x[5]) - 3 * x[14] - x[17] * x[8] - 7 * (x[19] * x[29]) + 4 * (x[2] * x[28]) - 6 * (
x[20] * x[33]) + 9 * (x[21] * x[37]) + 7 * (x[25] * x[36]) + x[26] * x[31] - 5 * (x[26] * x[34]) + 3 * (
x[4] * x[7]) - 139055 == 0,
-4 * (x[1] * x[3]) - 4 * x[10] * x[10] + 3 * (x[10] * x[24]) - 2 * (x[10] * x[4]) - 6 * (x[11] * x[12]) - 6 * (
x[11] * x[35]) + 3 * (x[12] * x[2]) + 5 * (x[13] * x[16]) - 2 * (x[13] * x[3]) + x[17] * x[26] + 10 * (
x[19] * x[23]) + x[20] * x[37] + 6 * (x[20] * x[7]) - 7 * (x[22] * x[32]) + 7 * (x[26] * x[36]) - x[
28] * x[33] + x[30] * x[6] + 8 * x[31] + 9 * (x[7] * x[8]) + 2130 == 0,
-7 * (x[12] * x[14]) - 3 * x[14] * x[14] + 8 * (x[18] * x[35]) - 5 * (x[19] * x[28]) + 8 * (x[2] * x[30]) + 9 * x[
20] * x[20] + 10 * (x[26] * x[7]) - 4 * (x[37] * x[4]) - 3320 == 0,
-4 * (x[11] * x[17]) - x[13] * x[13] + 8 * (x[14] * x[5]) - 4 * (x[16] * x[33]) + 3 * (x[18] * x[27]) - 5 * (
x[18] * x[9]) + 8 * (x[2] * x[36]) + 2 * (x[20] * x[24]) + 9 * (x[22] * x[23]) + x[28] * x[
31] - 140760 == 0,
-7 * (x[0] * x[25]) - 6 * (x[1] * x[24]) + 3 * (x[12] * x[22]) - 4 * x[12] + 2 * (x[13] * x[16]) - 5 * (
x[13] * x[31]) - 3 * (x[19] * x[36]) - 8 * (x[2] * x[28]) - x[25] * x[8] + 5 * (x[26] * x[6]) - 4 * (
x[30] * x[32]) - x[30] * x[37] + 8 * x[31] + 7 * (x[33] * x[34]) + 131023 == 0,
2 * (x[0] * x[7]) + 9 * (x[1] * x[17]) - 8 * (x[10] * x[12]) - 3 * (x[11] * x[18]) + 7 * (x[13] * x[31]) + 9 * (
x[16] * x[30]) + x[17] * x[6] + 8 * (x[18] * x[5]) + 2 * (x[19] * x[3]) + 5 * (x[19] * x[34]) - 8 * (
x[2] * x[5]) + 7 * (x[20] * x[24]) + 3 * (x[23] * x[32]) - 5 * (x[28] * x[35]) + 10 * (
x[28] * x[36]) + 4 * (x[28] * x[6]) - 5 * (x[30] * x[4]) - 5 * (x[31] * x[4]) - 39651 == 0,
x[0] * x[20] + 6 * (x[1] * x[20]) - 7 * (x[13] * x[25]) - 7 * (x[15] * x[7]) + 3 * (x[20] * x[21]) + 9 * (
x[20] * x[25]) + 4 * (x[20] * x[3]) + 2 * (x[20] * x[9]) + 9 * (x[21] * x[29]) + 7 * (
x[21] * x[37]) + 8 * x[22] * x[22] + 6 * (x[23] * x[29]) - 2 * (x[24] * x[26]) - x[26] * x[35] - 4 * (
x[27] * x[30]) - 4 * (x[30] * x[31]) + 2 * (x[35] * x[8]) + 10 * (x[37] * x[5]) - 316796 == 0,
5 * (x[0] * x[5]) + 6 * (x[11] * x[28]) + 5 * (x[11] * x[4]) - 3 * (x[12] * x[29]) - 7 * (x[13] * x[4]) + 10 * (
x[15] * x[20]) + 10 * (x[15] * x[6]) + 10 * (x[17] * x[28]) - x[17] * x[4] + 10 * (x[17] * x[5]) + 3 * (
x[20] * x[34]) + 7 * (x[21] * x[26]) + x[21] * x[34] - 4 * (x[21] * x[7]) + 5 * (x[22] * x[31]) - 6 * (
x[24] * x[37]) - 7 * (x[26] * x[9]) + 9 * (x[31] * x[8]) + 6 * (x[33] * x[34]) - 4 * (
x[34] * x[35]) - 3 * x[35] - 286153 == 0,
8 * (x[0] * x[20]) - 8 * (x[1] * x[26]) + 9 * (x[10] * x[25]) - 7 * (x[11] * x[9]) - x[15] * x[26] - 3 * (
x[17] * x[26]) - 3 * (x[18] * x[6]) + 6 * (x[2] * x[20]) + 7 * (x[20] * x[4]) + 5 * (
x[21] * x[30]) - 2 * (x[22] * x[4]) - x[24] + 9 * (x[30] * x[4]) + 10 * (x[33] * x[5]) - 168098 == 0,
-2 * (x[0] * x[13]) - 7 * (x[0] * x[4]) + 8 * x[10] + 6 * (x[11] * x[29]) + x[12] * x[21] + 2 * (x[13] * x[29]) - x[
13] * x[33] + 9 * (x[15] * x[22]) - 7 * (x[21] * x[27]) - 6 * (x[21] * x[4]) - 5 * (x[22] * x[9]) - 2 * (
x[23] * x[37]) + 8 * (x[24] * x[28]) - 5 * (x[27] * x[31]) + 6 * (x[3] * x[35]) + 6 * (
x[34] * x[9]) + 53140 == 0,
x[0] * x[15] + 10 * (x[10] * x[6]) - 4 * (x[18] * x[30]) - x[21] * x[36] + 10 * (x[22] * x[3]) - 6 * (
x[24] * x[29]) + 2 * (x[24] * x[6]) - 4 * (x[26] * x[28]) + 3 * (x[27] * x[33]) - 3 * (
x[29] * x[32]) + 2 * (x[3] * x[36]) + 4 * x[32] * x[32] - 77977 == 0,
-5 * (x[0] * x[18]) + 6 * (x[10] * x[11]) + 8 * (x[10] * x[33]) + 3 * (x[16] * x[30]) + 10 * (x[16] * x[34]) - 2 * (
x[18] * x[26]) + 7 * (x[23] * x[24]) - x[24] * x[24] + x[26] * x[7] + 3 * (x[30] * x[6]) - 8 * x[4] * x[
4] - 24347 == 0,
9 * (x[0] * x[13]) - 7 * (x[0] * x[6]) + x[10] * x[6] + 2 * (x[11] * x[16]) - 7 * (x[11] * x[5]) - 4 * x[12] * x[
12] - 3 * (x[13] * x[26]) - 7 * (x[16] * x[8]) + 9 * (x[17] * x[21]) + 3 * (x[21] * x[22]) + 9 * (
x[21] * x[34]) - x[26] * x[28] - 7 * x[28] - 5 * (x[31] * x[4]) + 10 * (x[31] * x[7]) + 62888 == 0,
-3 * (x[0] * x[34]) - 5 * (x[1] * x[24]) + 3 * (x[1] * x[32]) + x[1] * x[9] - 3 * (x[10] * x[22]) - 6 * (
x[11] * x[8]) + 3 * (x[12] * x[17]) + 10 * (x[13] * x[26]) + 9 * (x[14] * x[29]) + 3 * (
x[17] * x[4]) - 2 * (x[17] * x[8]) + 9 * (x[19] * x[28]) - 4 * (x[2] * x[29]) - 4 * (
x[22] * x[26]) - 2 * (x[22] * x[34]) + 9 * x[24] * x[24] + 4 * (x[24] * x[33]) - 2 * (
x[24] * x[8]) + 7 * (x[25] * x[37]) + 7 * (x[26] * x[4]) + 2 * (x[27] * x[37]) + 6 * (
x[27] * x[5]) - 7 * (x[27] * x[7]) - 2 * (x[29] * x[8]) - 2 * (x[8] * x[9]) - 84926 == 0,
-6 * (x[1] * x[27]) + 5 * x[1] + x[14] * x[34] - x[14] * x[35] - 4 * (x[15] * x[2]) + 9 * (x[15] * x[3]) - x[21] *
x[30] - x[22] * x[34] + 8 * (x[23] * x[24]) - 8 * (x[24] * x[29]) + 7 * x[28] - 6 * (x[29] * x[31]) + 2 * (
x[31] * x[34]) + x[31] * x[7] - 7 * (x[33] * x[4]) + 4 * (x[36] * x[9]) + 10 * x[5] + 79219 == 0,
7 * (x[0] * x[36]) - 6 * x[1] * x[1] + 7 * (x[1] * x[33]) + 7 * (x[1] * x[6]) + 3 * (x[12] * x[31]) + 8 * (
x[16] * x[24]) - 6 * (x[2] * x[22]) + 9 * (x[21] * x[34]) + 4 * (x[26] * x[28]) + 10 * (
x[3] * x[31]) - 4 * x[33] * x[33] - 2 * (x[37] * x[8]) - 187557 == 0,
8 * (x[0] * x[37]) - 6 * (x[0] * x[4]) + 8 * (x[10] * x[6]) + 2 * (x[13] * x[26]) + 3 * (x[15] * x[3]) + 3 * (
x[16] * x[36]) + 5 * (x[2] * x[24]) + 10 * (x[21] * x[31]) - 4 * (x[23] * x[6]) - 8 * (
x[30] * x[32]) - 5 * (x[32] * x[36]) + 4 * (x[33] * x[37]) + 5 * (x[33] * x[6]) - 2 * x[34] + 5 * x[
36] - 2 * x[8] * x[8] - 127612 == 0,
-8 * x[0] * x[0] - 2 * (x[14] * x[35]) + x[16] * x[19] + 5 * (x[16] * x[31]) + x[2] * x[8] + x[22] * x[22] + 5 * (
x[26] * x[3]) + 3 * (x[27] * x[29]) + 10 * (x[34] * x[9]) - 22547 == 0,
7 * (x[10] * x[22]) + 8 * (x[10] * x[29]) - 8 * x[12] - 6 * (x[15] * x[37]) - 6 * (x[16] * x[20]) - 6 * (
x[16] * x[3]) + 10 * (x[18] * x[5]) - 5 * (x[2] * x[8]) - 2 * (x[22] * x[35]) - 3 * (
x[22] * x[7]) + 10 * x[22] + 8 * (x[27] * x[28]) + 10 * (x[28] * x[4]) - 3 * (x[3] * x[33]) + 2 * x[
31] - 105931 == 0,
-7 * (x[1] * x[12]) - 8 * (x[10] * x[16]) - 8 * (x[11] * x[26]) - 4 * (x[11] * x[5]) + 5 * (x[12] * x[14]) + 5 * (
x[13] * x[26]) - 8 * (x[15] * x[9]) - 6 * (x[18] * x[3]) + x[21] * x[9] - 2 * (x[25] * x[27]) + 10 * (
x[26] * x[7]) + 6 * x[26] + 9 * (x[27] * x[32]) + 5 * (x[3] * x[6]) + 7 * x[3] - 4 * (
x[33] * x[5]) + 139254 == 0,
5 * (x[0] * x[8]) + 4 * (x[0] * x[9]) + 2 * (x[12] * x[27]) + 5 * (x[12] * x[31]) - 2 * (x[12] * x[9]) + x[14] * x[
20] - 8 * (x[17] * x[20]) - 4 * (x[17] * x[31]) - 4 * (x[18] * x[4]) + 4 * (x[2] * x[23]) - 8 * (
x[20] * x[3]) - 2 * (x[21] * x[30]) - 8 * (x[24] * x[6]) + 5 * (x[27] * x[30]) - 6 * (
x[32] * x[5]) + 8620 == 0,
8 * (x[0] * x[29]) + 2 * (x[1] * x[17]) + 6 * (x[10] * x[4]) + 4 * (x[12] * x[19]) + 5 * x[13] * x[13] + 2 * (
x[13] * x[26]) + x[14] * x[26] + 3 * x[16] + 4 * (x[17] * x[2]) + 6 * (x[17] * x[21]) + 8 * (
x[17] * x[26]) + 5 * (x[19] * x[35]) + 10 * (x[2] * x[28]) - 5 * (x[22] * x[29]) + 3 * (
x[25] * x[32]) + 7 * (x[26] * x[7]) + 9 * (x[31] * x[5]) - 2 * x[34] * x[34] - 406015 == 0,
9 * (x[1] * x[2]) + 4 * (x[1] * x[36]) - 3 * (x[11] * x[31]) + 7 * (x[13] * x[8]) + 3 * (x[15] * x[3]) + x[16] * x[
26] + 4 * (x[17] * x[23]) - 2 * (x[2] * x[21]) + 5 * x[2] - 3 * (x[23] * x[25]) + 4 * (x[25] * x[7]) + 4 * (
x[3] * x[4]) + x[31] * x[37] + 7 * (x[32] * x[36]) - 262436 == 0,
x[1] * x[26] + 5 * (x[1] * x[37]) + 4 * (x[11] * x[3]) + x[12] * x[29] - 2 * (x[13] * x[4]) - 4 * (
x[15] * x[26]) + 2 * (x[16] * x[26]) - 2 * (x[19] * x[22]) + 7 * x[19] + 3 * (x[2] * x[31]) + 9 * (
x[21] * x[29]) + 7 * (x[30] * x[36]) + 5 * (x[31] * x[32]) - 6 * (x[36] * x[6]) - 2 * x[
8] - 205386 == 0,
-3 * (x[10] * x[4]) + 7 * (x[13] * x[31]) - 8 * (x[17] * x[8]) + 10 * (x[18] * x[32]) - 7 * (x[18] * x[36]) - 6 * (
x[2] * x[33]) - 3 * (x[23] * x[25]) - 7 * (x[26] * x[35]) + x[27] * x[31] - 5 * (
x[28] * x[32]) + 122684 == 0,
9 * (x[0] * x[20]) - 5 * (x[0] * x[26]) + 4 * (x[1] * x[23]) - 2 * (x[13] * x[25]) + 6 * (x[14] * x[23]) + 7 * (
x[14] * x[36]) + 10 * (x[15] * x[3]) - 3 * x[17] * x[17] + 6 * (x[19] * x[25]) + x[20] * x[5] - 8 * (
x[22] * x[29]) + 8 * (x[23] * x[27]) + 6 * (x[26] * x[31]) + 8 * (x[3] * x[5]) - 5 * (
x[31] * x[7]) - 4 * (x[34] * x[6]) - x[35] * x[7] - 268486 == 0
)
if s.check() == sat:
model = s.model()
flag = ""
for i in range(38):
val = model[x[i]].as_long()
flag += chr(val)
print(f"x[{i}] = {val} -> {chr(val)}")
print(flag)
else:
print("noooooooooooooooooooooooooooooooo")
#flag{d20b0ef93913197024a27756d7c3181c}

得到flag

Re3

有upx壳 upx -d脱掉
御网杯
ida打开附件 根据函数名可以看出是rc4加密
御网杯-1
打断点起调试拿到flag
御网杯-3

御网杯-2

flag{9bb8dc2af053d3a8f9d5f410eb5278a5}

Re4

打开网站 看源码 发现flag就在下方 修改一下即可
御网杯-7