Sie sind auf Seite 1von 8

MAXConvert - PlayStation 2 Code Conversion Program Program and documentation by Pyriel Based on MAXCrypt source originally created by Parasyte

Action Replay Version 2 encryption/decryption routines courtesy of Misfi re (MAXCrypt documentation by Parasyte. Included below to help describe AR MAX fea tures.) [ What's New ] v0.7 - (01-04-2005) + All decryptions built into Gameshark Version 3 supported. Including the two used for line 2 of two-line code types (codes beginning with 3, 4, 5 and 6). All codes encrypted to Gameshark Version 3 are still in key 2 (second digit 4 or 5 after encryption). Encryption is not fully supported at this time, but some of the routines are included in the source. v0.61 - (01-02-2005) + The second version of encryption for GSv3 (codes with 8 or 9 in the second dig it). You can only decrypt codes in this encryption for now. The GSv3+ is cap able of accepting multiple encryptions, so it's unnecessary to match the offi cial list. Some time soon, a new version will come out that at least supports decry ption of all types of GSv3 codes. This version is provided to deal with the c ommonly used keys. + Master conversion is now better supported when doing conversions to and from A R MAX to some other device. + Fixed a minor bug with multi-address write codes that caused an extra line of zeroes to be output in some cases. v0.6 - (07-21-2004) + Cleaned up and simplified source. + Fixed a few code type conversions that could result in errors. + Added the "Condense" option for conversions. + New code types - AR MAX two-line writes. + Added error output for conversion errors. + Output arrays are now dynamic to accommodate large conversions and code types that go 1 line -> many from one device to another. v0.5 - (07-16-2004) + Initial quick 'n dirty beta release. please send bug reports to pyriel@piedpiperplayers.com [To Do] ? Allow GSv3 key to be specified when encrypting ?

[ About MAXConvert ] This is the culmination of about 10 hours of work, mainly to see if I could pull it off quickly. I made some programming decisions I'm not proud of due to time constraints, but hopefully I'll be able to correct that as time permits. This program is built around the code for MAXCrypt. Doing so was perhaps not th e best way to accomplish this. It does work however. Many thanks to Parasyte for creating that program and to Misfired of xploderfreax for the AR2 encryption routines. Also thanks to Hellion of thegfcc.com for all the hours spent compari ng notes on MAX Commands. Apologies to Vampmaster. The code is included in the zip file. Feel free to use any part of it in your o wn programs. [ Program Notes ] NOTE: WHEN MAX RAW IS THE INPUT, PLEASE BE CAREFUL TO SELECT THE APPROPRIATE VERIFIER MODE (EITHER AUTO OR MANUAL). FAILURE TO DO SO WILL LEAD TO INCORRECT RESULTS. YOU SHOULD CHOOSE AUTO WHEN THE INPUT CODE HAS NO VERIFIER AND MANUAL WHEN IT HAS A VERIFIER. What it does: 1. Encrypts/Decrypts codes in any known format. Handled formats: AR MAX, AR2v1/GS2v1, AR2v2/GS2v2, GS2v3-4, CBv1-6/XPv1 -3 standard RAW, AR MAX RAW. Not handled: CBv7+, GSv5 (probably just need to drop the first line of every code for this one). 2. Direct conversions of older (non-MAX) formats by decrypting then re-encryptin g. 3. Conversion of older formats to AR MAX Code types handled: 8-bit, 16-bit and 32-bit writes 8-bit, 16-bit and 32-bit increments/decrements 32-bit, multi-address write 16-bit pointer write (AR2v2 only) 32-bit equal, activate all 16-bit single-skip comparisons 16-bit multi-skip comparisons Master codes (limited usefulness) Codes types not handled: 32-bit, multi-address writes with value increments (to be added) Copy bytes (no MAX command for this) CB2v7+ logical and/or commands (some conversions possible) Timer commands (no MAX command for this) CBv?-6 16-bit offset write

4. Conversion of AR MAX to older formats Code types handled: 8-bit, 16-bit and 32-bit writes (including fills) 8-bit, 16-bit and 32-bit increments/decrements 16-bit pointer write (AR2v2 only) 32-bit equal, activate all 16-bit single-skip comparisons 16-bit multi-skip comparisons 16-bit two-skip comparisons Master codes (limited usefulness) Codes types not handled: Unsigned comparisons (all) 32-bit and 8-bit comparisons (except the one above) 5. Immediate encryption of codes converted from/to AR MAX.

[ About the Condense Option ] The condense option currently only functions when going from AR MAX to any nonMAX format. This option will attempt to condense fill codes (including limited support for multi-line writes) to the fewest number of lines possible. When the option is off, there will be fill + 1 lines of output for any code with a fill specified. I highly recommend turning this on unless you need to see a ful ly exploded conversion.

[ About the Conversion Info Display ] Sometimes there are codes that simply cannot be converted. This display serves to identify when that occurs. It also attempts to warn you of possible problems wi th the code that may exist, even though it could be converted. Some of the error messages are as follows: (All messages contain either INPUT or OUTPUT in the message. It can be a little murky where the error actually lies, but this distinction will help you start looking) < XXXX cannot be converted > (or similar) The input code line cannot be converted to the output format specified. Conversion will continue with the next line of code, but the output code may not function properly on the target device. < line count in joker code greater than lines in code > The input code contains a joker with a line count that exceeds the numbe r of actual lines in the code. < unusable size specified in code > (AR MAX input only!) The input AR MAX code has a line containing a size bit-string greater th an

supported. You should never see this message unless the code is severel y messed up. < unusable type specified in code > (AR MAX input only!) The input AR MAX code has a line containing a type bit-string greater th an supported. It is unlikely you will see this message. < Unable to expand array to accomodate slide/fill > (AR MAX input only!) This is a program error. You're either running on a 286, running a few dozen apps or MAXConvert is leaking memory like malt liquor. Close the app if you see this. If the problem persists, submit a bug report. < specified fill too large. Line not converted. > (AR MAX input only!) The maximum fill value is arbitrarily set at 1,000. If you see this err or convert the input AR MAX code to raw and check for errors. More than likely, the code contains the wrong type of write on one or more lines o r you're attempting to convert a verifier line (most verifiers look like a 16 or 8-bit write with an enormous fill). < cannot convert directory codes > The code specified is a directory code. It's unnecessary and impossible to convert these into anything any other device can use.

[ Bug Notes ] All bugs I know of have been fixed. That doesn't mean it's bug free, but there is nothing to put in this section at the current time. This is just an early release, so please send any bugs you encounter to me at pyriel@piedpiperplayers.com. Thanks.

********************* *** [ What's New ]

MAXCrypt Documentation

***********************

v1.3 (03-18-2004) [Pyriel] + New Verifier Features Added Mode selection Added new options: Sequential and Folder-sequential + New manual Code ID entry dialog. Used with the sequential verifier modes. + Exclusive Activation checkbox. Used with Folder-sequential mode. * Removed "Fool-proof" check that prevented encryption of single-line codes when the auto-verifier option was off. Be wary that you can now improperly encrypt codes without a verifier, but you can also create folders and possibly other optional features in AR MAX code lists. * Fixed the text limit on the Game ID. You can now use the full 13 bits on manu al entry. Anything over 13 bits will be truncated.

v1.2 (03-11-2004) * Cleaned sources, now builds multiple objects, etc. + New auto-verifier features: Region signature selection Automatic Master Code detection * Updated AR v2 crypto routines * Skipped a version number to synchronize with GCNcrypt :P = Many thanks to misfire of xploderfreax.de for the AR v2 source. Again, I appologize for leaving your mention out of v1.0 v1.0 (02-27-2004) * Initial release

[ To Do ] Only thing I can think of to say here is maybe adding a method of remembering the last auto verifier setting. So you advanced hackers don't have to disable the option each time you load the program.

[ About MAXcrypt ] I started this project a few hours ago, and was surpised how little I had to change the GCNcrypt sources to handle AR MAX codes. After changing only a single 8-byte table, the program was decrypting codes correctly without error. Meaning the CRC bits were matching up and everything. The data did not look decompressed, however. That is when I noticed the program was spitting out only partially decrepted codes. The second layer of encryption is the old, crappy AR2 encryption. So I've included some AR2 crypto routines to handle the second encryption layer. Also of note is that it has full support for the DEADFACE codetype, just incase anyone tries to be sneaky about encrypting their codes!

[ Some Notes About the Program ] You can't just pull any random line out of a code and decide you want it decrypted. Because of the verifier code, you must decrypt an entire 'code group' in one go. A code group is just a set of codes, either each code on it's own line, or having data between\around them. When the program finds one line of text without a code, it considers it the end of a code group, and proceeds to decrypt\encrypt that code group and verify. If verification fails, a message box will open, telling you which code group failed verification. The decrypted result will still be sent to output, so you can see if it is a program- or user-error. Codes can only be decrypted if the follow the format, "xxxx-xxxx-xxxxx." Encrypting codes is an entirely different process. Each code must have a 'verifier' in order to use it on your AR. MAXcrypt can generate a verifier for you, but the only way to do that is the enable the "Auto Verifier" option in the lower left hand corner of the program window. With this enabled, you can enter a 4-digit hex value which I'm calling the "Game ID." Each game has a unique ID number which is exactly 13 bits wide. This means the ID number can be anywhere from 0000 - 1FFF. If you know the Game ID for the game you've hacked, type it into the Game ID edit box. Then encrypt each code WITHOUT entering a verifier line. If you do not know the Game ID, simply enable the Game ID, then

decrypt the "(M)" Enable Code for the game. The program will automatically enter the Game ID for you. Encrypting codes with the auto verifier feature DISABLED is recommended only for advanced users. You will want to know the exact verifier code format before attempting encryption without the verifier generator. With the feature disabled, you must enter your own verifier for every code you encrypt. The verifier MUST follow the format below, and keep in mind that the code will NOT work on AR MAX if you are not using the correct Game ID. Codes can only be encrypted if they follow the format, "xxxxxxxx xxxxxxxx." [Verifier Modes] Manual - See the Avanced Code Encrypting section. This behaves almost exact ly like previous versions when the Auto-verifier or Game-ID mode was o ff. Auto - Operates exactly like previous versions.

Sequential - A mix of manual/auto. You must specify a Code ID seed in the Code ID box, in addition to selecting the region and setting the Game ID bo x. The Code ID seed will be incremented for each code after the first. Folder ill he codes you want encrypted and press "Encrypt", the folder code will be created and EVERY code in that block will recieve a verifier that results in it being in that folder on the code list. Only one folder can be handled and it won't track across multiple encryptions. Sorry, if you want subfolders, you'll have to stick to manual mode. When Folder Mode is active, you may select the Exclusive Activation box. Setting this option will create a folder that only allows one code within it to be active at a time. For instance, if you had a code for zero money and a code for max/infinite money, there's no reason why they should be active simultaneously. Setting this opti on on the folder and putting those code in it will allow the AR MAX to prevent that. [ Advanced Code Encrypting Example ] Not everyone will like the auto verifier option, so when you disable it, you're disabling the option altogether. With it disabled, you must enter your own verifier for each and every code encrypted. The program will not attempt to generate one for you, or even correct the verifier you've entered. For this reason, it is recommended you do not disable the auto verifier unless you know what you are doing. I will not provide support for this feature! The verifier is nothing more than a good sized set of bit strings. These bit strings are values with very specific bit widths. - (Folder Sequential) Much like Sequential, except the Code ID seed w be used as the Code ID of a folder code. Once you've entered all t

AR MAX verifier format (64-bits) ccccgggggggggggggiiiiiiiiiiiiiii iiiimurresssxxxxxxxxxxxxxxxxxxxx c: g: i: m: u: r: e: s: x: Code CRC Game ID Code ID Master Code Unknown Region, 00 = USA, 01 = UK, 10 = Japan, 11 = Invalid? Expansion (1 = off) Expansion Size Expansion Data

If bit 'e' is 0, Expansion Data is enabled. When enabled, the expansion data is read as a bitstring with a width of 's.' The following bit is another expansion bit 'e.' Repeat reading in expansion size and data until an expansion disabled is read, or until the end of the code is reached. If the end of the code is reached, the verifier is invalid. Expansion data is used for extra features, such as creating "directories" in your code list. The expansion data 'x' bits are variable sizes. The size range is from 6 to 32 bits, and CAN roll over into all consecutive lines of the code. Directly following the expansion data bit string is another expansion 'e' bit. Expansion bitstrings are read by MAXcrypt when decrypting codes, but the data is not processed. Game ID bits must match on every code for a single game. The Game ID must be unique to each game in the code list. Code ID bits must be different for each code for a single game. Master Code bit sets the code as the game's "(M)" Enable Code. This is the verifier format, use this information when encrypting without the auto verifier option. [ Folder Code Encrypting Example ] Folder verifiers are built using the expansion data from the verifier format shown above. ccccgggggggggggggiiiiiiiiiiiiiii iiiimurresssxxxxxxxxxxxxxxxxxxxx the bits in sss are as follows: duh d - directory participant. Either the root folder itself or a code within it. u - unknown. h - folder root. Codes with this bit set are recognized as folders. For the actual folder, dur (sss) = 101. For codes within the folder dur = 100. The expansion data is set differently, depending on whether the code is the root folder or a code within the root. xxxxxxxxxxxxxxxxxxxx

For the root folder: xxxx xxxe axxx xxxx xxxx x - unused or unknown in this context. e - exclusive activation a - this bit is always set in the folder root. For all codes within the folder: xxxxxxxxxxxxxxxxxxxx The entire bit string of the expansion data is (Code ID from folder root << 1) + 1. That is, take the code id from the folder code, shift all the bits left 1 and th en make the last bit 1. The relationship between the root folder's code ID and the expansion data of the codes within the folder is how the AR MAX organizes its directories. If the exp ansion data of a code contained in a folder is entered wrong, it will appear on the mai n list instead of in the folder. [ Disclaimer ] This program, source code, and documentation are all provided 'as-is' with no warranty. The program source code is GPL'd, so follow the GPL rules with that and stuff. If you decide to rip off some work, make some use of it by opening it to the general public. :) Cheers to misfire, for all of the interesting AR and Xploder stuff. ;) iN tHE mIND for getting me upset enough to create MAXcrypt. Without their unintentional bragging about AR MAX encryption, MAXcrypt would probably never have come to be. And cryptbreaker.tk for the AR MAX goodies! WORK IT HARDER.

Das könnte Ihnen auch gefallen