GoHANmem Vita

From GameBrew
GoHANmem
Gohanmemvita2.png
General
AuthorOneRice07
TypePlugins
Version3.01
LicenseUnlicense
Last Updated2017/08/04
Links
Download
Website
Source

GoHANmem is a memory editor for PS Vita. Allows to edit game memory in realtime.

Installation

Unzip and copy the files to PS Vita memory card root ux0: according to the directory structure.

User guide

While in game, press Right+Select or L+Start (or use key.txt to customize key, default is the Up+Start) to open the modifier.

In the modifier, press Select or Start to return to the game.

PS: Set English language [语言]-[English]

Basic tutorial

In the game, write down the value you want to modify, for example, 86986 gold coins.

Use the hotkey to open the modifier and search for 86986, you will get several matching addresses.

Return to the game and change the value of the gold coins, such as purchasing items, now the gold coins become 85335.

Use the hotkey to bring up the modifier again, search for 85335, and you will also get the pairing address, but the pairing number will be less than before. If there are still many available pairs, repeat the previous step.

When there are only one or two pairs remain, you can start modifying the value corresponding to these two pairing addresses, for example, change it to 999999999.

If succeed, the number of gold coins will be 999999999.

Cheat code format

Currently it supports normal code, pointer code and loop code.

@code type, address type, address value, address offset direction, 
address offset amount, loop count, loop address increment direction, 
loop address increment each time, byte count, value, value increment 
direction, value per increment
  • Code type: 0 normal code, 1 loop code.
  • Address type: 0 normal address, 1 pointer address.
  • Address value: 0x81222222 something like this.
  • Offset direction: 0 for negative offset -, 1 for positive offset +.
  • Loop count: Decimal value. Applies only to loop code. Does not work with normal code, so you can just write 0x00000000.
  • Loop address increment: 0x81222222 something like this. Applies only to loop code. Does not work with normal code, so you can just write 0x00000000.
  • Byte count: The number of bytes of the value to be modified, in decimal, between 1 and 4.
  • Numeric value: The value to be modified, decimal.
  • Value per increment: Decimal value. Only works with loop code. Does not work with normal code, so you can just write 0.

Example

Normal code format
#gold888888
@0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,88888888,0,0

Description: Normal code, address 0x81D433E0, modify 4 bytes, 
value is 88888888 in decimal. Note that other 0 values also 
need to be filled in accordance with the format.

Pointer code format
#gold888888
@0,1,0x845042A5,1,0x00000008,0,0,0x00000000,4,88888888,0,0

Description: Pointer code, the value within the address 
0x845042A5 is the new address, for example, 0x81335561 with 
positive offset 0x00000008, that is, 0x81335569, from address 
0x81335569 modify 4 bytes, value is 88888888 in decimal.

Loop code format
#Goldencoin888888
@1,0,0x81D433E8,0,0x00000002,5,1,0x00000100,4,1000,1,20

Description: Loop code, address 0x81D433E8 with negative 
offset 0x00000002 is 0x81D433E6, loop 5 times to modify, 
each address increment 0x00000100, modify 4 bytes, the 
initial value of 1000, each positive increase in value 20.

The first modification Address 0x81D433E6 4 bytes value 1000
Second modification Address 0x81D434E6 4 bytes Value 1020
Third modification Address 0x81D435E6 4 bytes Value 1040
Fourth modification Address 0x81D436E6 4 bytes Value 1060
Fifth modification Address 0x81D437E6 4 bytes Value 1080

Other notes

You can use the "Memory Extraction" function to extract the memory (with "_00x" at the end of the file name), and transfer them to the computer for analyze.

After that, you can either write your own GoHANmem code, or modify the extracted memory file (remove the "_00x" after the file name), transfer it back to the ux0:data/GoHANmem/mem/ on the Vita, and import the file into the memory in the "Memory" management page (the starting address must be the same as the file, and the end address must be less than or equal to the file size boundary).

GoHANmem code (example with Chinese characters):

#YellowSoul99999999
@0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,999999999,0,0
#Infinite Magic
@0,0,0x81D491F0,0,0x00000000,0,0,0x00000000,4,262148000,0,0
#无限InfiniteHP1
@0,0,0x81D491CC,0,0x00000000,0,0,0x00000000,4,655370000,0,0
#无限InfiniteHP2
@0,0,0x81D491E0,0,0x00000000,0,0,0x00000000,4,655370000,0,0

When saving in Notepad under windows, just select ANSI encoding.

Importing memory files

The file name format is

GameID_mem_0xExtraction Range Start Address.bin

For example

PCSB00294_mem_0x84D00000.bin

This file can be obtained using the "Extract Memory" function:

PCSB00294_mem_0x84D00000_001.bin
PCSB00294_mem_0x84D00000_002.bin
PCSB00294_mem_0x84D00000_003.bin

Each time it is extracted, "_00x" is automatically added to the end of the file name.

The memory files can be found in ux0:data/GoHANmem/mem/, which you can copy over to your computer.

After you finished modifying the file, remove the suffix number "_00x" and import it back into the PSV memory with the "Recover Memory" function.

Before using "Recover Memory", make sure the file name PCSB00294_mem_0x84D00000.bin matches the "Extraction Range Start" value.

key.txt

key.txt location is ux0:data/GoHANmem/cfg/key.txt.

If key.txt does not exist or the configuration content of key.txt is incorrect, it will revert to the default hotkeys Right+Select or L+Start.

The key.txt configuration requires only two capital letters to be modified (A-L).

For example, if you want to set hotkeys to Up+Start, write CB at the beginning of key.txt and then save it.

  • (A) Select button
  • (B) Start button
  • (C) D-Pad Up
  • (D) D-Pad Right
  • (E) D-Pad Down
  • (F) D-Pad Left
  • (G) Left trigger
  • (H) Right trigger
  • (I) Triangle button
  • (J) Circle button
  • (K) Cross button
  • (L) Square button

Screenshots

gohanmemvita3.png

gohanmemvita4.png

gohanmemvita5.png

gohanmemvita6.png

gohanmemvita7.png

Changelog

v3.01

  • Added Thank you list, thank you to everyone who gave funding or technical help.
  • Other corrections
  • This is the end of this project, if there is a chance later, see you in the next project!

v3.00beta

  • Redefined the code format of GoHANmem, now supports normal code, pointer code and loop code
  • Added the function of [Restore Memory].
  • Added customizable call-out button
  • Fixed the function of [Archive Restore].
  • Other fixes

v2.00

  • Added English language.

v1.01beta1

  • First Release.

External links


Advertising: