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

X-Ray extensions


Malandrinus

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

@UriZzz, нет я эту тему не ковырял, так что надо вникать, а на это надо время.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

Интересно, кто является автором утилит bspatch.exe, patcher.exe, bsdiff.exe. И у кого есть исходники patcher.exe.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

У меня есть мысль дальше развивать проект, так же есть мысль попробовать использовать подходящие компиляторы высокого уровня с высокой степенью поддержки ассемблера, например С-- сфинкс. СиМинусМинус, если кто не понял.

У меня почти получилось создать утилиту которая заменит все эти три, так же не нужен файл  *.def, но пока есть проблемы.

Хорошо бы возможности с таблицей релокаций переделать, сделать возможность убирать перемещаемые адреса в основной секцией(IDA отображаются как ds:adr, offset adr), так же сделать возможность добавлять перемещаемые адреса в основной секцией (в текущей утилите это не работает). Что позволит переделывать код в основной секцией более основательно. Ещё бы хорошо сделать поддержку дополнительной секцией с данными, т.е. .MyCode это наш дополнительный код, .MyData тут находятся секция инициализированных данных.

ЗЫ

Зачем?

Сейчас я могу работать с любым билдом, у которого нет защиты, я могу добавлять новые объекты, расширять существующие и так далее. А если получится подключить компилятор высокого уровня то можно будет делать достаточно сложные вещи.

И ещё, можно не только для XRay мучить, но почти любую игру без защиты.

Изменено пользователем НаноБот
  • Спасибо 1
  • Нравится 2

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

https://yadi.sk/d/81ARuLvH3Hpfcd

Программа заменяет bspatch.exe, которой не нужен *.diff. Это приложение создаёт файл дубликат с добавленной секцией.

Использовать так. Кидаем программку в папку tools, SVN_portable проекта.

В батнике находим строку:

..\tools\bspatch.exe xrGame_orig.dll xrGame.dll xrGame.diff

И заменяем на эту:

..\tools\add_section.exe xrGame_orig.dll xrGame.dll 40000h

Как видим, размер секции можно задавать прямо в строке, можно задавать в десятичном виде и в шестнадцатеричном виде, приложение понимает стиль С, паскаля и ассемблера, т.е. так 0xFFFF, $FFFF, FFFFh. Так же приложение само выравнивает размер секции.

ЗЫ

Приложение add_code пока в разработке, оно полностью заменит  bspatch.exe, patcher.exe и bsdiff.exe, так же в  corrections_list.txt можно будет задавать адреса в стиле ассемблера, легче копипастой вставлять из xrgame_stubs.asm. Так же, возможно будут другие преимущества реализованы.

ЗЫЫ

На чем написано? На MASMе. В релиз чуть не пошла версия которая на семёрке не работает, так что add_code я буду отлаживать бдительней.

Изменено пользователем НаноБот
  • Нравится 4

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

О да, я скачал этот PE Tools, не знаю, может версия такая, но это полная хрень, при попытке заполнить нулями новую секцию выскакивает авост, так же уродовалась сама PE часть. Решил что легче написать простое приложение, чем мучатся со всякой ерундой, тут хорошо именно тем, кто захочет сделать правки для 1.0004, то это ему будет сделать легче. А то слишком много манипуляций при создании нового проекта, надо сделать новый *.diff, а для этого надо файл заготовка с добавленной секцией, который делаешь или вручную, или РАБОЧЕЙ версией PE Tools, и батник для bsdiff.exe. Сейчас если кому надо править 1.0004, то PE Tools не нужен, достаточно hex-редактор, что бы подсмотреть нужные параметры,  я потом сделаю исследовательский режим, вводим в батник только имя файла источника, и он выдаст нужные параметры для файла addr.inc.

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

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

Доработал add_section.exe, теперь можно файл addr.inc создавать автоматически, для новых проектов PETools не нужен.

Пример нового батника.

@echo on
if exist mydll.obj del mydll.obj
if exist mydll.dll del mydll.dll
if exist mydll.exp del mydll.exp
if exist mydll.lib del mydll.lib
if exist xrGame.dll del xrGame.dll

if exist addr.inc goto mmm1
..\tools\add_section.exe xrGame_orig.dll addr.inc
:mmm1

..\tools\ml /c /coff /Fo mydll.obj mydll.asm
..\tools\link.exe /SUBSYSTEM:WINDOWS /DLL /OUT:mydll.dll /DEF:mydll.def mydll.obj


del mydll.obj
del mydll.exp
del mydll.lib

..\tools\add_section.exe xrGame_orig.dll xrGame.dll 40000h
..\tools\patcher.exe xrGame.dll mydll.dll corrections_list.txt

if exist mydll.dll del mydll.dll


@echo.
@echo GOTOVO
@echo.
pause

 

 

Утилита add_code в принципе готова, но я решил её переделать. Так что потом...

ЗЫ

Ссылка не изменилась.

Изменено пользователем НаноБот
  • Нравится 2
  • Полезно 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

Ради интереса попробовал свои файлы про сканировать разными антивирусами, с помощью:

https://www.virustotal.com

http://www.virscan.org/

В общем, вышло что некоторые редкие антивири таки реагируют, вот.

https://www.virustotal.com/ru/file/1c9f5de7c6a9843567bd54988b182ee78c503f39eb8ec25dc6c4e89aa2fc448c/analysis/

http://r.virscan.org/report/ac5e645db4b3036b34682505ae465c7d

Endgame и fprot, возможно их смущает ассемблер, или просто что есть функции записи в файл, это скорей всего.

Короче, такие антивирусы не устанавливайте, если антивирус реагирует на файл, где точно нет вируса, и этот файл "прозрачен", то это значит, что антивир использует очень примитивный алгоритм работы. Вот, как так.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

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

ЗЫ

Я проверил, на файлы созданные делфи (с тем же алгоритмом), всё равно эти антивири ругаются, я же говорю, просто видит что есть функции записи в файл, и на этом основании считает, что вероятно, тип приложения: вредоносный. Короче, не чего устанавливать совсем тупые антивири, вот у меня ESET NOD32 вроде не плохой, да и тот ловит лишь некоторые, комп всё равно глючит.

  • Согласен 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

В принципе я работаю по проекту, потом выложу некоторые правки. Например, сейчас хочу сделать возможность помещать сталкеров в вертолёт, как например в движке CRYENGINE. Ещё, баллистический калькулятор, бросок тестовой гранаты, скриптом переключаем режим ПГ и другие правки.

И ещё, я выложил правку где можно настраивать разные модели для сталкеров, с ограниченном набором анимаций. Эту правку можно, например, использовать в ОЛР2.5, хенов оживить.

Изменено пользователем НаноБот
  • Нравится 4

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

При собачить холдер не проблема, важно решить проблему полёта самого вертолёта, у меня пока не получилось портировать код из билда  756, вертолёт кувыркался, и дергался. А так это решаемо, даже XRayExt, не говоря и про исходники. У меня даже получилось в билде 1098 полетать, только дергается, артефакты появляются. А в билде 1114 верт уже вырезан.

  • Нравится 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

Переделавать проект надо по-любому, утомил быдло-код, не правильно названые имена прототипов и другое. Но работы много, ладно, с С++ не хочется работать, медленно слишком.

Ну а так, сейчас делаю объект CLevelExplosive взрывной объект в пространстве левел.

  • Нравится 3

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

Честно говоря я уже сам не помню, на какой ревизии основался 230 или 232, на счёт 239 читай 230.09, просто я понял порочность нумерации 230 + №моей ревизии лишь некоторое время назад.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


Ссылка на сообщение
8 минут назад, TIGER_VLAD сказал:

Еще бы добавить блокировку любой клавиши.

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

8 минут назад, _Val_ сказал:

А мне будет не хватать вот этого.

Это переделал как надо, сами колбеки никуда не делись, более того доработаны, приходят не только в биндер актора, но в биндер активного оружия и холдера т.е машины. Мне так гораздо сподручней, помню как я мучился со скриптом турели(на классе вертолёта), из-за дурацкой реализацией колбеков на нажатия, специальным скриптовым классом.

  • Спасибо 3

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

@UriZzz Дак я и так потихоньку привожу в порядок, этому проекту лет 7, сложно от рефакторить весь хлам который за это время создали.

Конечно, исходники, С++, дают больше возможности, но мне больше нравиться в проекте очень быстрая компиляция, проекта малый вес, ну и конечно лучшие знания ассемблера, если бы я хорошо знал С++ то кодил на нём, а так, как отвратило 31 декабря 2016 года от С++, так и больше не хочется кодить на С++. Хотя я активно использую декомпилированные исходники. И ещё, наработал код на С++ до того как отвратило,, потом выложу, там много чего интересного.

  • Спасибо 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


Ссылка на сообщение
2 часа назад, Капрал Хикс сказал:

Сюда б ещё последние правки НаноБота накатить сверху, с турелью и взрывными пулями...

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

Да там походу разница правок минимальна. Мне проще просто проанализировать правки и перенести в свой проект.

Короче эти проекты на прямую совсем не совместимы, разные способы компиляции проектов, я тут ещё собираюсь поменять утилиты для сборки проекта.

ЗЫ

Ещё тут добавил турель для ОЛР.

https://www.gameru.net/forum/index.php?s=&showtopic=54066&view=findpost&p=1627545

Чисто для теста.

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

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

Оказывается у кара не работают гильзы, они есть, но не доделаны, так что пришлось чинить.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

В новой ревизии  вырезал некоторые методы, всё равно они чисто тестовые. Я так понял что некоторые game_object методы не работают, причем я так непонял что эти методы делают, CHangingLamp, далее член light_render, а потом полный бред. Ладно сейчас почти доделал метод для смены визуала сталкерам и мутантам.

  • Нравится 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

Потом попробую кое что перенести из ЗП, но если это слишком сложно то уйдет много времени. Ладно, сейчас пытаюсь сделать смену визуала сталкерам, вроде получается, но есть ошибки, и ещё для вертолетов надо делать. Реально сложная правка.

Изменено пользователем НаноБот
О
  • Спасибо 1
  • Нравится 2

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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


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

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