Ups, acabo de postear mas o menos del mismo tema en otro post. Aun no habia llegado a leer este.
Sorry.
http://www.elotrolado.net/showthread.php?s=&postid=1704927249#post1704927249
por lo menos en este hilo parece haber un nuevo candidato a conversar de este tema.
Te explico Dr Katts;
mas o menos el checksum es lo que te ha explicado Darksilvano. Pero aparte de Checksum tambien hay otras funciones que tienen la misma finalidad. Como pueden se los "Codigos de Redundancia Ciclica", más conocidos como CRCs que son un tipo de "Hash".
Total: que su finalidad es comprobar que una parte del archivo no haya cambiado (sea por perdida de datos o por modificación a proposito), algunos tienen la capacidad de poder regenerar los datos perdidos, o sino, parte de ellos.
Para informarte mejor tienes, por ejemplo, la wikipedia, que esta en español:
http://es.wikipedia.org/wiki/Checksum
http://es.wikipedia.org/wiki/CRC (Español)
http://en.wikipedia.org/wiki/Cyclic_redundancy_check (Ingles)
etc...
Busca por internet, el mejor recurso de la información.
Para descubrir donde se encuentra el codigo de comprobacion de error, es bastante facil, solo has de comparar dos partidas guardadas con el minimo de diferencias posibles (recomendable los que llevan registro de tiempo, dado que solo modifica el tiempo), me explico:
1.- Consigues una partida guardada. Haces un backup en tu pc.
2.- Cargas el save en la DS y seguidamente guardas en el mismo slot (si tiene varias ranuras donde guardar).
3.- Sacas el nuevo save al PC y haces una comparación de los dos que tienes.
4a.- Si los dos saves son idénticos, quiere decir que no tiene ningun tipo de registro, sea de tiempo jugado, sea de lo que sea (o no le has dado tiempo suficiente). Si te ocurre esto, deberás repetir el paso 2 pero esta vez modificando algo dentro del juego, sea el dinero, HP, etc...
4b.- Si los dos saves son diferentes, las diferencias entre ellos serán justamente los registros que haya hecho el juego + los codigos de comprovación. Solo has de saber diferenciar entre los registros y los "checksums".
5.- A partir de aqui queda descubrir que tipo de Algoritmo usa para calcular ese codigo de comprovación, y asi calcularlo nosotros una vez modificado el save, o simplemente eludir su comprobación.
Le he echado un vistazo al codigo ese y no corresponde con la idea que tenia en mente de como saltarse la comprovación... tampoco he acabado de entender su funcionamiento porque no conozco los archivos "tab.bin", ni "multibootloader-de.dmp".
Te agradeceria que me pasaras los link de donde has sacado info util sobre este tema, para enriquecerme yo tambien.
Como he comentado en el otro post, tengo la idea de desarrollar un programa para descubrir los codigos de comprobación por fuerza bruta. Espero que podamos charlar mas en profundidad de este tema, ya que nos interesa.