--------------------------------------------------------------------------- - METAL GEAR SOLID PORTABLE OPS UNIT HACKING GUIDE - - (syizm@yahoo.com) version 0.30b - --------------------------------------------------------------------------- [04.NOV.2009] --------------------------------------- - - - - - - - - - - - - - - - - - - - - - T A B L E O F C O N T E N T S - - - - - - 1. INTRO - - 2. GETTING STARTED - - 3. HACKING UNITS/CHARACTERS - - 4. MODIFIERS - - > ITEMS/WEAPONS - - > RANK - - > STATS - - > SKIN/CLASS - - 5. CREDITS/OUTRO - - - - - - - - - - - - - - - - - - - - - - - --------------------------------------- ---------------------------------------- - INTRO - - - - - - - - - - - ---------------------------------------- This is a pretty straight forward guide to demonstrate how to hack Metal Gear Solid: Portable Ops' memory. This guide WILL NOT work for Portable Ops Plus. In sections through this guide, Metal Gear solid: Portable Ops will simply be referred as MPO. Portable Ops Plus, when referenced, may appear as MPO+. It's not hacking in a conventional sense. It DOES NOT involve illegally modifying the UMD, or the game data in anyway. Then how does 'hacking' this game work? It works be hacking the memory of the game as it is running. It does NOT involve hacking the games save files. However, save files produced with this guide will work on any PSP/MPO game. If you do not know how to tap in to and hack the memory of the PSP while it is running, I suggest you look elsewhere for that information, as it isn't contained in this guide. Please do not e-mail me asking me for help regarding accessing the memory of the PSP while it is running. You will also need a basic understanding of hexadecimal, and the ways that hacking memory/save files works using hex editors. Again, look elsewhere for that info. There are plenty of hexidecimal and save hacking tutorials online. This guide lays out what addresses need to be hacked - now how to hack in general. Lastly, this guide is in a very premature/beta stage. Please be patient as updates are forth coming. --------------------------------------------------------------------------- --------------------------------------------------------------------------- ---------------------------------------- - GETTING STARTED - - - - - - - - - - - ---------------------------------------- First, once you have the memory of MPO pulled up, you will need to search for a text string of the characters name you wish to hack. For example, if you wish to hack "Jonathon" - the first prisoner you persuade in the game, search for his name, or a part of his name, such as "Jonat". The more letters you search for the more defined the results will be. Once you have found the characters name, and it's hex address, we can begin hacking that characters stats. Everything from character type/skin, to all of his or her stats, to even the equipment being held can be edited. But the first and most vital step is locating the characters name. It may help to rename the unit something more unique than the 'generic' animal names they are imprisoned with. All hex offsets that need to be edited will be referenced from the FIRST letter of the characters name. For example, byte 00 is LETTER 1 of the units name. So, searching for and finding Jonathon, byte 00 will be the letter "J", byte 01 will be "o", etc. Byte 16, which occurs 16 bytes after the first letter of the characters name is the RANK byte, and controls the RANK of units which have rank (ie corporal, major, etc). Right now the only byte BEFORE the characters name which I have discovered occurs 12 bytes before the FIRST letter (byte 00) of the units name, and is labeled as such; byte '-12' - this byte controls what appearance of the character, allowing you to become any type of unit you wish. Lastly, as a final example, say you've found the units name whom you wish to hack, and you want to raise his Sniper Rifle skill from a 'B' to an 'S' then you need to find the FIRST letter of that units name, then go foward exactly 52 bytes/offsets, and raise the value from '01' to '03'. You may also notice that there are essentially TWO sets of identical data in reference to the character you wish to edit. The first set of data, that is, the set with the lower address value, is the data that will actually impact the game. The second set of data has unknown uses. It's possible that the second set of data is used to filter out hacked units when importing in to MPO+. --------------------------------------------------------------------------- --------------------------------------------------------------------------- ---------------------------------------- - HACKING UNITS - - - - - - - - - - - ---------------------------------------- This section entails hacking units. Byte/offest 00 is the FIRST letter of the units name. The actual hexidecimal address for this byte will vary from one unit to the next, so you need to search for a text string to locate the units name. The names are all spelled in basic ASCII, so if you want to find 'OCTOPUS', then simply search for 'OCTOPUS'. Once you've found the address, byte 00 will be the letter "O", and the first letter of the unit's name. Keep in mind that "byte 0" (the first letter of the units name) may occur at any point in a line of bytes - it is not always the first byte in a new line. This can add some confusion to the editing process, and is the primary reason this guide is written the way it is. If this doesn't make sense to you, it will after you edit a few units. The editor I was using for hacking the memory only has 13 bytes per line; most common hex editors have 16 byes a line. ------------------ EDITING STATISTICS ------------------ Editing the statistics of the unit, such as HP or stamina is as easy as finding "byte 00" and then correctly identifying the address that needs to be changed. Basic statistics are easy to change. ------------------------ A WORD ON CAREERS & RANK ------------------------ In general, a soldier will only have one or two careers, and perhaps a rank. There are only FOUR slots available to view what careers a unit has, as well as the rank. However, using this guide, it is possible to have all 16 careers concurrently. This is a bit of a conflict, as only four careers will show when you select a unit for management. Note that all careers will still function, however. --------- MODIFIERS --------- Many addresses/bytes will have MODIFIERS associated with them. If you wish to edit what sort of item a unit is currently carrying, please go to the modifier section for ITEMS/WEAPONS and see what values you will need to put in to make the appropriate changes and get the results you want. Certain item/weapon modifiers have NONE listed. This will actually show 'NONE' displayed in the item slot instead of a blank space. [BLANK] for the modifiers means that no text shows up at all. ----------------------- UNDERSTANDING THE GUIDE ----------------------- Listed below is the information on each byte of a characters information "block", and is referenced from the FIRST letter of the characters name, or byte "00". Each number listed below on the LEFT side of the guide is the byte value corresponding to the first letter of the units name. So, "16" is 16 byes forward of the first letter of the units name, and has the description listed next to it; "Rank". Decriptions listed as [UNK] have unknown effects. ------------------------------------ BYTE NUMBER AND EFFECTS LISTED BELOW ------------------------------------ [##] - [DESCRIPTION] - - - - - - - - - - - - - - - - - - - -16 - Unit Number -15 - Generic/Unique Identifier -12 - Skin/Class (See Notes) -08 - Unit Type Identifier -04 - Unknown, however: 0x01 is the regular offeset. 0x02 makes the unit disappear from manage. 0x03 causes the unit to be "disabled". -15 - Generic/Unique Unit 00 - Unit Name [1st letter] 01 - Unit Name [2nd letter] 02 - Unit Name [3rd letter] 03 - Unit Name [4th letter] 04 - Unit Name [5th letter] 05 - Unit Name [6th letter] 06 - Unit Name [7th letter] 07 - Unit Name [8th letter] 08 - Unit Name [9th letter] 09 - Unit Name [10th letter] 10 - Unit Name [11th letter] 11 - Unit Name [12th letter] 12 - Unit Name [13th letter] 13 - Unit Name [14th letter] 14 - Unit Name [15th letter] 15 - [UNK] 16 - Rank (See Notes) 17 - [UNK] 18 - [UNK] 19 - [UNK] 20 - Current HP #1 21 - Current HP #2 22 - [UNK] 23 - [UNK] 24 - Max HP #1 25 - Max HP #2 26 - [UNK] 27 - [UNK] 28 - Current Stamina #1 29 - Current Stamina #2 30 - [UNK] 31 - [UNK] 32 - Max Stamina #1 33 - Max Stamina #2 34 - [UNK] 35 - [UNK] 36 - Sense Skill 37 - [UNK] 38 - [UNK] 39 - [UNK] 40 - [UNK] 41 - [UNK] 42 - [UNK] 43 - [UNK] 44 - Career Modifier #1 45 - Career Modifier #2 46 - [UNK] 47 - [UNK] 48 - Pistol Rank 49 - Submachine gun Rank 50 - Assault rifle Rank 51 - Shotgun Rank 52 - Sniper Rank 53 - Heavy Weapons Rank 54 - CQC/Knife Rank 55 - Throwing Weapons 56 - Traps 57 - Technical Skill 58 - Medical Skill 59 - [UNK] 60 - Top Item Modifier (See Notes) 61 - Top Item Type (See Notes) 62 - Right Item Modifier (See Notes) 63 - Right Item Type (See Notes) 64 - Bottom Item Modifier (See Notes) 65 - Bottom Item Type (See Notes) 66 - Left Item Modifier (See Notes) 67 - Left Item Type (See Notes) 68 - [UNK] 69 - [UNK] 70 - [UNK] 71 - [UNK] 72 - [UNK] 73 - [UNK] 74 - [UNK] 75 - [UNK] 76 - Times Deployed (more research needed) --------- N O T E S --------- The Skin/Class modifier changes the physical appearance of the unit, including the gender. This is the ONLY way to obtain certain types of units like Naked Snake, Roy, and the camoflauge lynx soldiers that are normally only available in the Japanese version of the game. ALWAYS remember that this byte occurs BEFORE the first letter of the units name. The 'Rank' modifier seems to only work on certain units, such as the common Lynx soldiers and male and female officers, who will be Private 1st Class, corporal, major, etc. Units which don't have a rank to begin with, like doctors, will have information stored in the rank byte, but it will not display on their screen. More info is needed to figure out why this is. Item Placement as per memory goes as follows: TOP ITEM 1 LEFT ITEM RIGHT ITEM 4 2 BOTTOM ITEM 3 --------------------------------------------------------------------------- --------------------------------------------------------------------------- ---------------------------------------- - MODIFIERS - - - - - - - - - - - - ---------------------------------------- Modifiers are the values, in hexidecimal format, that you put in to the addresses listed for the specific bytes above. ---------------------- ITEM/WEAPON MODIFIERS: ---------------------- ----------------------------------------------------------------------- - NOTE : The item/weapon modifier slots are two byte modifiers. It's - - easiest explained that the first byte controls WHAT item you - - are actually receiving. Changing the second byte to a 40 - - changes the weapon into an item. 00 is for weapons, 40 is - - for items. - ----------------------------------------------------------------------- 0000 - NO ITEM 0100 - Knife 0200 - Spetsnaz Knife 0300 - Mk.22 0400 - M1911A1 0500 - S.A.A. 0600 - Scorpion 0700 - Uzi 0800 - M16A1 0900 - XM177e2 0A00 - AK-47 0B00 - M37 Shotgun 0C00 - M870 Shotgun 0D00 - M63 0E00 - SVD 0F00 - MOSIN N 1000 - RPG-7 1100 - M110 1200 - Laser Rifle (Sp.) 1300 - Machete (Sp.) 1400 - NONE (Sp.) <-- Can not be removed. 1500 - Grenade 1600 - Stun Grenade 1700 - Chaff Grenade 1800 - Smoke Grenade 1900 - LN G (Sp.) 1A00 - TNT 1B00 - Time Bomb 1C00 - Claymore 1D00 - Magazine 1E00 - Shield 1F00 - GA-KO 2000 - Bowie Knife (Sp.) 2100-2800 - NONE (more research needed?) 0140 - Medical Kit S 0240 - Medical Kit L 0340 - Ration S 0440 - Ration L 0540 - Pentazemin 0640 - Binoculars 0740 - Thermal Goggles 0840 - NVG 0940 - Mine Detector 0A40 - Body Armor 0B40 - Cardboard Box 0C40 - Key B 0D40 - Key C 0E40 - Key D 0F40 - Key A 1040 - Key E 1140 - Secret Doc 1240 - Blueprints 1340 - Bandana 1440 - Stealth (disappears in game) 1540 - [BLANK] 1640 - [BLANK] 1740 - [BLANK] 1840 - [BLANK] 1940 - [BLANK] 1A40 - [BLANK] 1B40 - 9MM-T ammo 1C40 - 9mm ammo 1D40 - .32 ACP ammo 1E40 - .45LC ammo 1F40 - .45ACP Ammo 2040 - 5.56 Ammo 2140 - 7.62X39mm ammo 2240 - 7.62x54R ammo 2340 - 7.62mm T ammo 2440 - 12 gauge 2540 - HEAT Ammo 2640 - MK22SPR 2740 - MK22SPR 2840 - XM177SPR 2940 - MAC10SPR 2A40-3040 - NONE (more research needed?) --------------- RANK MODIFIERS: --------------- 00-REMOVE RANK 01-Private 1st Class 02-Corporal 03-Sergeant 04-Senior Lieutenant 05-Captain 06-Major 07-[JAPANESE WRITING] 08-[Causes game to freeze] --------------------- STAT CLASS MODIFIERS: --------------------- 00-C 01-B 02-A 03-S --------------------- SKIN/CLASS MODIFIERS: --------------------- 00: Snake 01: Null 02: Eva 03: Para-Medic 04: Ocelot 05: Major Zero 06: Raikov 07: Gene 08: Python 09: Ursula 0A: Elisa 0B: Teliko 0C: Venus 0D: Cunningham 0E: Signit 0F: Sokolov 10: Roy Campbell 11: LYNX (Sleeves up, no vest. Jonathon only?) 12: Naked Snake 13: GA-KO 14: LYNX (Sleeves up, no vest - identical to 11) 15: LYNX (Sleeves down, no vest) 16: LYNX (Sleeves up, vest w/ ammo) 17: LYNX (Sleeves down, vest w/ammo) 18: FOX Unit 1 19: FOX Unit 2 1A: FOX Unit 3 1B: Female Soldier 1 1C: Female Soldier 2 1D: Female Soldier 3 1E: Scientist 1 1F: Scientist 2 20: Scientist 3 21: Nurse 1 22: Nurse 2 23: Nurse 3 24: Technician 1 25: Technician 2 26: Technician 3 27: Officer 1 28: Officer 2 29: Officer 3 2A: Government Official 2B: Ocelot Unit 2C: KGB 2D: GRU 2E: LYNX - Biccamera (white, black, purple) 2F: LYNX - Yodobashi (yellow, tan, black) 30: LYNX - Sakuraya (purple, white, red) 31: LYNX - Ubook (green, olive, white + logo) 32: LYNX - Wondergoo (blue, navy, green) 33: LYNX - Sofmap (light blue, white + duck logo) 34: LYNX - Joshin (white + red logo) 35: LYNX - Nestage (white + red, blue, & yellow logos) 36: [CRASHES GAME WHEN SELECTED] -------------------- CAREER MODIFIERS #1: -------------------- NOTE : Career modifiers exist as a SINGLE byte, however, each 'side' of the byte controls a function. The second alphanumeric will control arms specialist, engineer, elite engineer, and chemist only, while the first alphanumeric will control the paths of doctor, nutritionist, surveyor, and spy. To that end, if you want a Chemist, Doctor, and Nutritionist you would put the value '38'. 00: Blank 0x: None 1x: Doctor 3x: Doctor + Nutritionist 4x: Surveyor 5x: Surveyor + Doctor 6x: Surveyor + Nutritionist 7x: Surveyor + Doctor + Nutritionist 8x: Spy 9x: Spy + Doctor Ax: Spy + Nutritionist Bx: Spy + Doctor + Nutritionist Cx: Spy + Surveyor Dx: Spy + Surveyor + Doctor Ex: Spy + Surveyor + Nutritionist Fx: Spy + Surveyor + Doctor + Nutritionist x0: None x1: Arms Specialist x2: Elite Engineer x3: Elite Engineer + Arms Specialist x4: Engineer x5: Engineer + Arms Specialist x6: Engineer + Elite Engineer x7: Engineer + Arms Specialist + Elite Engineer x8: Chemist x9: Chemist + Arms Specialist xA: Chemist + Elite Engineer xB: Chemist + Arms Specialist + Elite Engineer xC: Chemist + Engineer xD: Chemist + Engineer + Arms Specialist xE: Chemist + Engineer + Elite Engineer xF: Chemist + Engineer + Elite Engineer + Arms Specialist -------------------- CAREER MODIFIERS #2: -------------------- 00: Blank x0: None x1: Arms Dealer x2: Politician x3: Arms Dealer + Politician x4: Athlete x5: Athlete + Arms Dealer x6: Athlete + Politician x7: Athlete + Arms Dealer + Politician x8: Quarterback x9: Quarterback + Arms Dealer xA: Quarterback + Politician xB: Quarterback + Arms Dealer + Politician xC: Quarterback + Athlete xD: Quarterback + Athlete + Arms Dealer xE: Quarterback + Athlete + Politician xF: Quarterback + Athlete + Arms Dealer + Politician 0x: None 1x: Artist 2x: Scout 3x: Scout + Artist 4x: Rescuer 5x: Rescuer + Artist 6x: Rescuer + Scout 7x: Rescuer + Scout + Artist 8x: Gambler 9x: Gambler + Artist Ax: Gambler + Scout Bx: Gambler + Scout + Artist Cx: Gambler + Rescuer Dx: Gambler + Rescuer + Artist Ex: Gambler + Rescuer + Scout Fx: Gambler + Rescuer + Scout + Artist --------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------- CREDITS -------------------- (syizm@yahoo.com) - creator/editor Metal Gear is a trademark of Konami Corporation ©1987, 2007, 2009. Metal Gear Solid: Portable Ops © Konami 2006. Metal Gear Solid: Portable Ops Unit Hacking Guide © S. M. Thomas 2009 --------------------------------------------------------------------------- ---------------------------------------------------------------------------