Как проверить на подлинность файла?

Скажем, я пишу игровое приложение. Я хочу, чтобы уровень плеера был сохранен во внешнем файле.

Как я могу препятствовать тому, чтобы хакер писал и изменил файл для помещения другого уровня? Я хочу, чтобы файл был изменен моим приложением только.

Я могу подписать содержание файла с ключом, но затем этот ключ будет сохранен в приложении, поэтому для хакера было бы возможно декомпилировать двоичный файл и найти ключ.

Там какой-либо путь состоит в том, чтобы сделать это?

1
задан Ale_x 9 June 2010 в 09:35
поделиться

4 ответа

Нет, просто не существует безопасного способа сделать это. Что бы ни могло делать ваше приложение, злоумышленник всегда может реплицировать.

Если это просто настольная игра, вы можете избежать наказания за безопасность через безвестность. Но если он должен быть безопасным, единственный выход - хранить эту информацию на своих серверах.

2
ответ дан 2 September 2019 в 23:55
поделиться

В дополнение к тому, что все остальные сказали, вы также должны учитывать тот факт, что пока приложение загружено в память компьютера, ничто не мешает кому-то просто изменить уровень (или любое другое значение, если на то пошло), просто сканируя память, пока они не найдут нужное значение, а затем заменить его, поэтому вы, вероятно, должны рассмотреть возможность проверки аномального увеличения любого значения.

0
ответ дан 2 September 2019 в 23:55
поделиться

Вы можете использовать алгоритмы хеширования с симметричным ключом или парами открытого / закрытого ключей. вы можете проверить MAC (код аутентификации сообщения), чтобы понять, эти методы обеспечат целостность и ключ аутентификации файла.

alt text

0
ответ дан 2 September 2019 в 23:55
поделиться

Один из простых способов - начать с контрольной суммы. Вычислите контрольную сумму при изменении файла и сохраните его. Когда вам нужно проверить подлинность, пересчитайте контрольную сумму и сравните ее с сохраненным вами значением. Это не 100% гарантия, но она проста и может быть достаточной для ваших нужд.

0
ответ дан 2 September 2019 в 23:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: