В Java можно изменять значения переменных приложения во время выполнения JVM с использованием Java Debug Interface (JDI) и Java Virtual Machine Tool Interface (JVMTI).
JDI предоставляет API для взаимодействия с JVM во время выполнения и позволяет получать доступ и изменять значения переменных, вызывать методы и т.д. JVMTI предоставляет более низкоуровневый доступ к JVM и позволяет манипулировать с байт-кодом и взаимодействовать с JVM на уровне инструкций.
Если вы ищете инструменты, которые могут изменять переменные и поведение приложения во время выполнения, можно рассмотреть следующие варианты:
VisualVM: это мощный инструмент мониторинга и профилирования, который поставляется с JDK. Он может подключаться к запущенной JVM и предоставляет интерактивную среду для анализа производительности, отладки и диагностики приложений. С помощью VisualVM вы сможете менять значения переменных, следить за выполнением кода, вызывать методы и т.д.
Eclipse: популярная интегрированная среда разработки имеет встроенную функциональность отладчика, который позволяет изменять переменные во время выполнения. Просто установите соответствующие точки останова и используйте отладчик для изменения переменных.
JDWP: Java Debug Wire Protocol (JDWP) является протоколом отладки для взаимодействия с JVM. Вы можете создать собственную программу для подключения к запущенной JVM и использовать JDWP для изменения переменных, вызова методов и т.д.
Обратите внимание, что эти инструменты не предназначены для изменения "практически всего" в JVM. Некоторые операции могут быть ограничены безопасностью или зависеть от конкретных ограничений JVM.
Чем-то подобным занимается отладчик. Устройство этой фигни - ой, какое непростое. Советую к изучению статью в нескольких частях: https://habr.com/ru/articles/178007/
Типа нужно создавать свой класс и кодить самому, чтобы он вызывал метод main оригинального главного класса и т.д.?
Darth Vader
Знаток
(274)
Неон моуд, Да типо такого и изменять после как запуститься, ставить проверки если есть на что, я делал так для майнкрафта :) типо что то оконного чита (трейнера), проверки делал только если есть игрок и есть он в мире