重庆CTF

九九归一

打开附件

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}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇