Все посты %s в %S - AMK Team
Перейти к контенту

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


Rolan

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

@power-cat, студия у тебя не той системы. В свойствах проекта раздел General выбери свой Platform Toolset.

Поделиться этим сообщением


Ссылка на сообщение

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

"Асинхронное шифрование" - такого даже гугл не знает :) Асимметричное может быть?

В данном случае это абсолютно без разницы: ты и так и так отдаешь ключ для дешифровки.

Только оно тебя не спасет же - ты же сам пишешь "зашиваем ключ для дешифровки". Можно, например, будет тупо дождаться дешифровки, сдампить память и получить не зашифрованные архивы.

 

Поменяй ключ у существующего шифрования и надейся на неуловимого джо.

Поделиться этим сообщением


Ссылка на сообщение

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

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

 

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

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

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

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

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

Изменено пользователем abramcumner

Поделиться этим сообщением


Ссылка на сообщение
Да.

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

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

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

Поделиться этим сообщением


Ссылка на сообщение

@DmitriyT, ты не в то поле прописываешь свой путь.

Ты добавляешь в "Каталоги включаемых файлов"(русская студия?) - в этом поле указываются пути к заголовочным файлам(*.h). Тебе надо найти поле что-то вроде "Каталоги библиотечных файлов"(Library Directories). Там уже должны быть пути с lib. Туда и добавь свой.

Поделиться этим сообщением


Ссылка на сообщение

0023:0835392D xrRender_R4.dll

[error][ 298] : Слишком много попыток занесения события для семафора.

На все эти описания можно смело забивать - это выводится результат работы последней вызванной WinApi функции. Движок при своей работе не вызывает winapi. Конкретно эта ошибка вообще могла остаться еще со старта игры от проверки запуска нескольких копий.
  • Спасибо 2
  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

@Winsor,

попробуй вместо allocator::helper написать allocator::template helper в fixedmap.h(87).

Изменено пользователем abramcumner
  • Спасибо 1
  • Согласен 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

в классе CSpaceRestrictor в методе net_Spawn убираем строчку

spatial.type &= ~STYPE_VISIBLEFORAI

Что файл?

space_restrictor.cpp. Ориентировочно строка 70.
  • Нравится 1
  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение

Можно ли в уже правленый xrGame.dll мода Call of Chernobyl включить правку pda_fix (из X-Ray Extensions, 

посылка инфопоршня при смене закладок в ПДА) и как это сделать?

Call of Chernobyl собирается из достаточно сильно изменных исходников на основе OpenXray.

Вроде как репозиторий с исходниками вот: https://github.com/revolucas/X-Ray_CallOfChernobyl

 

Правку сделать можно, но придется самому найти точку врезки.

Гораздо проще добавить посылку инфопоршня в исходники.

 

А скорее всего можно попросить добавить прямо автора - это одна строка в исходниках.

Изменено пользователем abramcumner

Поделиться этим сообщением


Ссылка на сообщение

Спасибо, а не можешь подсказать, что именно прописывать в исходники? В X-Ray Extensions код написан на asm.

UIPdaWnd.cpp: в функцию SetActiveSubdialog после строки:

UITabControl->SetActiveTab( section );

добавить строку:

InventoryUtilities::SendInfoToActor(section.c_str());

Поделиться этим сообщением


Ссылка на сообщение

X-Ray Extensions конечно собирается MASM`ом, но Микрософт забила на МАСМ, как на отдельный продукт. В результате X-Ray Extensions собирается только МАСМ`ом входящим в комплект студии, причем студия должна быть 2008 или старше.

 

@UriZzz, поищи X-Ray Extensions Portable от macron`а. В нее уже входит правильный MASM и студию качать не придется.

Изменено пользователем abramcumner
  • Спасибо 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

@drksnc, неудачный репо. Скорее всего Debug и Mixed конфигурации не настроены. В релизе ошибки intellisense - они не в счет. Покажи ошибки сборки.

 

но валится позже, ссылаясь на отсутствие xrCore.lib

Попробуй сначала собрать xrCore, потом xrGame.

 

Может к репо прилагалась инструкция по сборке?

 

Почему не хочешь взять OpenXray?

Изменено пользователем abramcumner
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

Народ, хочу поюзать исходники для ЗП от OpenXRay. Поставил 15-ю студию, DirectX SDK 2010 (June), не знаю, что там ещё. Начал с попытки компила xrengine. Не компилится, конечно же. :D

Лог здесь. Помогите, пожалуйста. :)

Или посоветуйте исходники, с которыми нету проблем. И, конечно, приложите инструкции. :D

Явно сабмодули не скачал. Если получал исходники через гит, то надо еще выполнить git submodule update.

Поделиться этим сообщением


Ссылка на сообщение

@vampirnik77, можно попробовать перейти на 64-битный тулчейн: https://stackoverflow.com/questions/19820718/how-to-make-visual-studio-use-the-native-amd64-toolchain

Изменено пользователем abramcumner

Поделиться этим сообщением


Ссылка на сообщение

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

Поделиться этим сообщением


Ссылка на сообщение
2 часа назад, Shkiper2012 сказал:

xray\xr_3da\xrgame graph_vertex_inline.h, 68

Так что у тебя в этой строке?

 

Цитата

[03.10.17 21:11:06.998] 001B:522A3260 (0x0018C300 0x2896B6BC 0x2896B748 0x0018C328) xrGame.dll, CVertex<CPhrase *,shared_str,CGraphAbstract<CPhrase *,float,shared_str> >::add_edge, x:\trunk\xray\xr_3da\xrgame\graph_vertex_inline.h, 68
[03.10.17 21:11:06.998] 001B:522A302A (0x280A5C60 0x0018C300 0x24E2AF90 0x52D6A1E0) xrGame.dll, CGraphAbstract<CPhrase *,float,shared_str>::add_edge(), x:\trunk\xray\xr_3da\xrgame\graph_abstract_inline.h, 59
[03.10.17 21:11:06.998] 001B:524C6B9B (0x24E2AF90 0x00000000 0x2896B740 0x0018C318) xrGame.dll, CPhraseDialog::AddPhrase(), x:\trunk\xray\xr_3da\xrgame\phrasedialog.cpp, 271
[03.10.17 21:11:06.998] 001B:522A39FA (0x03BF23D0 0x03D72B18 0x00D183F0 0xFFFFD8F0) xrGame.dll, CPhraseDialog::AddPhrase_script(), x:\trunk\xray\xr_3da\xrgame\phrasedialog.h, 132
Здесь из скрипта вызвали функцию создания скриптового диалога, вернулись в движок. И что-то пошло не так.
...
Здесь ушли в скрипты. В phrasedialog.cpp, 223 можно посмотреть какая скриптовая функция вызвалась. Дальше изучаешь скрипты.
[03.10.17 21:11:06.998] 001B:524C7220 (0x00000000 0x524C6A58 0x0AB71FC0 0x24E2AF90) xrGame.dll, CPhraseDialog::load_shared(), x:\trunk\xray\xr_3da\xrgame\phrasedialog.cpp, 223
[03.10.17 21:11:06.998] 001B:522A2B99 (0x0AB71FC0 0x24E2AF90 0x524C6335 0x0AB71FC0) xrGame.dll, CSharedClass<SPhraseDialogData,shared_str,0>::load_shared(), x:\trunk\xray\xr_3da\xrgame\shared_data.h, 101
[03.10.17 21:11:06.998] 001B:524C6A58 (0x0AB71FC0 0x00000002 0x24BDDC00 0x14B1111C) xrGame.dll, CPhraseDialog::Load(), x:\trunk\xray\xr_3da\xrgame\phrasedialog.cpp, 185
[03.10.17 21:11:06.998] 001B:524C6335 (0x0AB71FC0 0x0C7BCE38 0x1B0DC4DC 0x0C4F6100) xrGame.dll, CPhraseDialogManager::AddAvailableDialog(), x:\trunk\xray\xr_3da\xrgame\phrasedialogmanager.cpp, 110
[03.10.17 21:11:06.998] 001B:524EEF47 (0x0C7BCE38 0x1B0DC4DC 0x24B85EA0 0x0018C6B4) xrGame.dll, CActor::UpdateAvailableDialogs(), x:\trunk\xray\xr_3da\xrgame\actor_communication.cpp, 195
[03.10.17 21:11:06.998] 001B:523D5B6D (0x280AA930 0x523E260F 0x00000006 0x01036400) xrGame.dll, CUITalkWnd::UpdateQuestions(), x:\trunk\xray\xr_3da\xrgame\ui\uitalkwnd.cpp, 130
[03.10.17 21:11:06.998] 001B:523D624F (0x00000006 0x01036400 0x00F70BDE 0x01036240) xrGame.dll, CUITalkWnd::Update(), x:\trunk\xray\xr_3da\xrgame\ui\uitalkwnd.cpp, 229

 

 

А геймдата у тебя кстати от шестого патча?

Изменено пользователем abramcumner
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
1 час назад, Shkiper2012 сказал:

В этой строчке '{'

Попробуй пересобрать xrGame.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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