Soy estudiante y puede que diga alguna burrada, pero tengo interes en saber los métodos de protección de los programas para una practica, que no he visto ningún ejemplo pero que creo que no seria complicado de hacer.
Paso a exponer un caso hipotético:
En una aplicacion de codigo abierto hay una dll que valida al usuario y permite la ejecución del resto del programa. Esta dll es de codigo abierto, y valida en el servidor al usuario, si tiene exito devuelve "true" y sino "false".
Si yo hiciese una copia del codigo (es codigo abierto) y modifico solamente el valor devuelto de "false" a "true" (siempre devolveria true). Y compilo la dll (mismo nombre) y substituyo la de la aplicación por la que he hecho. Asi al intentar validarme, aunque falle, el programa se pensara que estoy validado correctamente :/
¿Como se proteje uno de estos fallos de seguridad? (Teniendo en cuenta que el codigo HA de ser de codigo abierto).
PD: Ya he dicho que soy estudiante, espero no haber soltado una burrada. Si no se puede substituir solamente una dll, ¿que me decis si recompilo todo el programa?