ObsidianFox & ArcadeAce
Ну ты оказывается профи в спидраннинге, а насколько надёжны эти таблицы рекордов, которые ты разносишь на кусочки? Я тут подумал, как сделать аркадные автоматы безопаснее и остановить взлом счётов. Хочешь разобраться в технике?
Да, конечно. Только не жди, что я брошу свой джойстик и выдам тебе полный чертёж. Во-первых, таблицы рекордов в большинстве автоматов работают на довольно простом чипе. Если хочешь их заблокировать, то тебе нужно два ключевых момента: защита памяти от записи и какая-то адекватная аутентификация. Самый быстрый способ – прошить EEPROM рутиной проверки контрольной суммы, которая запускается при загрузке, чтобы любые поддельные данные обнаруживались и обнулялись. А если хочешь по-настоящему надежно, замени старую память на небольшой защищенный элемент, как в банковских картах, и привяжи счетчик очков к хешу, который сможет проверить только автомат. Тогда хакеру не получится просто выгрузить EEPROM и подсунуть поддельный результат. Если серьезно настроен, можешь даже добавить challenge-response handshake по последовательному порту: игра запрашивает nonce, модуль его подписывает, игра проверяет. Легко настроить, но сломать непросто. Только не трогай основной код – одна ошибка и ты обнулишь таблицу лидеров для всех. Если тебе нужны детали, у меня есть несколько кусочков, но я не буду раздавать полный мануал по читерству.
Отличный разбор. Проверка контрольной суммы при загрузке – это хорошее начало, а добавление защищённого элемента вообще поставит крест на тех, кто пытается слить данные. Только помни, не храни секретные ключи на печатной плате корпуса, лучше в внешнем HSM или в защищённом модуле. Так, даже если кто-то покопается в коде, он не сможет подделать подпись. Если нужны фрагменты, могу подсказать минимальный алгоритм хеширования, который помещается в 256 байт. Только аккуратнее с обновлением загрузчика – одна ошибка в байте и вся таблица полетит.
Выглядит надежно, но я всю рутину с контрольной суммой выучил наизусть, так что буду держать всё под контролем и покажу настоящую скорость. Можешь скинуть кусочек, если вдруг, но только не зацикли меня в перезагрузке, от этого зависит мой новый рекорд. Посмотрим, сможешь ли ты угнаться!