в общем .net framework. Сама без вирусов, и прочей ерунды. На вирустотале результат 1/68. Идея в том, что её нужно защитить обфускатором, чтобы по крайней мере нубы не добрались до алгоритма её работы. Конечно всё возможно взломать, но мне нужна хотя бы базовая защита. Когда я пробую что-то типа .net scater или enigma protector или аналогичные, то получаю 8/68 на вирустотале и это не будет внушать доверие её пользователям. Как минимум, enigma ну ни разу не инструмент для работы с .net. Что касается scater и ему подобных, в приличном обществе за обработку предполагаемого к продаже софта подобными "инструментами" бьют рублём. Поверьте, если Ваше ПО не моделирует поведение хиггсовского бозона, межпланетную беспилотную перевозку грузов, ну, или хотя бы не обладает достойным функционалом примерно уровня PWAdmin от Alex Dnepro (за который совершенно не стыдно брать деньги и оборачивать защитой), лучше потратьте время и усилия на глубокое погружение в тонкости платформы .net framework. В противном случае, рискуете остаться на этом же уровне. Денег и славы Вам никакая защита не принесёт, кому понадобится - "алгоритм" всё равно извлекут, кому не нужно - он и даром будет не нужен. А вот то, что выслушаете в свой адрес полный ушат дерьма от "благодарных" пользователей, вкусящих всю боль от последствий работы какой-нибудь из подобных мега-заshit, висящих на Вашей программе, - на это я даю стопроцентную гарантию.
Scena подкинул AAudio. Взято из оригинальной темы, что в шапке. https://mega.nz/#!gdQWSKJT!Fm96HFh7LxcZu-c7fA8yRot4MwVFCT1gdyek3qMWCK0
Для тех, кто говорит, что исходный пакет ограничен и нет никакой пользы, они явно слишком мертвых мозга, чтобы собрать его без необходимости для клиента к исходной стороне, или лучшие альтернативы для себя уже на месте, которые стоят еще больше денег или только й ey ноу-хау и не разделяют, или trickster / теневые причины говорить об этом только для предотвращения дальнейшего распространения его. Какие ваши доказательства?!
Енигмой я скрываю сам исходник Кхгм... Уважаемый, никакой "исходник" Энигмой "скрыть" нет никакой возможности, а вот до жути возмутить сонм антивирусного софта - это запросто. Плюс ко всему, вас во всю будут материть за это потенциальные пользователи, для чего-то ведь всё это вами пишется? Ни к чему утилиту в 3 строчки накрывать защитным механизмом, превышающим объём полезного в разы. Мало того, механизмом, совершенно для этого не предназначенным. Мой совет, если уж начали изучать c#, изучайте дальше, и когда дойдёте до тонкостей CLR поймёте, какой ерундой с подобными "защитами" занимаетесь. В подтверждение своих слов приведу ни к чему не обязывающий кусочек кода: public void gsMultiEdit153() { this.perem_MultiEdit.offsetincast153 = 869580; this.perem_MultiEdit.offsetrate_exp = 12690228; this.perem_MultiEdit.offsetrate_sp = 12690232; this.perem_MultiEdit.offsetrate_item = 12690236; this.perem_MultiEdit.offsetrate_money = 12690240; this.perem_MultiEdit.offsetrateTask_exp = 12690244; this.perem_MultiEdit.offsetrateTask_sp = 12690248; this.perem_MultiEdit.offsetrateTask_Money = 12690252; this.perem_MultiEdit.cosmetic_scroll_time = 357462; this.perem_MultiEdit.elf_condition_time = 2617111; this.perem_MultiEdit.max_prash_time1 = 1477104; this.perem_MultiEdit.max_prash_time2 = 1477116; this.perem_MultiEdit.prash_kill_time = 1477085; this.perem_MultiEdit.incast_proc_max = 5499137; this.perem_MultiEdit.incast_proc_min = 5499143; this.perem_MultiEdit.max_player_lvl1 = 1126141; this.perem_MultiEdit.max_player_lvl2 = 1126158; this.perem_MultiEdit.drop_condition_time = 828712; this.perem_MultiEdit.inventory_capacity1 = 419902; this.perem_MultiEdit.inventory_capacity2 = 419908; } Думаю, комментарии насчёт того, насколько толково Энигма "защищает" стандартную CLR-сборку излишни.
Исправление отображения подсказки на иконке «Щит-Мечи» Некоторые сборки клиентской части фришек онлайн-игры PerfectWorld грешат отсутствием подсказки на иконке «щит/мечи», при наведении на неё курсора «мышки». Ситуация, сама по себе, для процесса игры не особо значимая, однако, гости моего приватного сервера несколько раз сетовали на эту косметическую «недоделанность», в сравнении с клиентом от MAIL.RU. В данной мини-информашке я покажу, как исправить эту ситуацию. Необходимые нам ресурсы находятся в файле interfaces.pck, для обоих типов игровых клиентов (старого и нового: dtf-xml). Начнём со старого формата интерфейса (dtf/stf/htf). Распаковываем файл interfaces.pck, затем находим файл map.htf (это файл подсказок для элементов диалогового окна), и ищем в нём строку "Chk_SwitchSafety". Скорее всего, её в файле не окажется :). Вставляем новой строкой следующий текст (как есть): "Chk_SwitchSafety" "^ffcb4aЩит^ffffff:Мирный режим (напасть на игрока можно лишь удерживая нажатой кнопку Ctrl) \r^ffcb4aМеч^ffffff:Свободный режим (можно свободно напасть на игрока)\r^00ffffЩелкните мышью для детальной настройки \r^ffcb4aУбийство игрока (PK) может быть совершено персонажем минимум 30 уровня" Сохраняем файл, упаковываем interfaces.pck, копируем в клиент, запускаем, проверяем результат. Я лично проверил около 9 сборок, везде результат удовлетворительный. Теперь займёмся новым форматом (xml). Распаковываем файл interfaces.pck. Затем, в каталоге version01 находим файл map.xml (это файл разметки диалогового окна). В нём ищем строку, начинающуюся с тэга <CHECK Name="Chk_SwitchSafety". Сразу после этой строки, перед тэгом <Resource> вставляем следующий тэг (как есть): <Hint String="^ffcb4aЩит^ffffff: Мирный режим (напасть на игрока можно лишь удерживая нажатой кнопку Ctrl)\r^ffcb4aМеч^ffffff: Свободный режим (можно свободно напасть на игрока)\r^00ffffЩелкните мышью для детальной настройки\r^ffcb4aУбийство игрока (PK) может быть совершено персонажем минимум 30 уровня"/> Сохраняем файл, упаковываем interfaces.pck, копируем в клиент, запускаем, проверяем результат. Надеюсь, кому-нибудь пригодится :) p.s. сама строка всегда лежит в файле ingame.stf (в любом типе клиента, в том числе и руоф-) под id 823. В руоф-клиенте всё работает, а вот причина, по которой фришный клиент (даже сконвертированный из руоф-) её оттуда не отображает, мне была неинтересна, возможно дело в сервере. p.p.s если где-то уже было, прошу извинить за "недогугливание". © this
В доступной мне шаре для 1.5.5 не нашёл, может и ещё кому-то понадобится... Патч привязки debug команд к авторизованным GM персонажам (независимо от установок debug_command_mode). Как всегда, респект уходит уважаемому int 3, за изящную методику. Ссылка на архив: https://mega.nz/#!UhRFQaSD!p5tTVJRqGOC47DRGUO_neYGOn-6l4U4PEYTr-uN3B2I Использование: патч выполнять на стороне сервера, оба файла из архива положить рядом с gs, дать права на выполнение скрипта, запустить v155_156_gs_gm_debug.sh, дождаться окончания процесса. p.s. ярлыка для 1.5.5 здесь ещё нет, поэтому выкладываю в 1.5.3. //Префикс добавлен
send me link pls, link not works for me. :/ https://yadi.sk/d/gu0A3Kg3UKcFG it is the Russian anti-sanctions protection. only one digit in the proper place.
Иногда в конфигурационном файле php.ini параметр short_open_tag имеет значение Off, при котором короткие теги <? ... ?> не работают, требуется вот такая их запись <?php ... ?>. Рекомендую убедиться, какая форма записи используется в ЛК, скорее всего короткая, возможно потому и не работает. PS ...после изменения параметра на short_open_tag = On рекомендую перезапустить apache.
Пару лет назад уважаемый int 3 выкладывал методичку (и ядро 1.5.1) по патчу gs, для привязки возможности использования debug команд только GM авторизованными персонажами (независимо от установок debug_command_mode). Взяв за основу его метод, а также ввиду отсутствия подобного решения для ядра 1.5.3(145) в широком доступе (может плохо гуглил) предлагаю небольшой патчер, авось кому-нибудь понадобится. Ссылка на архив: https://mega.nz/#!M8oCQS4D!SFch9vo8E1thHHAdl32eZC_4DMK74DcJy-rkNphyJV4 p.s. патч выполнять на стороне сервера, оба файла из архива положить рядом с gs, запустить v153_145_gs_gm_debug.sh, дождаться окончания процесса. p.p.s. "дыр и бэкдоров" нет, весь код патча содержится в gs_data.
А чем ты редактируешь? myWeb, сейчас это самый простой вариант...
Готово. Чтобы не возникало вопросов, лучше положить в каталог базы и gamedbd, после чего сделать ./gamedbd gamesys.conf importclsconfig Возможно кому-то после этого понадобится рестарт gamedbd или сервера в целом (мало ли...) :) http://rgho.st/private/8q8tpg5xy/53a6ac1ed0fbdd81a73277c37081e4e5 p.s. сорри всем, у кого отнял время первым постом.
Чёрт, действительно, у теней чи 2 капли... :) + ко всему я забыл сделать экспорт вчера, странно, что оно вообще работало... Вот, после рестарта сервера персонажи нормально создаются, теней поправлю сейчас... http://my-files.ru/fxrmbt
https://cloud.mail.ru/public/6X5k/5vaqvecgq Вот вам чистый и не морочте голову) ...а-ха, ещё бы и пост сделать раньше моего |-( p.s. тему можно в RO, от греха...
Deron правильно сказал, если "не импортируется", то просто положите в каталог БД (обычно находится в подкаталоге от gamedbd, в крайнем случае посмотрите, что прописано в gamedbd/gamesys.conf, в секции [storage]) и сделайте рестарт gamedbd. Есть другой вариант, зависящий от параметра noimportclsconfig в секции [gamedbd] (gamedbd/gamesys.conf). Если у вас не получилось, не вводите людей в заблуждение.
Сборка 1.5.3, попавшая мне в руки, имела очень "оригинальный" clsconfig. Возможно кому-то понадобится чистый вариант: http://my-files.ru/x90vdw (p.s. делал для себя, прошу помидорами не забрасывать...)
Можно попросить выложить клиент под эту сборку 1.5.3 ? Пожалуйста: https://cloud.mail.ru/public/Gg42/u7EBCvx1T
В версии 496 всё же неправильно устанавливается zoneid, насколько я помню...
Кнут жёстче...
У него скроллинг, а не апдейт, пусть юзает двойной буфер и то не факт. Ой, точно. Мой фейл...
listview.BeginInit(); // заполнение listview.EndInit(); p.s. for (int i = 0; i < 5000; i++) { this.list.Items.Add("#" + i); this.list.Items[i].SubItems.Add("Name " + i); } |-(
Имена участников (разделяйте запятой).