Перейти к содержанию

Поиск и использования метода класса.


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

Во время создания модификации к игре на движке Unity появилась надобность в вызове метода игрового класса. Статичный указатель на инстансы нужного класса я нашел с этим проблем 0, но я не могу понять как получить указатель на метод данного класса.

Каким образом можно получить указатель на метод класса ?

Ссылка на комментарий
Поделиться на другие сайты

В 09.05.2019 в 18:33, Xrom сказал:

Во время создания модификации к игре на движке Unity появилась надобность в вызове метода игрового класса.

 

Это можно сделать также как и в игровом движке. 

1) В Update функции, если компонент не найден еще, то искать X тип компонента (искать например каждые 5 секунд) 

2) Если компонент найден, то вызывать у него метод каждые X секунд

 

Комментарии:

Спойлер

1) Если игра собрана с Mono, то проще найти адрес объекта класса  наследника от MonoBehavior или Component используя метод: Object.FindObjectsOfType

Вызов этого метода можно сделать внедрением C# кода в запущенную игру. Это можно сделать разными способами, описано в Интернете. Или можно сделать через Cheat Engine используя Mono функции из Lua. Или через декомпиляторы .net с сохранением изменений. Для поиска компонента надо знать название его. Это можно сделать через отладку Cheat Engine добравшись до параметра и метода в Mono. Еще этих компонентов на игровых объектах может быть множество, они также могут разрушаться и создаваться. Поэтому надо все отслеживать через C# код

 

2) Если игра собрана в IL2CPP, то пробуем собрать dll модуль на той же версии Unity под IL2CPP и делать его внедрение в память процесса  с вызовом метода выше. Поскольку тут моно нет, то здесь либо через дизассемблер узнать нужный компонент либо через свой dll модуль вывести название всех игровых объектов с компонентами, либо скомпилировать внедрение просмотра runtime hierarchy.

 

3) Если другая платформа, там Android или iOS, или другие, то там свои заморочки с патчами сборок.

 

 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.