An easier to understand password cracking system for Spiritual Warfare. Made by George Schott (soxandfur@aol.com) If you would like the program that does this work for you, instead of trying to crypt on your own, you are encouraged to email me. -------------------------------------------------------- More on password cracking - George Schott It took me a minute to figure out MJHayes's system, and I consider myself skilled, so let me try to explain this a bit simpler. Here is an example password : g98Mdfhj67twK1.B tTNzVogC00RRIDDh The first 8 characters (g through j in the password) represent your name. This guy's name is Adam. The first letter in his name is A, which on the chart below is 10. So you take 10 and add 32 to get 42 which is a g, which is the first character in the password. If your number is over 55 you subtract 64. I will demonstrate in the next character. The next character of his name is a d, which is a 39. For the second character you add 34, giving you a total of 73. Subtract 64 since it's over 55, and it will give you 9, which is a 9. 9 is the second character in the password. Do this for the third and fourth characters of the name (add 36 and 38 this time). For characters 5-8, since there is no letters, you add -1 to the values you add on to (40, 42, 44, 46), that also have a MOD of 64, which you dont use for those characters, in that instance. '0'= 0, '1'= 1, '2'= 2, '3'= 3, '4'= 4, '5'= 5, '6'= 6, '7'= 7, '8'= 8, '9'= 9, 'A'= 10, 'B'= 11, 'C'= 12, 'D'= 13, 'E'= 14, 'F'= 15 'G'= 16, 'H'= 17, 'I'= 18, 'J'= 19, 'K'= 20, 'L'= 21, 'M'= 22, 'N'= 23 'O'= 24, 'P'= 25, 'Q'= 26, 'R'= 27, 'S'= 28, 'T'= 29, 'U'= 30, 'V'= 31 'W'= 32, 'X'= 33, 'Y'= 34, 'Z'= 35, 'a'= 36, 'b'= 37, 'c'= 38, 'd'= 39 'e'= 40, 'f'= 41, 'g'= 42, 'h'= 43, 'i'= 44, 'j'= 45, 'k'= 46, 'l'= 47 'm'= 48, 'n'= 49, 'o'= 50, 'p'= 51, 'q'= 52, 'r'= 53, 's'= 54, 't'= 55 'u'= 56, 'v'= 57, 'w'= 58, 'x'= 59, 'y'= 60, 'z'= 61, '!'= 62, '.'= 63 The 9th character is your location : '0'= Park '1'= Downtown '2'= Slums '4'= Airport '6'= Prison '7'= Warehouse '8'= Hotels 'A'= Houses 'B'= Beach 'C'= Shipyard 'D'= Woods 'L'= Demon's Lair 'W'= Boss 1 'X'= Boss 2 'Y'= Boss 3 'Z'= Boss 4 'a'= Boss 5 'b'= Boss 6 'c'= Final Boss This character has a 6 for the 9th character and is in the prison. The next section uses binary. The 10th character is a 7, which means that you have the belt, brestplate, and boots. the Sword of the Spirit = 0 the Helmet of Salvation = 0 the Shield of Faith = 0 the Boots of the Gospel = 1 the Breastplate of Righteousness = 1 the Belt of Truth = 1 000111 is binary for 7. If you don't know how to convert binary to decimal go to : http://www.odsa.com/tools/binary.shtm The 11th character is a t, which means that Num Vials is greater than 128 = 1 Num Vials is between 64 and 127 OR if Num Vials is greater than 192 = 1 Ticket = 0 Raft = 1 Jawbone = 1 Torch = 1 110111 = 55 = 't'. This character, Adam, has 255 vials which means that the first two digits are both true, and both get 1, and he does not have the railroad ticket, but he does have the raft, jawbone, and torch. The 12th character is a w, which means that this character has 2 anointing oils and 10 heart containers. Have 1 or 2 Anoiting oils = 1 Have 2 Anointing oils = 1 Have between 8 and 12 heart containers = 1 Have between 4 and 7 heart containers OR 12 heart containers = 0 Have 3 or 6 or 7 or 10 or 11 heart containers = 1 Have 3 or 5 or 7 or 9 or 11 heart containers = 0 11010 = 58 = w. The 13th character is a K, which means that Adam has 20 half-hearts in his health. Since his heart containers is 10 and he has max health this is 20 and 20 = K. The 14th character is a 1, which means that Adam has 1 key. The 15th character is a ., which means that because he has 255 vials, if you write that in binary it is 11111111. Ignore the first two digits giving you 111111. 111111 in decimal is 63, which is the character '.' (period). The 16th character is a B, which means that you look at your Faith points (doves), which is 75. The binary value for 75 is 1001011. Look at only the last six digits which are 001011 which in decimal is 11. And 11 = B. The 17th character through the 26th characters are for if items such as heart containers have been picked up or not. The 27th character is represented by your pomegrantes and pears. Adam has 3 pomegrantes, represented in binary as 11. Adam has 3 pears, represented in binary as 11. Each number uses three binary bits (Because the most it can be is 100 which is 4.) The first 3 numbers are pomegrantes and the last 3 are pears. 011011 is binary for 27, which is R. The 28th character is the same way except for grapes and apples, which Adam also has 3 of each. 011011 is 27 which is R. The 29th character is represented by the number of faith points and bananas. Remember from earlier the number of faith points was 75 which was 1001011. We ignored the 10 from that number earlier, so we use it here as the first two digits for binary. This character also has 2 bananas, which is represented as 010. A binary number has 6 bits, and 10 and 010 make 5. So instead we stick a 0 in front (010 is the same as 10) to make it 010010 which is binary for 18 which is a I. The 30th and 31st characters are checksums. You add up all of the first 29 values. For this you add up g+9+8+M+d+f+h+j+6+7+t+w+K+1+.+B+t+T+N+z+V+o+g+C+0+0+R+R+I. Then you take that total and divide by 64. If you're interested in adding this, 42+9+8+22+39+41+43+45+6+7+55+58+20+1+63+11+55+29+23+61+31+50+42+12+0+0+27+27+18. That number is 845. 845 / 64 = 13 remainder 13. The remainder, 13, is the 30th character, which is a D. The quotient, also 13, is the 31st character, which is also a D. There is one last character which has not been solved / publicized yet that is probably a checksum. Let's try changing this character's name from Adam to Napstar. The original password was : g98Mdfhj67twK1.B tTNzVogC00RRIDDh '0'= 0, '1'= 1, '2'= 2, '3'= 3, '4'= 4, '5'= 5, '6'= 6, '7'= 7, '8'= 8, '9'= 9, 'A'= 10, 'B'= 11, 'C'= 12, 'D'= 13, 'E'= 14, 'F'= 15 'G'= 16, 'H'= 17, 'I'= 18, 'J'= 19, 'K'= 20, 'L'= 21, 'M'= 22, 'N'= 23 'O'= 24, 'P'= 25, 'Q'= 26, 'R'= 27, 'S'= 28, 'T'= 29, 'U'= 30, 'V'= 31 'W'= 32, 'X'= 33, 'Y'= 34, 'Z'= 35, 'a'= 36, 'b'= 37, 'c'= 38, 'd'= 39 'e'= 40, 'f'= 41, 'g'= 42, 'h'= 43, 'i'= 44, 'j'= 45, 'k'= 46, 'l'= 47 'm'= 48, 'n'= 49, 'o'= 50, 'p'= 51, 'q'= 52, 'r'= 53, 's'= 54, 't'= 55 'u'= 56, 'v'= 57, 'w'= 58, 'x'= 59, 'y'= 60, 'z'= 61, '!'= 62, '.'= 63 The characters Napstar are 23 36 51 54 55 36 53 -1. If we add the proper values (32 34 36 38 40 42 44 and 46) you get 55 70 87 92 95 78 97 45. Modifying any numbers over 64 gives you 55 6 23 28 31 14 33 45, which spells t6NSVEXj If you add up all those values (chars 1 - 29) you get 831 which when divided by 64 gives you 12 remainder 63, so character 29 is a '.' (period) and character 30 is a C. The last character for some odd reason is an A. I know this from trial and error. The new password for the same stats as Adam, but the name Napstar is : t6NSVEXj67twK1.B tTNzVogC00RRI.CA Now, let's take Napstar, and let him have the Sword. This was is the 10th character. So now the binary value would be 100111, which is 39, the letter d. Now the password is t6NSVEXj6dtwK1.B tTNzVogC00RRI.CA Now we have to change the check sums. From the old sum of 831, the new sum (Adding the change from 7 to d is 32) is 863, which when divided by 64 gives you 13 with a remainder of 31. 31 is a V and 13 is a D. The new password is t6NSVEXj6dtwK1.B tTNzVogC00RRIVDB You may have noticed I changed the last character to a B. That's one character different, but you NEED TO DO it for it to work. Again, trial and error. I'm not sure what the last character is though. This code does work, by the way. I think you *may* run into a problem though if you try to get the sword while you already have one. I'm not sure. Maybe the boss will just be dead. Using my program you get a nice password : t6NSVEXjB..yOZ.. tTNzVogC00aaqKGx I *believe* the last digit is x. I was trying them all and thought that it didn't work, but then i was at like the very bottom and it finally worked, worked well too =) This password gets you all the fruit, armor, items, vials, doves, keys. Note : Max keys are 35. Entering more (I entered 99 for the pass above) gets you 35 regardless lol. -------------------------------------------------------- Included is the ORIGINAL password cracking system. If you can't understand mine, try his. (Note : His is untouched, and he has given me permission to post this document.) -------------------------------------------------------- Spiritual Warfare Password partially cracked by mjhayes@cs.buffalo.edu February 12, 1998 While I give Wisdom Tree credit for writing Christian Nintendo games, the games themselves leave much to be desired. This game is little more than a Legend of Zelda ripoff, and it uses a password system instead of battery-backup savedata. 1. The first eight characters are an encryted form of your name. Value of character 1= (the first character of your name+ 32) MOD 64 Value of character 2= (the second character of your name+ 34) MOD 64 Value of character 3= (the third character of your name+ 36) MOD 64 Value of character 4= (the fourth character of your name+ 38) MOD 64 Value of character 5= (the fifth character of your name+ 40) MOD 64 Value of character 6= (the sixth character of your name+ 42) MOD 64 Value of character 7= (the seventh character of your name+ 44) MOD 64 Value of character 8= (the eigth character of your name+ 46) MOD 64 2. The ninth character represents your location. Enter the appropriate character using the lookup table below. '0'= Park '1'= Downtown '2'= Slums '4'= Airport '6'= Prison '7'= Warehouse '8'= Hotels 'A'= Houses 'B'= Beach 'C'= Shipyard 'D'= Woods 'L'= Demon's Lair 'W'= Boss 1 'X'= Boss 2 'Y'= Boss 3 'Z'= Boss 4 'a'= Boss 5 'b'= Boss 6 'c'= Final Boss The password is 32 characters long, and the character set contains 2^6 or 64 characters, which means that a character in your password can represent a 6-bit binary number. At the bottom of the file is the character set, which you will use to lookup the value of each character. One other bit of trivia; if you do not enter a value for a character, the interpreter reads it as a period by default. 3. The value of the tenth character is a 6-bit binary value. Each bit represents a piece of the Armor of God; whether you have it or not. A 1 bit means that you have the piece of Armor, a 0 bit means that you do not. The six bits represent, from MSB to LSB (Most Significant Bit to Least Significant Bit), the Sword of the Spirit, the Helmet of Salvation, the Shield of Faith, the Boots of the Gospel, the Breastplate of Righteousness, and the Belt of Truth. 4. The two MSBs of the value of the eleventh character represent the 2 MSBs of the number of Vials of the Wrath of God in your inventory. You can have up to 255 vials, which can be represented by an 8-bit binary number. These are the 2 MSBs, and the 6 LSBs are represented in another character. The 4 LSBs of the value of the eleventh character represent, from MSB to LSB, the Railroad Ticket, the Raft, Samson's Jawbone, and the Torch. 5. The two MSBs of the value of the twelfth character represent a 2-bit binary value. Each of the two bits represent one of the two slots reserved in your inventory for Anointing Oil. The four LSBs represent the number of heart containers you have, from a range of 3..12. I don't remember if entering a value out-of-range results in an invalid password or not. I think it results in background corruption. 6. The value of the thirteenth character represents your health, in half-heart increments. Again, I don't exactly remember what happens if you enter a value out-of-range, but I think it will result in background corruption. The value of the fourteenth character represents the number of keys you have, the value of the fifteenth character represents the 6 LSBs of the number of Vials of the Wrath of God in your inventory, and the value of the sixteenth character represents the 6 LSBs of the number of Faith Points you have. The 2 MSBs appear elsewhere. 7. The value of characters 17..26 are all 6-bit binary values. Each of the bits represent a boolean value for everything you have obtained. In other words, when you collect a heart container, Fruit of the Spirit, a piece of the Armor of God, an item, etc. then a bit becomes a 1 which tells the game that you have received that item, so the room containing the item should be empty if you visit that room again. 8. The 3 LSBs of the value of the twenty-seventh character represent the number of pears (meekness) you have. The 3 MSBs represent the number of pomegranates (love) you have. The normal range for Fruits of the Spirit is 0..4. You can enter a number above the range, but nothing happens past 4. The 3 LSBs of the value of the twenth-eighth character represent the number of apples (patience) you have. The MSBs represent the number of grapes (joy) you have. The 3 LSBs of the value of the twenty-ninth character represent the number of bananas (faith) you have. The 2 MSBs represent the 2 MSBs of the number of Faith Points you have. I don't know what the fourth LSB is for; it probably is nothing. 9. Characters 30 and 31 are checksums. Add the values of the first 29 characters, then divide by 64. Character 31 is the divisor, character 30 is the carry. 10. The last character is another checksum of some sort. For every password, it must be exactly one value, but I can't figure it out! I think it has something to do with the player name and the checksum, but I will give recognition to the person who figures it out. Here is the character set: '0'= 0, '1'= 1, '2'= 2, '3'= 3, '4'= 4, '5'= 5, '6'= 6, '7'= 7, '8'= 8, '9'= 9, 'A'= 10, 'B'= 11, 'C'= 12, 'D'= 13, 'E'= 14, 'F'= 15 'G'= 16, 'H'= 17, 'I'= 18, 'J'= 19, 'K'= 20, 'L'= 21, 'M'= 22, 'N'= 23 'O'= 24, 'P'= 25, 'Q'= 26, 'R'= 27, 'S'= 28, 'T'= 29, 'U'= 30, 'V'= 31 'W'= 32, 'X'= 33, 'Y'= 34, 'Z'= 35, 'a'= 36, 'b'= 37, 'c'= 38, 'd'= 39 'e'= 40, 'f'= 41, 'g'= 42, 'h'= 43, 'i'= 44, 'j'= 45, 'k'= 46, 'l'= 47 'm'= 48, 'n'= 49, 'o'= 50, 'p'= 51, 'q'= 52, 'r'= 53, 's'= 54, 't'= 55 --------------------------------------------------------------------------------- If anyone can figure out what the last character in the password stands for, please email mjhayes@cs.buffalo.edu