¿Cómo puedo asegurarse host de que el cliente no ha modificado su jar?

casandro
11 de Marzo del 2005
Buenos días.

Distribuyo una aplicación java en un juego de jar (pero puedo unirlos todos, da igual). La aplicación despues de rellenada envía datos al host para ser tratados.
Necesito saber si el cliente ha modificado la aplicación para generar datos distintos.

Podría hacerlo comprobando la estructura de los datos en host mediante los algoritmos del cliente, pero eso sería mucha carga.
Se puede hacer con ofuscadores, pero al menos los que he probado no son fiables. Y el ofuscar el código tampoco me es prioritario, sino sólo que no me toquen los envíos.

¿Cómo podría hacerlo?

Muchas gracias por adelantado.

nkpevfqy
11 de Marzo del 2005
No puedes. Cualquier aplicacion se puede depurar y modificar. Tanto en JAVA como en nativo. Otra cosa es que pongas las cosas complicadas. Pero a priori no se me ocurre nada Si pones alguna comprobacion como un desafio desde servidor, un hash o similar, siempre pueden dejar esa parte intacta y cambiar la generacion de los datos. Si se sabe lo que hay que enviar al host para que se crea que el cliente no se ha modificado, siempre se puede simular. Ofuscando bien el codigo se puede impedir mucho, pero no completamente.

Pedro
11 de Marzo del 2005
Podrias enviar junto con los datos un md5 del propio jar y comprobar que coincide con el md5 del jar original ... (md5 u otra funcion hash)