[C con Clase] Protección de datos

Samuel Porras samuelporras en gmail.com
Mar Dic 30 14:45:33 CET 2008


Muchas grácias programante, ahora si lo he entendido, yo intuía que algo 
programado que das a los usuarios podía ser modificado una vez 
compilado, me has resuelto una duda muy grande ya que si llego a seguir 
creando la base de datos creyendo que era 100% seguro hubiera tenido 
muchos bugs a la hora de programar un cliente.

Felices fiestas a todos y ya prospero año nuevo!!.

Programante escribió:
> Samuel Porras escribió:
>   
>> Bueno mi duda es la siguiente,
>> Si por un casual quiero hacer un programa que tenga unos datos que no
>> se puedan modificar, hasta que punto un .exe o una dll creada en C y
>> C++ puede estar protegida, se que en las clases esta el protected y el
>> private, pero eso no quita que alguien con un editor hexadecimal o
>> cualquier programa pueda modificar un exe o una dll, no?
>> Sería una buena opción usar una base de datos con esos datos para
>> todos los usuarios del programa?
>>     
> La protección perfecta no existe, dado que les vas a dar el programa
> para que puedan usarlo. Lo único que puedes hacer es añadir
> dificultades, pero alguien suficientemente determinado, podrá seguir
> rompiéndolo.
>
>   
>> Ej: Un juego en red, por ejemplo un personaje tiene 100 de hp y solo
>> puede saberse con una formula mediante la vitalidad que tenga ese
>> personaje, si esa formula es una función en una dll, puede ser
>> modificada por un programa externo y tener 1000hp en vez de sus 100hp
>> que le corresponden, verdad?
>>     
> Este caso es algo diferente. No podrías evitar al 100% que jugando por
> su cuenta (tras mucho esfuerzo para modificarte el programa) puedan
> cambiar las condiciones del juego. Pero si están jugando en red con
> otros clientes originales, esto podría ser detectado.
> Por ejemplo, todos los jugadores podrían conocer lso hp de todos los
> personajes. Si se lleva la cuenta por parte de todos, verían que sigue
> luchando cuando debería haber muerto, detectarían que al atacarle no
> queda herido, etc. El jugador podría haber cambiado su programa para
> empezar con 1000hp, pero si todos los demás clientes le desconectan
> cuando pasa de 900hp (tras perder los 100hp) no le servirá de nada.
> El caso más completo de control sería cuando todos los jugadores conocen
> toda la partida. De ese modo, no podría "inventarse" que tiene un elixir
> por ejemplo. El problema es que si el programa lo conoce todo, el abuso
> puede provenir de mostrar los datos que el juego conoce pero el cliente
> original no muestra al usuario.
> Si en vez de ser un juego entre iguales hay un servidor, el problema se
> simplifica mucho ya que las comprobaciones puede realizarlas el
> servidor, revelando a los clientes únicamente los datos que deberían
> saber. Las partes al conectarse depositan la confianza en el servidor,
> que es quien monitoriza que no haya abusos.
>
>
>   
>> Usando campos private o protected ( son dos cosas diferentes pero
>> tienen mucha mas proteccion que un campo public ) estarán esas
>> formulas protegidas de curiosos?
>>     
> Protected y private es algo interno para organizar la programación. Una
> vez compilado, da igual que lo hubieras hecho public, protected o private.
>   
>> Espero haberme explicado bién.
>> Un cordial saludo a toda la lista y muchas grácias.
>>
>>     
> Un saludo. Felices Navidades.
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>   




Más información sobre la lista de distribución Cconclase