Знать, была ли программа отредактирована клиентом

У меня есть сервер, который может обрабатывать клиентов, которые используют мою программу. Как я могу узнать, что клиент (умный клиент) редактировал мою программу и не использует оригинальную программу? (например, он разобрал мою программу, отредактировал и скомпилировал ее для читерских целей)

1 ответ

Решение

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

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

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

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

Вместо этого вы можете подумать о том, "что достаточно хорошо?". Как только вы узнаете ключевые вещи, которые вы хотите защитить, найдите способ протестировать их специально. Это был бы более конкретный вопрос....

Другие вопросы по тегам