I agree that the process of analyzing the player password mechanism would be a huge waste of time. If you really want to customize a player at your discretion then just edit a real player to you liking.
That being said, I DO think that the task could be accomplished.
The easiest way to freely alter a created player would probably be to use a utility like the Savegame-extracter that loads with GeckoOS, a custom software package for the Wii. It allows you to dump savegames that cannot normally be copied or accessed outside of the game onto your SD card. Once that's done, one would need to isolate the saved data on created players and, presumably with a hex-editor and potentially quite a lot of slight changes to characters followed by new dumps, the relevant memory locations of player attributes could be found.
As for actually cracking the algorithm that generates player passwords, I also think it could be done--just with a HUGE amount of work (if any of you are in college and can apply for either a grant or at least some commendation for engaging in an independent research project, this could be interesting...). The task would take a good bit of research into cryptoanalysis methods, well beyond the little that I know. But I do have a few ideas (they're mostly scattered). Now, because the passwords are designed to be shared, it would seem to follow that the same cryptographic method/encoding key (the type of function that turns traits into symbols would have to be shared in each unique copy of the game). I can discuss a few methods that would probably lead to some breakthroughs in understanding how the plaintext player data is manipulated to the ciphertext player password.
One starting point could be through something called a
"Birthday attack". As you'll see in the link, you'd need to find two inputs x1,x2 such that f(x1) = f(x2)--a collision. In layman's terms, draw upon a repository of codified data tables for created players (an efficient, consistently organized database with relevant player data listed and the corresponding password linked to it), a sort of ability corpus or concordance, and find two (or more) player details that are represented in the same way in the passwords (ciphertexts). Repeated work with this method would (theoretically) gradually reveal the meaning of different parts of the password (and eventually its whole). Of course this would require a very large database of processed plaintext player data tables and their ciphertexxt passwords. But there are many computer programs out there that aid in this process:
http://en.wikipedia.org/wiki/Concordancer.
It would also be very helpful to generate a "frequency list" so that the number of times that specific data exists in the player description tables could be compared to a similar list that indexes the occurrences of combinations and patterns of ciphertext (password symbols) of varying length. Again, the software could again in the generation and comparison of the frequency lists, given that the data is available in a readable form.
It would also be very helpful to use this list to determine the index of coincidence between plaintext sequences and ciphertext sequences. This type of analysis could reveal information about the nature of the encrypting key or algorithm, as well as it's length or complexity. Once a strong frequency relationship can be established and some information about the encryption mechanism has been learned, it ought to be only a matter of (a very long) time before the cipher is hacked, at least to a useful level.
Sooooooo, yeah. That's what I mean by not worth it. Though I do not know very much about these processes, I hope that this gives you an idea of the project that would need to be undertaken in order to satisfy the countless posts about cracking the codes :p
Good luck!
Ben
