Знать, была ли программа отредактирована клиентом
У меня есть сервер, который может обрабатывать клиентов, которые используют мою программу. Как я могу узнать, что клиент (умный клиент) редактировал мою программу и не использует оригинальную программу? (например, он разобрал мою программу, отредактировал и скомпилировал ее для читерских целей)
1 ответ
Если под "использованием вашей программы" вы подразумеваете, что входные данные, которые получает ваш сервер, поступают из неизмененной версии того, что вы распространяли, все, что вы можете сделать, - это затруднить кому-либо мошенничество. Вы никогда не можете быть уверены на 100%.
Вы можете запросить отправку контрольной суммы клиентской программы вместе с запросом, но это может быть ошибкой: это не обязательно должна быть реальная контрольная сумма.
Вы можете запросить более сложную проверку, вплоть до доказательства с нулевым разглашением, но вы не можете быть уверены, что какой-то код на стороне клиента вмешался, чтобы запустить проверку с вашим кодом, но затем запустить модифицированный код для других частей.
В худшем случае, вы бронировали все, но он все еще должен работать на машине, поэтому атакующий создает собственную виртуальную машину, чтобы связываться с вашей головой.
Вместо этого вы можете подумать о том, "что достаточно хорошо?". Как только вы узнаете ключевые вещи, которые вы хотите защитить, найдите способ протестировать их специально. Это был бы более конкретный вопрос....