Перейти к контенту

Редактирование движка X-Ray


Рекомендуемые сообщения

@abramcumner, да, я ошибся. Да нет, я ведь и говорю, мы делаем дат файл на каждого юзера, куда зашиваем пару ключей (и еще какую-нибудь привязку к самому юзеру), и то есть получается архивы будут завязаны на этот дат файл (что тут даст дамп памяти?). Можно же не просто ключом шифровать, а алгоритмом, все это конечно временно, об этом лишний раз говорить не нужно. Можно еще переписать чанки, тогда это занятие будет и не для средних умов, и точно не на пять минут. По сути то понятно что энкодер я могу себе оставить, а декодер так или иначе уйдет налево.

 

А то как-то беспокоюсь за времена когда градус неуловимости начнет падать, сейчас на пике. Если хочешь могу тебе скинуть зашифрованный архив, вскроешь ради спортивного интереса? Интересно это быстро будет или нет.

Изменено пользователем Struck
Ссылка на комментарий

Если хочешь могу тебе скинуть зашифрованный архив, вскроешь ради спортивного интереса? Интересно это быстро будет или нет.

Неее, не хочу. Неинтересно.

 

Я собственно к тому, что в ТЧ уже есть шифрование, так называемый RUSSIAN_BUILD. Поменять у него константы и все.

  • Полезно 1
Ссылка на комментарий

Да нет, я ведь и говорю, мы делаем дат файл на каждого юзера, куда зашиваем пару ключей (и еще какую-нибудь привязку к самому юзеру), и то есть получается архивы будут завязаны на этот дат файл (что тут даст дамп памяти?).

Условный хакер получает ваш движок, архивы, ключ. Ставит точку останова на условные CLocatorApi::OpenFile/OpenChunk. В этой точке у движка должен быть указатель на память с дешифрованными данными. Пишет пять строчек кода для сохранения в файл. Запускается игра и все файлы расшифрованы.

Я так собирал имена файлов для метро - там в архивах имена файлов(как в сталкере) не хранятся, а только CRC32 по ним. microsoft detours(например) + несколько строк на с++ и все.

Изменено пользователем abramcumner
Ссылка на комментарий

@abramcumner, зачем шифроваться? Вот например WOT, ничего не шифрует, а попробуй выпустить свою платную игру с их моделью - последсвия предсказуемы(Батька тебя самолично вЫпорит розгой). Смысла не вижу в этом. Что толку Самсунг шифровался - засудили за плагиат один черт.

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

@Earth2Space, у него связано все с luaicp, там другие алгоритмы шифрования, делать подобное тому что там задача довольно нетривиальная, нужно переписывать много по файловой системе в целом. Конечно можно тоже зарядить свой лаунчер и другое приложение через которое управлять всем, но для меня очень долго это все обвязывать, учитывая что лаунчер писать буду не на плюсах.

Изменено пользователем Struck
Ссылка на комментарий

Вот либо я тупой, либо лыжи не едут. 
Такой вопрос: как в IDA поправить код для создание dif'oв? 


 

 

так называемый RUSSIAN_BUILD

Это? http://prntscr.com/8nypcf
Ссылка на комментарий
Да.

@abramcumner, зачем шифроваться? Вот например WOT, ничего не шифрует, а попробуй выпустить свою платную игру с их моделью - последсвия предсказуемы(Батька тебя самолично вЫпорит розгой). Смысла не вижу в этом. Что толку Самсунг шифровался - засудили за плагиат один черт.

Вообще в ВоТ шифрование применяется в ресурсах: например реплеи шифруются, причем там достаточно серьезный алгоритм используется. Но ключ естественно есть на клиенте - нашелся/расшифровали без проблем.

Как и обфускация в том или ином виде: хмл-конфиги дают в бинарном виде, питоновские скрипты в скомпилированном. Но это тоже не помогло: скрипты декомпилировали, для конфигов утилитку написали.

Ссылка на комментарий

@Earth2Space, имхо - абсолютно бредовая идея, ибо если захотят люди вытащить что-то из игры или поиграть в него "без смс и регистрации (С)" - все рано сломают. Вон Denuvo сломали, а уж это и подавно сломают.

Тем более, неоправданная нагрузка на и без того захлебывающийся двиг... Неоправданно.

  • Нравится 1
Ссылка на комментарий

@HESH, что-бы поиграть без смс и регистрации я думаю будет тяжело, если только грязными хаками, а так там игра сильно сбоит при своих добавлениях чего не надо куда не надо. Смысл не скрыть все ото всех, а смысл в том чтобы играли как положено, чтобы это самое положено в одночасье не сделалось на многолетние муки автора по оттачиванию баланса. Некоторые коды (скриптовые) доступны, есть как и везде свои минусы и плюсы, не знаю кому как, но янтарной комнаты в них нет, максимум могут понадобится тем кто не понимает как новым функционалом по движку пользоваться.


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

Изменено пользователем Struck
Ссылка на комментарий

 

 

Зачем менять пути, если можно просто нажать "Построение" и соберется за пол минуты только то, что менялось.

1heXtcL5.jpeg

Как пруфанешь - можно будет поговорить предметно. Пока для меня это звучит как чистая ахинея. У меня xrGame при любом раскладе не собирается за пол минуты (в Release конфиге разумеется), рекорд был где-то минут 15.

 

@abramcumner@Struck, вы затронули довольно интересную тему. Месяца два назад я с этим серьезно копался, поэтому, встав в позу орфея, позволю себе дать некоторые пояснения. Самое первое что следует сказать, защитить архив от распаковки даже в краткосрочной перспективе нельзя, это в принципе невозможно, то есть посмотреть все ваши файлы можно будет относительно сразу, распаковать может любой кулхацкер с пердюевским образованием в три класса, данную защиту следует городить только в целях того чтобы нельзя было никому модифицировать именно ваш мод, то есть вы создаете свой запаковщик и никому его не даете, следовательно на ваш мод и коды можно будет только опираться, но напрямую их использовать не выйдет (разумеется не все так радужно, и эта защита в среднесрочной перспективе сносится как нефиг делать, но я не об этом). Для этого надо возится с кодировкой движка и форматом архива, здесь надо будет переписать LocatorAPI, FS и другие файлы которые работают с архивами, так же есть функции encode и decode, для изменения шифрования можно, к примеру, вшить какой-то известный (желательно быстрый) алгоритм шифрования, можно вообще сделать отдельную библиотеку откуда экспортировать функцию шифрования. Но это все задачи довольно сложные, а ковыряния с ядром стоят большого количества времени и нервов. Далее нужно будет каким-либо образом связывать руки всем кто хочет в ваш мод что-то добавить, то есть скрывать абсолютно все, от скриптов до моделей, а на любой несанкционированный доступ - пачку известных органов, тут поле действий уже расширяется и думайте сами, например у меня количество подводных камней резко увеличено, несколько этапов проверки и прочего, но повторюсь, если это вам не сильно надо - не делайте, это сложно.

 

Теперь к другому. Вроде я закончил все свои работы по движку которые ставил, теперь можно поработать и на народ. В общем все кто хочет на ТЧ что-то хорошее, доброе, вечное сотворить - силь ву пле, подключайтесь, будем делать вместе. Пока проект будет жить - редактирование доступно только соучастникам (вход свободный) для того чтобы было видно кто что сделал, и с кого что спрашивать. Надеюсь что хоть пару живых душ подключатся :).

 

Собранный движок: https://yadi.sk/d/edt9bfAajaFcs

Исходники: https://github.com/Karlan88/xray

 

А я пока буду писать документацию к своим правкам.

  • Спасибо 2
  • Полезно 1
Ссылка на комментарий

@Карлан, я давным давно слышал такую поговорку: Если хочешь, что бы твою машину не угнали - залей её изнутри бетоном.

Сейчас действительно бесполезно шифровать что либо. Помнится ГТА-5 сломалась в день релиза. Все игры(архивы), движки рано или поздно падают перед натиском трудящихся. Недавно наблюдал картину с Мад Максом - сломали защиту на третий день (а защита там была самая страшная на сегодняшний момент).

Я думаю, шифровать надо не сами архивы, а каналы передачи данных от сервака к клиенту, если мы говорим не о сталкере, а о современных сетевых играх. Да и вообще надо наверное делать, внедрять в движок проверку на код меняющийся каждый день. Я служил на ЗАС - поэтому в теме немного. :ph34r:

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

Еще пару слов о движке NLC 7, почему-то ходит мнение что там редактируется все исключительно под защиту, вовсе нет, там и по части xrGame очень много переписано и сделано, например, есть нормальные классы под контейнеры (CInventoryContainer, CCustomInventoryBox), так что движок сам собой тоже будет весьма ценен для местной аудитории, по крайней мере как минимум для меня.

 

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


Да и если мы не хотим делать мод в направлении мейнстрима, то так или инчае что-то такое "не положено" вешать надо. У меня с этим все строго, в конфигах начитерить невозможно, за скриптами вообще усиленный надзор, там тоже тяжело будет что-то такое легкое и простое сделать, нужно будет городить костыль, а кому это надо? И то это только при наличии запаковщика, которого нет и не будет. Так что в любом случае сначала придется ломать все защиту, а потом уже как угодно, хоть тупо дампом памяти.

Ссылка на комментарий

@Дизель,есть ещё такая вещь, как xrDebug, тобишь X-Ray'евское творение для этого. BugTrap для дампов вроде бы нужен.

Кстати, xrCore собрал с отключенным BugTrap. Надо остальное пересобрать.

Bugtrap действительно по функционалу идентичен xrDebug, с одним лишь отличием - поддержка отправки крешдампа на сервер.

 

Как я думаю:

Выбор пал на BugTrap'a т.к он предоставляет еще и серверную часть - возможно в те времена этого еще не было. 

 

Я отключал bugtrap, т.к у меня были проблемы с его компиляцией под х64 - там много асм вставок 

  • Нравится 2
Ссылка на комментарий

Надеюсь что хоть пару живых душ подключатся

 

Из той же серии: ищу душу, для сборки движка, с хорошими нервами. Изменено пользователем Forser
Ссылка на комментарий

Как пруфанешь - можно будет поговорить предметно. Пока для меня это звучит как чистая ахинея. У меня xrGame при любом раскладе не собирается за пол минуты (в Release конфиге разумеется), рекорд был где-то минут 15.

Бро, тебе видос записать? Или может сам почитаешь про отличия "Построения" и "Перестроения"? Изменено пользователем RayTwitty
Ссылка на комментарий

 

 

Бро, тебе видос записать? Или может сам почитаешь про отличие между "Построением" и "Перестроением"?

Видос было бы неплохо. Отличия я знаю, у меня комп такой деревянный что-ли? Ни разу за полминуты не строил на релизе, мне было бы действительно интересно посмотреть.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...