Challenge
這是一個猜數字的題目,你送出去的東西,他會幫你用 AES.CBC decrypt.
因為不知道 key,密文解密成什麼已經不重要了,我不會知道
還好 iv 可以自己控制,iv 能幹嘛?
他會幫我 xor 我被解密的亂數呀。
能做的就是好好控制 iv ,測試我 “被解密的亂數” 跟 “正確答案” 哪顆 bit 不一樣,要不要翻過來
1bit 1bit 測試,看翻了是變大還是變小,來推測這顆該不該翻
怎麼樣知道自己翻對?
- 假設我翻了第一顆,不管狀態有沒有變,先把狀態記錄下來:
- 亂翻後面的 bit 狀態如果又變了一次: 翻對
- 亂翻後面的 bit ,狀態都不變: 翻錯
那要怎麼亂翻?
- 全部試一遍,一定會對: 100%
- 一顆一顆翻過去,但是遇到插隊的就錯了 QwQ :
正確 (server端)
vs 解密的亂數(要翻的)
1111111111...
vs 0000000011...
可以,翻過去狀態會變
1111111110...
vs 0001000011...
死,怎麼翻都不鳥你 …
- 反序,測試兩排 … :
最後想到,如果我每翻了一顆 MSB,我把後面7顆 brute force 有變就是翻對 “繼續”,沒變就是不用翻 “繼續”
因為如果連續 8 顆以上 MSB 是1 的機率很小,發生了 … 我就從算POW嘛!!!生氣 ….
緊張的看著他一顆一顆翻過去 ….
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 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253
| # b'===== Welcome to number game =====' # b'Too big\n' # 0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 1 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 2 00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 3 00110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 4 00110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 5 00110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 6 00110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 7 00110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 8 00110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 9 00110100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 10 00110100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 11 00110100010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 12 00110100010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 13 00110100010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 14 00110100010110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 15 00110100010110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 16 00110100010110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 17 00110100010110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 18 00110100010110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 19 00110100010110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 20 00110100010110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 21 00110100010110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 22 00110100010110101000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 23 00110100010110101000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 24 00110100010110101000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 25 00110100010110101000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 26 00110100010110101000001110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 27 00110100010110101000001110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 28 00110100010110101000001110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 29 00110100010110101000001110101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 30 00110100010110101000001110101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 31 00110100010110101000001110101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 32 00110100010110101000001110101100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 33 00110100010110101000001110101100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 34 00110100010110101000001110101100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 35 00110100010110101000001110101100110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 36 00110100010110101000001110101100110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 37 00110100010110101000001110101100110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 38 00110100010110101000001110101100110101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 39 00110100010110101000001110101100110101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 40 00110100010110101000001110101100110101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 41 00110100010110101000001110101100110101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 42 00110100010110101000001110101100110101110010000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 43 00110100010110101000001110101100110101110011000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 44 00110100010110101000001110101100110101110011100000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 45 00110100010110101000001110101100110101110011100000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 46 00110100010110101000001110101100110101110011100000000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 47 00110100010110101000001110101100110101110011100100000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 48 00110100010110101000001110101100110101110011100110000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 49 00110100010110101000001110101100110101110011100111000000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 50 00110100010110101000001110101100110101110011100111100000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 51 00110100010110101000001110101100110101110011100111110000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 52 00110100010110101000001110101100110101110011100111111000000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 53 00110100010110101000001110101100110101110011100111111100000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 54 00110100010110101000001110101100110101110011100111111110000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 55 00110100010110101000001110101100110101110011100111111111000000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 56 00110100010110101000001110101100110101110011100111111111100000000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 57 00110100010110101000001110101100110101110011100111111111110000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 58 00110100010110101000001110101100110101110011100111111111111000000000000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 59 00110100010110101000001110101100110101110011100111111111111100000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 60 00110100010110101000001110101100110101110011100111111111111110000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 61 00110100010110101000001110101100110101110011100111111111111110000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 62 00110100010110101000001110101100110101110011100111111111111110000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 63 00110100010110101000001110101100110101110011100111111111111110000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 64 00110100010110101000001110101100110101110011100111111111111110000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 65 00110100010110101000001110101100110101110011100111111111111110000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 66 00110100010110101000001110101100110101110011100111111111111110000000000000000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 67 00110100010110101000001110101100110101110011100111111111111110000001000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 68 00110100010110101000001110101100110101110011100111111111111110000001000000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 69 00110100010110101000001110101100110101110011100111111111111110000001010000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 70 00110100010110101000001110101100110101110011100111111111111110000001011000000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 71 00110100010110101000001110101100110101110011100111111111111110000001011100000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 72 00110100010110101000001110101100110101110011100111111111111110000001011100000000000000000000000000000000000000000000000000000000 # b'Too big\n' # 73 00110100010110101000001110101100110101110011100111111111111110000001011101000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 74 00110100010110101000001110101100110101110011100111111111111110000001011101000000000000000000000000000000000000000000000000000000 # b'Too small\n' # 75 00110100010110101000001110101100110101110011100111111111111110000001011101010000000000000000000000000000000000000000000000000000 # b'Too big\n' # 76 00110100010110101000001110101100110101110011100111111111111110000001011101011000000000000000000000000000000000000000000000000000 # b'Too small\n' # 77 00110100010110101000001110101100110101110011100111111111111110000001011101011000000000000000000000000000000000000000000000000000 # b'Too small\n' # 78 00110100010110101000001110101100110101110011100111111111111110000001011101011010000000000000000000000000000000000000000000000000 # b'Too small\n' # 79 00110100010110101000001110101100110101110011100111111111111110000001011101011010000000000000000000000000000000000000000000000000 # b'Too small\n' # 80 00110100010110101000001110101100110101110011100111111111111110000001011101011010000000000000000000000000000000000000000000000000 # b'Too small\n' # 81 00110100010110101000001110101100110101110011100111111111111110000001011101011010010000000000000000000000000000000000000000000000 # b'Too small\n' # 82 00110100010110101000001110101100110101110011100111111111111110000001011101011010011000000000000000000000000000000000000000000000 # b'Too big\n' # 83 00110100010110101000001110101100110101110011100111111111111110000001011101011010011000000000000000000000000000000000000000000000 # b'Too big\n' # 84 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010000000000000000000000000000000000000000000 # b'Too small\n' # 85 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010000000000000000000000000000000000000000000 # b'Too small\n' # 86 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100000000000000000000000000000000000000000 # b'Too small\n' # 87 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100000000000000000000000000000000000000000 # b'Too small\n' # 88 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100000000000000000000000000000000000000000 # b'Too small\n' # 89 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100100000000000000000000000000000000000000 # b'Too big\n' # 90 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100110000000000000000000000000000000000000 # b'Too small\n' # 91 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111000000000000000000000000000000000000 # b'Too big\n' # 92 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111000000000000000000000000000000000000 # b'Too big\n' # 93 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111010000000000000000000000000000000000 # b'Too big\n' # 94 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011000000000000000000000000000000000 # b'Too small\n' # 95 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011000000000000000000000000000000000 # b'Too small\n' # 96 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010000000000000000000000000000000 # b'Too big\n' # 97 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010000000000000000000000000000000 # b'Too big\n' # 98 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010100000000000000000000000000000 # b'Too big\n' # 99 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110000000000000000000000000000 # b'Too small\n' # 100 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110000000000000000000000000000 # b'Too small\n' # 101 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110100000000000000000000000000 # b'Too big\n' # 102 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110000000000000000000000000 # b'Too small\n' # 103 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110000000000000000000000000 # b'Too small\n' # 104 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110100000000000000000000000 # b'Too small\n' # 105 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110000000000000000000000 # b'Too small\n' # 106 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110000000000000000000000 # b'Too small\n' # 107 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100000000000000000000 # b'Too big\n' # 108 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100000000000000000000 # b'Too big\n' # 109 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100000000000000000000 # b'Too big\n' # 110 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100100000000000000000 # b'Too big\n' # 111 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110000000000000000 # b'Too big\n' # 112 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110000000000000000 # b'Too big\n' # 113 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110100000000000000 # b'Too big\n' # 114 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110110000000000000 # b'Too small\n' # 115 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111000000000000 # b'Too small\n' # 116 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111000000000000 # b'Too small\n' # 117 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111010000000000 # b'Too big\n' # 118 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111010000000000 # b'Too big\n' # 119 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111010000000000 # b'Too big\n' # 120 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111010010000000 # b'Too big\n' # 121 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111010010000000 # b'Too big\n' # 122 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111010010000000 # b'Too big\n' # 123 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111010010000000 # b'Too big\n' # 124 00110100010110101000001110101100110101110011100111111111111110000001011101011010011010100111011010110110110100110111010010000000 # b'Too big\n' FLAG : AIS3{ag3NTs Of S.H.I.E.L.D. - I 10V3 d4Isy J0HNs0n}'
|
謝天謝地 XD”
AIS3{ag3NTs Of S.H.I.E.L.D. - I 10V3 d4Isy J0HNs0n}
solve.py