Форум программистов, компьютерный форум CyberForum.ru

Защита файла от ручного редактировния - C++

Восстановить пароль Регистрация
 
SFMLoper
2 / 2 / 2
Регистрация: 24.01.2016
Сообщений: 20
17.06.2016, 21:30     Защита файла от ручного редактировния #1
Как защитить файл сохранения, или файла профиля от нежелательного редактирования, чтобы пользователи не злоупотребляли "читерством" - введя свои "over1000000hp godMode" значения в файл? В формате txt хранить данные пользователя как-то не гуманно, подскажите как правильно реализовать задуманное? )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2016, 21:30     Защита файла от ручного редактировния
Посмотрите здесь:

C++ Разработать программу ручного ввода с клавиатуры произвольной траектории с изображением вводимой траектории на экране
C++ Ввод/вывод имени и пути файла, а также защита от дурака
Замена ручного ввода элементов матрицы на автоматическое C++
C++ Замена ручного ввода элементов матрицы на автоматический
C++ Замена ручного ввода элементов массива на автоматический
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hikari
Хитрая блондиночка $)
 Аватар для Hikari
1336 / 899 / 272
Регистрация: 21.12.2015
Сообщений: 3,601
17.06.2016, 21:32     Защита файла от ручного редактировния #2
Шифровать конечно же. Чем-то криптостойким.
Terrr
4 / 4 / 1
Регистрация: 28.04.2015
Сообщений: 12
Завершенные тесты: 1
17.06.2016, 22:15     Защита файла от ручного редактировния #3
А смысл? Всё равно вы не защититесь от программ типо CheatEngine и ArtMoney, которые ищут, отслеживают и изменяют значения в ОЗУ.
Renji
1534 / 982 / 240
Регистрация: 05.06.2014
Сообщений: 2,958
17.06.2016, 23:11     Защита файла от ручного редактировния #4
Простейшее решение - хранить контрольную сумму сохранения. Кому сильно надо - взломает, но тупо редактировать сейв в хекс-редакторе не выйдет.
Цитата Сообщение от Terrr Посмотреть сообщение
Всё равно вы не защититесь от программ типо CheatEngine и ArtMoney, которые ищут, отслеживают и изменяют значения в ОЗУ.
Если сильно надо, можно и защититься. Например, можно хранить нужное значение в форме суммы двух случайных чисел. А числа постоянно менять, чтоб пользователь ArtMoney не понял что морозить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
class protectedMoney
{
public:
    void set(int value){
        X=rand();
        Y=value-X;
    }
    int get()const{return X+Y;}
    void changeCrypt(){set(get());}
private:
    int X,Y;
};
avgoor
18.06.2016, 01:31
  #5

Не по теме:

Цитата Сообщение от Renji Посмотреть сообщение
можно и защититься.
Золотые слова, Юрий Венедиктович. Только, к сожалению, это не выгодно гейм индустрии и спокойно поиграться после трудового дня, и чтоб без читеров - не получается.

castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
18.06.2016, 07:56     Защита файла от ручного редактировния #6
Цитата Сообщение от SFMLoper Посмотреть сообщение
Как защитить файл сохранения, или файла профиля от нежелательного редактирования
Храни данные в двоичном виде и зашифруй их каким-нибудь примитивным XOR-ом. Рядовой пользователь не сломает.
Ferrari F1
Заблокирован
295 / 281 / 62
Регистрация: 27.01.2015
Сообщений: 1,890
Записей в блоге: 1
Завершенные тесты: 1
18.06.2016, 08:48     Защита файла от ручного редактировния #7
Думаю, толку от твоего шифрования будет ноль. Ну зашифруешь ты файл сохранения.
Взлом будет произведен в самом процессе игры(стыковка к процессу игры), и эти хакнутые значения запишутся в сейв файл.
Цитата Сообщение от Renji Посмотреть сообщение
C++
1
int get()const{return X+Y;}
Отладчиком это легко лечится, рано или поздно в опр. момент времени в регистр будет помещена сумма этих двух чисел, которая дефакто и будет кол-вом хп, читер просто перепишет регистр новым значением.
Renji
1534 / 982 / 240
Регистрация: 05.06.2014
Сообщений: 2,958
18.06.2016, 08:52     Защита файла от ручного редактировния #8
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Дизассемблером это легко лечится
Ни разу не. Во-первых, надо знать ассемблер, что уже отсекает большую часть игроков. Во-вторых, поиск нужного места в ассемблерном листинге - задача как минимум кушающая прилично времени. Нет, взлом все еще возможен, но он на порядок сложнее чем ArtMoney запустить.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2016, 09:08     Защита файла от ручного редактировния
Еще ссылки по теме:

Защита от повторного включения файла C++
Защита файла-сборки lib C++
C++ Защита DLL

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
18.06.2016, 09:08     Защита файла от ручного редактировния #9
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Думаю, толку от твоего шифрования будет ноль. Ну зашифруешь ты файл сохранения.
В процессе от этого тоже можно защититься, но в этой теме речь идёт о файле, так что не надо срача не по теме.
Yandex
Объявления
18.06.2016, 09:08     Защита файла от ручного редактировния
Ответ Создать тему
Опции темы

Текущее время: 23:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru