DAYTEADMINKU
---
значения от 54 до ad говорят либо о ascii, результате шифра замены, или (возможно) xor-based крипты
перевел в десятеричную систему:
hex_values = [0x98, 0x95, 0xad, 0xa8, 0x99, 0x54, 0x95, 0x98, 0xa1, 0x9d, 0xa2, 0x9f, 0xa9]
print([int(x) for x in hex_values])
результат: [152, 149, 173, 168, 153, 84, 149, 152, 161, 157, 162, 159, 169]
большинство значений между 149 и 173, один заметный 84, и распределение ритмическое
такой рейндж говорит о том что:
- (скорее всего) результат в ASCII (0-255)
- значения, скорее всего, зашифчены
- скорее всего используется константный ключ или трансформ
чекнем результат:
values = [152, 149, 173, 168, 153, 84, 149, 152, 161, 157, 162, 159, 169]
differences = [values[i+1] - values[i] for i in range(len(values)-1)]
print(differences)
# [-3, 24, -5, -15, -69, 65, 3, 9, -4, 5, -3, 10]
самые большие прыжки в значениях: -69 и +65 (рядом с тем значением 84); этот шифт скорее всего означает важную позицию в шифре. паттерн ритмичен. такое очень свойственно цикличным алгоритмам.
differences = [-3, 24, -5, -15, -69, 65, 3, 9, -4, 5, -3, 10]
max_jump = max(abs(x) for x in differences)
print(f"max absolute jmp: {max_jump}")
print(f"avg jump: {sum(differences)/len(differences)}")
# max absolute jmp: 69
# avg jump: 1.4166666666666667
судя по прыжку:
- тренд символов на повышение
- шифр прогрессирует относительно стабильно
- алгоритм шифрования контролируемый
original = [152, 149, 173, 168, 153, 84, 149, 152, 161, 157, 162, 159, 169]
normalized = [x - min(original) for x in original]
print(f"Normalized values: {normalized}")
# Normalized values: [68, 65, 89, 84, 69, 0, 65, 68, 77, 73, 78, 75, 85]
что очень похоже на ASCII:
normalized = [68, 65, 89, 84, 69, 0, 65, 68, 77, 73, 78, 75, 85]
decoded = ''.join(chr(x) for x in normalized)
print(f"ASCII interpretation: {decoded}")
# ASCII interpretation: DAYTEADMINKU
итог:
def decrypt_string(hex_string: str) -> str:
hex_values = hex_string.split()
decrypted = [int(x, 16) - 84 for x in hex_values]
return ''.join(chr(x) for x in decrypted)
время: 3 минуты, 10 минут на врайтап