Me gustaría aprender cómo, o si es posible interactuar programáticamente con una aplicación java black-box (leyendo sus datos). ¿Ha habido alguna investigación/trabajo anterior para hacer este tipo de cosas?¿Es posible leer la memoria de una aplicación Java en ejecución?
Me imagino que ejecutar una JVM complica las cosas significativamente.
@anon: Hacer esto con cualquier JVM es relevante. ¿Tiene que saber o controlar los detalles de cómo la JVM asigna memoria para extraer datos de una aplicación java?
¿Se ejecuta en una JVM arbitraria, o una JVM comercial en particular, o en una JVM que haya desarrollado especialmente para este fin? Correr en una máquina virtual en lugar de una real facilita * las cosas * si controla las partes internas de la VM, y aunque no lo haga, no lo hará más difícil siempre que sepa cuáles son esas partes internas. –
Un hilo relacionado que debería aplicarse aquí: http://stackoverflow.com/questions/2771868/can-i-access-object-from-another-jvms-memory-without-requesting-that-jvm – Greg
Quizás la interfaz del depurador ayude http://java.sun.com/j2se/1.3/docs/guide/jpda/jvmdi-spec.html – josefx