Вы не сможете сделать это с помощью отражения Java.
Лучше всего использовать механизм перезаписи байт-кода для изменения байт-кода программы с закрытым исходным кодом.Если бы вы использовали «настоящую Java», я бы предложил BCEL.Вам нужно разобраться с кодом Davlik, и я не знаю, существует ли аналог Davis для BCEL.
Это предполагает, что у вас есть доступ к байт-кодам этого приложения с закрытым исходным кодом в форме, которая позволяет вамвозиться с ними, не нарушая правил безопасности.Например, если приложение было подписано, то изменение байт-кодов приведет к недействительности подписи.
И сделать это без нарушения ограничений на реверс-инжиниринг - еще одна трудность.нужно отказаться от этой идеи.