Не нужно никакой смелости поставить виртуалку. На живую машину я бы не советовал ставить, даже если никаких следов трояна не обнаружено. Это не рутрекер
Стратег из тебя никакой, конечно. Ясно было, что для своей победы надо валить чужие работы.. но поздно давать заднюю) придется работать с тем, что имеем
Enemy1PK, если ты подпишешь код хеш-функцией даже без ника игрока, то при изменении кода и его загрузке подпись будет невалидна.
Можно и I2S(StringHash(...)) юзать, только её легко выполнить не вдаваясь в технические подробности твоей карты, я бы замаскировал хотябы под свой алфавит.
При сохранении:
"конечный код" = сейв код + подпись (хеш-функция от этого кода + соль, можно без соли) Пример: savecode + ":" + I2S(StringHash(savecode + username + map_brand_name + ещё любая привязка))
отдаёшь конечный код юзеру
При загрузке:
"конечный код" = получаешь его у юзера Пример: "abcd:efgh"
"сейв-код" = подстрока от конечного кода Пример: "abcd"
"фактическая подпись" = подстрока от конечного кода Пример: "efgh"
"ожидаемая подпись" = хеш-функция от сейв-кода Пример: I2S(StringHash("abcd" + username + map_brand_name + ещё любая привязка))
если "ожидаемая подпись" не равно "фактическая подпись", то сейв-код не валиден
Самым простым будет сделать цифровую подпись (хеш-функцией от кода с солью имени игрока, например) и добавить в конец кода.
Тогда для любого другого имени этот код будет невалиден, а при изменении любой единицы данных хеш-код будет меняться в зависимости от энтропии хеш-функции.
Она выглядит бедной даже по сравнению с любой картой из кампании TFT, это примерно уровень Reign Of Chaos, только без пасхалок, сторонних квестов и хоть каких-то ролей второго плана. Ты делал это 4 часа, а потом неделю правил баланс? Я не верю в такое)
Я ещё раз говорю, ни на что не влияю, чисто моё мнение
Ред. ScorpioT1000
» WarCraft 3 / Warcraft 3 Reforged Взломан!
» Прочее / Криптовалюта, BTC и трейдинг
» XGM Конкурсы / Зрительское голосование [Конкурс становления героев]
» XGM Конкурсы / Конкурс становления героев
Ред. ScorpioT1000
» IrInA Host Bot / Почему при запуске файла irina_connector_v5 удаляеться
Ред. ScorpioT1000
» WarCraft 3 / Разнообразие save/load кода
Можно и I2S(StringHash(...)) юзать, только её легко выполнить не вдаваясь в технические подробности твоей карты, я бы замаскировал хотябы под свой алфавит.
"конечный код" = сейв код + подпись (хеш-функция от этого кода + соль, можно без соли)
Пример: savecode + ":" + I2S(StringHash(savecode + username + map_brand_name + ещё любая привязка))
отдаёшь конечный код юзеру
"конечный код" = получаешь его у юзера
Пример: "abcd:efgh"
"сейв-код" = подстрока от конечного кода
Пример: "abcd"
"фактическая подпись" = подстрока от конечного кода
Пример: "efgh"
"ожидаемая подпись" = хеш-функция от сейв-кода
Пример: I2S(StringHash("abcd" + username + map_brand_name + ещё любая привязка))
Ред. ScorpioT1000
» WarCraft 3 / Разнообразие save/load кода
Тогда для любого другого имени этот код будет невалиден, а при изменении любой единицы данных хеш-код будет меняться в зависимости от энтропии хеш-функции.
» WarCraft 3 / [Конкурс становления героев] Аскадия: Наемник
» WarCraft 3 / [Конкурс становления героев] Алегрит
Ред. ScorpioT1000
» Администрация XGM / Отображать все ресурсы и комментарии пользователя
Ред. ScorpioT1000
» Администрация XGM / Подтверждение голоса в опросах
» WarCraft 3 / Какая версия варкрафта сейчас актуальна?
Ред. ScorpioT1000
» WarCraft 3 / Возрождение героя на Jass'е
» WarCraft 3 / Возрождение героя на Jass'е
» WarCraft 3 / Как в Вове на русском называется Brandicenere Corrotta?
» Прочее / Windows 11 – Discussion
Ред. ScorpioT1000
» Прочее / Криптовалюта, BTC и трейдинг
» Администрация XGM / Непрочитанные комменты
» Прочее / Windows 11 – Discussion
» Прочее / Windows 11 – Discussion
Ред. ScorpioT1000
» Администрация XGM / Сломаны оповещения новых комметов
» Администрация XGM / Меню проекта - это боль
Ред. ScorpioT1000
» XGM Конкурсы / Конкурс становления героев
Ред. ScorpioT1000
» XGM Конкурсы / Конкурс становления героев
» Прочее / Windows 11 – Discussion