XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
cHAm
Бывший модмейкер
offline
Опыт: 5,291
Активность:
Небольшой PvP
Народ! Создаю я одну мапу. На ней можно прокачиваться до 450(!) уровня. Естественно за один прием прокачаться могут не многие, поэтому я разработал небольшую PvP систему. По команде "-save" игрок получает пасс. В этом пассе в зашифрованном виде содержится уровень, золото и степень прокачки абилок. Я хочу еще добавить айтемки, но 1 айтем в среднем занимает 12 символов, то есть пароль раздуется до безобразия. Можете подсказать, как сгенить пасс, содержащий 6 айтемов, чтобы он не был громоздким и его трудно было бы поломать?
З.Ы. Сейчас пасс содежит 5 частей, по 5-6 символов в каждой.
Старый 25.04.2005, 12:49
NETRAT

offline
Опыт: 83,712
Активность:
это точно, закриптованный пасс состоит из 25-30 символов - это фсе - деньги, ламбер, аттрибуты и инвентарь, правда прокачку скиллов я пока туда не вставлял - то есть при загрузке мапы все скиллы будут скинуты в 0 и выданы скиллл пойнты. Туда же входит случайные числа и проверки подлинности.

NETRAT добавил:
прадва эта фича будет гораздо лучше работать с использованием жасса
левел - 2б
аттрибуты - 2б * 3 = 6б
вещи - 1б * 6 = 6б
ресурсы - 2б + 2б = 4б
распределение скиллов - по 2б на скилл, 2б * 4 = 8б
вот и получаем 24б, схема общая, не адаптированная и не оптимизированная, поэтому возможно это займет меньше места.
Плюс сюда еще байтов 6 отведем для проверок - контрольная сумма, троссировка, получаем 30 байт
значит 6 наборов по 5 символов - вполне приемлемая схема, обычно используют от 20 до 30 символов в коде. Вот и все - достаточно просто :)

Один айтем не может занимать 12 символов - плохо продумал, в-общем если чего непонятно - пиши, могу схему написать и показать
Старый 25.04.2005, 15:43
cHAm
Бывший модмейкер
offline
Опыт: 5,291
Активность:
Тэк-с ответов меньше, чем хотелось бы... Нетрат, обьясняю, как работает моя схема:
1 часть - первые 2 буквы имени игрока и код клана
2 часть - символ прокачки, длинна оставшейся строки и уровень*кол-во букв имени игрока
3 часть - длина строки и золото*кол-во букв.
4 часть - длина уровна 1 абилки, уровень 1 абилки, длина уровна 2 абилки, уровень 2 абилки
5 часть - тоже самое, но с тремя оставшиесемя абилками
Вот... Твой пасс ООООООЧЕНЬ легко поломать и трудно интерплетировать. А айтем я собирался закриптовать так:
1 символ - длинна НОМЕРА айтема, 5-12 символов - НОМЕР айтема, 1 символ - кол-во зарядов.
Старый 29.04.2005, 16:48
NETRAT

offline
Опыт: 83,712
Активность:
ну канешна если ты так все выложишь как есть, то сломать просто. Для этого есть масса алгоритмов и этим занимается предмет Криптография и защита данных, так что предложенный тобой вариант не самый надежный и тоже достаточно геморный. Никаких трудностей интерпретации не вижу. Что то я в варкрафте не видел такой схемы, которая трудно взламывается - элементарно берем депротектор, выковыриваем триггеры и все! Я так пару карт с кодами поломал и написал генератор кодов.

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

Нафига ты ваще везде берешь длинну? ЧТо за длинны оставшейся строки - это не очень понимаю зачем.

Первая часть - слишком длинный код клана - модно тоже 2 символа взять.
Вторая часть нормуль за искл. длинны.
Третья часть нормуль за искл. длинны.
Четвертая часть так же.
И пятая так же.
А вот уж совсем непонятно почему айтем жрет 5-12 символов - что в игре будет более 350000000 айтемов?
На номер айтема достаточно 1-2 символа и длинна не нужна.

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

То что ты описал я бы назвал rapid resource using. Отдача слишком мала - вводить с клавы 50 бессмысленных символов - это слишком!

Я могу написать тестовую прожку, которая будет кодить входящие данные, мне интересно насколько быстро ты сможешь там распознать их :)

В-опсчем тут два варианта - либо ты не совсем понимаешь о чем я, либо я не понимаю о чем ты...
Старый 29.04.2005, 18:08
cHAm
Бывший модмейкер
offline
Опыт: 5,291
Активность:
Ну, е мое. Обьясняю подробнее:
"Первая часть - слишком длинный код клана - модно тоже 2 символа взять."
Че-то не понял... Код клана либо "da"(темный) либо "li"(светлый).
Длинна для правильного интерплетирования. Т.е. Значение уроня героя может быть и 1 символ и 2 и 4. Чтобы не взять лишнего, я просто пишу, скока символов считать за уровень.
Теперь про айтемы:
например "I00H" выводится как номер "I" номер "0" номер "0" номер "H". А номер 1 буквы может занимать до 3 цифр. Ладно, я выложу енту карту, посмотришь....
Старый 03.05.2005, 14:46
NETRAT

offline
Опыт: 83,712
Активность:
Все нормальные люди используют алфавит из не менее 26+26+10+10=72 символа. В опсчем, наверное я нифика не понимаю, попробую подумать на досуге
Старый 03.05.2005, 18:00
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:22.