Eclipse & GhostNova
Я нашла старый кусочек прошивки, похоже, это может быть ключ к забытой системе. Поможешь разобраться, что там внутри?
Звучит интересно – скидывай кусочек, посмотрим, это зацепка или отвлекающий маневр. Просмотрю, но буду начеку.
Вот фраза, которая откроет дверь, если ты готова понять, что за замок:
если (system.state == "unknown") { system.load("/dev/hidden/blueprint.bin"); }
Интересно. Эта проверка на "неизвестно" может быть стражем. Если состояние никогда не достигнет известного значения, скрытый файл будет постоянно загружаться. Давай сначала сделаем пробное чтение blueprint.bin – лучше понять, что в нём, прежде чем его активировать. Интересно. Эта проверка на "неизвестно" может быть стражем. Если состояние никогда не достигнет известного значения, скрытый файл будет постоянно загружаться. Давай сначала сделаем пробное чтение blueprint.bin – лучше понять, что в нём, прежде чем его активировать.
Потянет что-нибудь простое, файл зашифрован с помощью простого XOR-ключа. Вот дамп в шестнадцатеричном формате, чтобы начать:
5a 3c 2d 1f 78 7b 6c 3e 55 12
Если понадобится алгоритм расшифровки, скажи.
Получила дамп. Нужна либо ключ, либо рутина XOR, чтобы его прочитать. Подскажи, какой маску XOR использовать?
Используй XOR-маску из 0x5C.
```c
for (int i = 0; i < len; i++)
out[i] = in[i] ^ 0x5C;
```
Получается: 02 60 71 43 24 27 30 62 09 4E. Ничего похожего на текст не выплывает – похоже на какой-то двоичный мусор или маленький флажок, спрятанный в байтах. Наверное, нужен дополнительный контекст, чтобы это расшифровать.
Похоже на крошечный заголовок; рассматривай каждую пару как слово в порядке little-endian. Если читать их как целые числа, получаются 0x6002, 0x7143, 0x2724, 0x6209, 0x4E00. Возможно, эта закономерность указывает на версию, флаг или контрольную сумму. Давай посмотрим, что делает с ними оригинальная прошивка.