九九归一
打开附件
69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 55 45 6c 45 51 56 52 34 6e 4d 32 51 73 51 33 41 4d 41 67 45 6a 38 67 39 33 6e 2f 4b 5a 34 4a 50 45 62 6d 4c 6f 50 55 33 67 48 51 36 42 48 42 64 62 41 75 65 4d 2f 34 32 46 51 46 71 6d 41 57 34 30 4f 41 42 79 49 35 5a 58 39 6b 31 65 47 4a 33 4b 79 44 41 55 43 31 7a 30 74 30 46 6b 50 4c 6b 73 58 4c 38 54 79 52 69 4e 38 77 4c 45 50 55 54 41 79 77 36 2b 73 45 41 41 41 41 41 53 55 56 4f 52 4b 35 43 59 49 49 3d 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 58 30 6c 45 51 56 52 34 6e 49 57 52 4d 51 36 41 4d 41 77 44 4c 34 6a 64 2f 50 2b 56 37 67 76 4d 55 42 59 45 53 6a 70 5a 36 75 57 69 4a 41 57 43 6c 54 70 34 33 6a 63 41 4d 59 35 37 42 69 77 4e 6a 43 78 50 6a 42 58 39 66 62 30 59 4b 35 4d 6e 63 75 38 70 79 4c 71 79 68 6c 34 4b 70 47 4e 32 38 44 56 34 77 45 33 35 44 6f 46 2b 72 67 4d 71 71 74 5a 7a 67 73 44 6a 44 6d 4f 31 4e 37 30 42 55 79 67 6d 44 59 39 45 57 77 59 41 41 41 41 41 53 55 56 4f 52 4b 35 43 59 49 49 3d 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 55 30 6c 45 51 56 52 34 6e 4d 33 51 4d 52 4b 41 4d 41 68 45 30 55 66 47 50 72 6d 42 39 37 38 64 4f 51 45 32 32 6a 6e 59 75 68 58 46 6e 2f 30 41 53 69 62 44 6e 64 64 68 54 36 64 73 47 4b 53 73 37 48 72 69 34 58 70 58 56 65 58 38 32 69 66 43 36 70 67 44 74 57 58 30 50 62 41 2f 58 4f 68 64 41 37 47 30 2f 78 6e 4d 4b 75 31 64 66 38 73 46 57 59 45 57 41 56 7a 58 32 45 4d 41 41 41 41 41 53 55 56 4f 52 4b 35 43 59 49 49 3d 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 56 30 6c 45 51 56 52 34 6e 4d 32 51 4d 51 71 41 41 41 77 44 54 33 45 2f 2f 2f 2f 4b 2b 49 49 34 69 43 41 6f 6e 65 33 53 6b 67 51 75 46 48 34 32 52 6d 78 59 62 2b 46 39 6b 45 68 70 70 6b 77 74 6b 53 6d 7a 37 52 7a 75 58 55 61 57 30 57 62 75 59 34 4e 30 79 69 78 65 2b 78 67 37 4e 35 49 76 36 38 45 69 78 4a 47 46 6f 58 35 61 44 78 61 52 5a 76 72 50 43 59 58 58 4a 43 6e 69 50 54 61 79 41 41 41 41 41 45 6c 46 54 6b 53 75 51 6d 43 43 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 5a 55 6c 45 51 56 52 34 6e 49 57 52 73 51 33 44 51 41 7a 45 2b 49 62 37 38 77 62 5a 66 79 78 76 63 42 76 51 6a 56 4d 6c 30 4b 75 36 67 75 42 42 45 6c 68 41 44 74 37 35 44 52 51 49 48 52 6b 44 7a 65 7a 42 4a 6b 30 6e 4a 6d 4c 64 65 46 4c 4e 37 4a 47 59 5a 50 52 45 4b 55 79 65 34 32 59 46 4e 70 34 53 6e 42 6c 53 39 57 2f 46 4e 79 79 38 62 75 41 61 39 32 70 32 58 53 63 66 36 4a 72 2f 6c 55 59 63 62 2f 67 41 72 73 73 74 73 70 74 67 72 35 63 41 41 41 41 41 53 55 56 4f 52 4b 35 43 59 49 49 3d 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 55 6b 6c 45 51 56 52 34 6e 4d 32 50 73 51 33 41 4d 41 7a 44 6d 44 36 67 2f 6e 2b 6c 63 67 47 37 64 43 76 67 72 4e 58 6b 51 53 43 74 56 62 69 7a 34 65 4c 4e 39 30 41 4d 7a 64 69 4a 53 64 4f 4f 6e 4d 51 36 63 6c 61 42 4c 50 66 45 41 54 57 4d 4c 71 49 35 2f 4b 78 4b 54 74 75 72 5a 6e 51 6c 56 55 66 4f 74 57 47 7a 5a 74 66 50 38 67 42 32 69 79 64 6a 50 33 35 38 6a 51 41 41 41 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 3d 3d 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 54 6b 6c 45 51 56 52 34 6e 4d 32 4f 77 52 47 41 4d 42 41 43 4e 7a 5a 77 36 62 39 4b 55 67 46 2b 54 4d 5a 48 46 4a 2f 65 69 7a 6c 32 41 50 6a 5a 53 62 59 46 78 33 78 73 52 47 65 30 74 72 65 57 63 4d 63 4b 7a 4e 43 6a 64 65 75 4b 44 45 49 51 4e 71 4f 79 51 30 35 39 32 4b 4d 4c 65 38 76 42 70 63 51 55 55 74 68 38 41 6c 72 73 47 70 59 46 2f 4a 7a 39 41 41 41 41 41 45 6c 46 54 6b 53 75 51 6d 43 43 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 59 55 6c 45 51 56 52 34 6e 49 57 50 4d 52 4c 44 51 41 67 44 39 32 37 53 77 2f 39 66 71 62 78 67 30 39 69 70 37 49 4e 4b 4d 77 69 4a 68 57 41 43 6d 32 73 65 68 4e 6a 39 76 4c 6f 46 56 66 68 79 2f 76 63 59 72 58 4d 58 42 54 70 34 78 50 4c 63 39 61 48 57 47 38 34 74 6c 69 74 41 6e 37 73 4d 4e 58 41 56 68 6f 6e 4c 4d 75 65 63 54 66 50 74 49 51 66 44 77 4c 37 54 4f 4f 55 45 38 2f 62 47 4e 54 2f 59 71 53 67 35 59 63 74 78 55 51 41 41 41 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 3d 3d 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 44 77 41 41 41 41 38 41 51 41 41 41 41 41 53 68 2b 54 66 41 41 41 41 55 6b 6c 45 51 56 52 34 6e 4d 32 50 77 52 47 41 51 41 77 43 56 78 76 67 4f 72 44 2f 37 72 41 43 2f 4b 67 66 39 66 6a 4b 69 35 6d 51 54 51 41 4c 47 56 5a 4f 50 51 30 4f 7a 6a 79 7a 62 6f 54 78 50 72 6f 35 4d 76 6c 59 76 38 78 69 45 50 75 59 63 6a 42 52 75 35 57 45 30 6b 73 32 4c 68 79 6a 31 68 30 70 74 45 79 43 32 6a 38 2f 30 77 48 48 55 78 37 2b 53 33 30 67 49 77 41 41 41 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 3d 3d
一眼16进制,转字符
随波逐流转即可
iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAAUElEQVR4nM2QsQ3AMAgEj8g93n/KZ4JPEbmLoPU3gHQ6BHBdbAueM/42FQFqmAW40OAByI5ZX9k1eGJ3KyDAUC1z0t0FkPLksXL8TyRiN8wLEPUTAyw6+sEAAAAASUVORK5CYII=iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAAX0lEQVR4nIWRMQ6AMAwDL4jd/P+V7gvMUBYESjpZ6uWiJAWClTp43jcAMY57BiwNjCxPjBX9fb0YK5Mncu8pyLqyhl4KpGN28DV4wE35DoF+rgMqqtZzgsDjDmO1N70BUygmDY9EWwYAAAAASUVORK5CYII=iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAAU0lEQVR4nM3QMRKAMAhE0UfGPrmB978dOQE22jnYuhXFn/0ASibDnddhT6dsGKSs7Hri4XpXVeX82ifC6pgDtWX0PbA/XOhdA7G0/xnMKu1df8sFWYEWAVzX2EMAAAAASUVORK5CYII=iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAAV0lEQVR4nM2QMQqAAAwDT3E////K+II4iCAone3SkgQuFH42RmxYb+F9kEhppkwtkSmz7RzuXUaW0WbuY4N0yixe+xg7N5Iv68EixJGFoX5aDxaRZvrPCYXXJCniPTayAAAAAElFTkSuQmCCiVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAAZUlEQVR4nIWRsQ3DQAzE+Ib78wbZfyxvcBvQjVMl0Ku6guBBElhADt75DRQIHRkDzezBJk0nJmLdeFLN7JGYZPREKUye42YFNp4SnBlS9W/FNyy8buAa92p2XScf6Jr/lUYcb/gArsstsptgr5cAAAAASUVORK5CYII=iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAAUklEQVR4nM2PsQ3AMAzDmD6g/n+lcgG7dCvgrNXkQSCtVbiz4eLN90AMzdiJSdOOnMQ6claBLPfEATWMLqI5/KxKTturZnQlVUfOtWGzZtfP8gB2iydjP358jQAAAABJRU5ErkJggg==iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAATklEQVR4nM2OwRGAMBACNzZw6b9KUgF+TMZHFJ/eizl2APjZSbYFx3xsRGe0treWcMcKzNCjdeuKDEIQNqOyQ0592KMLe8vBpcQUUth8AlrsGpYF/Jz9AAAAAElFTkSuQmCCiVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAAYUlEQVR4nIWPMRLDQAgD927Sw/9fqbxg09ip7INKMwiJhWACm2sehNj9vLoFVfhy/vcYrXMXBTp4xPLc9aHWG84tlitAn7sMNXAVhonLMuecTfPtIQfDwL7TOOUE8/bGNT/YqSg5YctxUQAAAABJRU5ErkJggg==iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQAAAAASh+TfAAAAUklEQVR4nM2PwRGAQAwCVxvgOrD/7rAC/Kgf9fjKi5mQTQALGVZOPQ0OzjyzboTxPro5MvlYv8xiEPuYcjBRu5WE0ks2Lhyj1h0ptEyC2j8/0wHHUx7+S30gIwAAAABJRU5ErkJggg==
这个末尾双等号
一眼base64
根据已有经验
iVBORw0K就是PNG的文件头的base64形式
所以里面是个PNG格式的图片
同时也很容易发现,iVBORw0K这个不止出现了一次
也就是说不止有一张图片
那根据题目,很好猜到会有九张图片
分别提取出来这九张图片
得到图片内容
对齐,扫描,得出flag
flag{87f2c9a3-2b7e-11ee-be56-0242ac120002}
Affine
看加密源码
写解码程序
def A(B, C):
if B == 0:
return (C, 0, 1)
D, E, F = A(C % B, B)
G = F - (C // B) * E
H = E
return (D, G, H)
def I(J, K):
D, L, _ = A(J, K)
if D != 1:
raise ValueError(f"No modular inverse for {J} under modulo {K}")
return L % K
def M(N):
O = []
for P in N:
for Q in range(32, 127):
R = 3 if Q % 2 != 0 else 127
S = I(R, 128)
if (R * Q + 3) % 128 == P:
O.append(chr(Q))
break
return ''.join(O)
T = [29, 23, 38, 56, 116, 34, 81, 75, 28, 44, 34, 44, 40, 10, 31, 79, 29, 44, 10, 79, 29, 44, 40, 10, 38, 33, 38, 50, 10, 79, 44, 31, 50, 28, 33, 44, 77, 31, 46, 75, 33, 122]
U = M(T)
print(U)
运行,拿到flag
flag{5283c5c7-d4fc-4fc7-abae-4cde3bc6d98b}
ez_moooo
def a(b: int) -> str:
c = []
while b > 0:
d = b & 0xFF
b >>= 8
e = None
for f in "abcdefghijklmnopqrstuvwxyz012345676879_-{}":
if pow(ord(f), 3, 113) == d:
e = f
break
if e is None:
raise ValueError("Decryption failed: No matching character found.")
c.append(e)
return ''.join(reversed(c))
g = 13886761501271471256742975735606875665043393810046672609286397781950883002410651016649476270428546593
h = a(g)
print(h)
运行,拿到flag
flag{1ef8d6e8-7d04-45ed-b5fb-976842142213}