У меня нет опыта работы с java-приложениями, но я обнаружил, что поиск статических указателей и т. д. на адреса памяти этих приложений часто (почти) невозможен, по-видимому, из-за движка java, который обрабатывает код (исправьте меня, если этот способ именования его неправильно, пожалуйста).
Теперь я использовал VisualVM (https://visualvm.dev.java.net/) и это здорово. Я могу выбрать свой Java-процесс и создать дамп кучи. Затем он показывает мне все классы и их значения.
Могу ли я использовать этот метод для непрерывного опроса дампа кучи и получения значений объектов, например, X, Y и Z в игре? Как я буду программно взаимодействовать с таким приложением, и если это не должно быть сделано с помощью VisualVM, что может быть альтернативой?
Редактировать: вот что мне нужно сделать: мне нужно найти все классы со свойствами, имеющими определенное значение. Например: я бы искал координату X (поплавок), и он должен возвращать класс «PlayerCoordsHandler» (просто пример) и соответствующий поплавок с его значением... или, альтернативно, просто способ снова найти тот же самый поплавок. (например, после перезагрузки). Этот процесс не обязательно должен быть программным, поскольку запрос значения уже известного свойства (x float) может быть получен программно (например, с помощью утилиты командной строки или чтения из файла).
Edit2: целевое приложение представляет собой исполняемый файл Windows (но созданный с помощью Java) и запускает собственную виртуальную машину Java. Невозможно добавить параметры Java для отладки. Это, похоже, не требуется, поскольку VirtualVM может отлично отлаживать процесс. Кто-нибудь знает, как?
Заранее спасибо.