Si se modifica una aplicación móvil firmada, su firma y suma de comprobación dejarán de ser válidas.
¿Es posible falsificar una nueva firma válida?
En teoría, sí, es posible hacer una aplicación arbitraria y rellenarla de manera que el hash coincida, pero en realidad, esto es extremadamente difícil a imposible a menos que el hash utilizado tenga debilidades conocidas.
Un buen hash funciona porque tiene un gran número de salidas posibles y es difícil predecir la salida a partir de la entrada. Siempre que el hash tenga éxito en estos dos criterios, un atacante tendría que realizar una fuerza bruta al hacer cambios en su programa hasta que puedan obtener una colisión de hash. Dado que el espacio de colisión es tan grande en los hash seguros modernos, tomaría tiempos imprácticamente largos (de siglos o más) para generar una colisión de hash, incluso mientras se gastan los niveles de computación del gobierno en generar una colisión.
Las probabilidades para el atacante mejoran un poco si están tratando de producir una "versión buena" y una "versión mala" que coincidan intencionalmente ya que pueden "encontrarse en el medio" al hacer un montón de diferentes versiones buenas y una Un montón de diferentes tipos malos y solo necesito dos de ellos para que coincidan, pero aún así es muy poco práctico debido a la cantidad de cómputo que se requiere para administrar eso con hashes criptográficos modernos y seguros.
Puede haber varias formas de modificar el código sin cambiar la firma:
Lea otras preguntas en las etiquetas digital-signature mobile software integrity