hide results

    Unit Hacking Guide by Syizm

    Version: 0.30b | Updated: 11/04/09 | Search Guide | Bookmark Guide

    
    ---------------------------------------------------------------------------
    - 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
    
    
    
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    
    

    FAQ Display Options: Printable Version