Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

GoHANmem Vita: Difference between revisions

From GameBrew
m (Text replacement - "GameBrew!" to "GameBrew")
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 2: Line 2:
|title=Vita Homebrew Apps (Plugins) - GameBrew
|title=Vita Homebrew Apps (Plugins) - GameBrew
|title_mode=append
|title_mode=append
|image=gohanmemvita.jpg
|image=gohanmemvita2.png
|image_alt=GoHANmem
|image_alt=GoHANmem
}}
}}
{{Infobox Vita Homebrews
{{Infobox Vita Homebrews
|title=GoHANmem
|title=GoHANmem
|image=gohanmemvita.jpg
|image=gohanmemvita2.png
|description=Cheat plugin for PSVITA.
|description=Cheat plugin for PS Vita.
|author=OneRice07
|author=OneRice07
|lastupdated=2017/08/04
|lastupdated=2017/08/04
Line 15: Line 15:
|license=Unlicense
|license=Unlicense
|download=https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita.7z
|download=https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita.7z
|website=
|website=https://github.com/OneRice07/GoHANmem
|source=https://github.com/OneRice07/GoHANmem
|source=https://github.com/OneRice07/GoHANmem
}}
}}
'''GoHANmem''' is a memory editor for PSVITA. Allows to edit game memory in realtime.
GoHANmem is a memory editor for PS Vita. Allows to edit game memory in realtime.


==How to Install GoHANmem?==
==Installation==
# Download GoHANmem here.
Unzip and copy the files to PS Vita memory card root ux0: according to the directory structure.
# Unzip it, copy the files inside according to the directory structure to the Psvita memory card ux0:\plugins
# In the game, press the arrow key right+SELECT or L+START (or use the key.txt to customize the pop-up key, the default key.txt is arrow up+Start) to pop-up the modifier, follow the instructions
# In the modifier interface, click SELECT or START to return to the game.


PS:Set English language : [语言]-[English]
==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.


==How To Use GoHANmem?==
In the modifier, press Select or Start to return to the game.
# In the game, record the value you want to modify, for example, 86986 gold coins.
# Use the hotkey to pop up the modifier and search for 86986, you will get several matching addresses.
# Go back to the game and make the gold value change, for example, buy an item, the gold becomes 85335.
# Use the hotkey again to bring up the modifier and search for 85335, you will also get the matching addresses, but the number of matches will be less than before. If the number of matches is still quite a lot, repeat again.
# Until there are one or two pairs left, then you can modify the value corresponding to these two pairing addresses, for example, change it to 999999999.
# After the modification is finished, the number of gold coins will be 999999999.


==Configuration==
PS: Set English language [语言]-[English]
At present, it supports normal code, pointer code and loop code.


The code format is as follows.
===Basic tutorial===
In the game, write down the value you want to modify, for example, 86986 gold coins.


@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 increment each time
Use the hotkey to open the modifier and search for 86986, you will get several matching addresses.


===Description===
Return to the game and change the value of the gold coins, such as purchasing items, now the gold coins become 85335.
*Code type: 0 normal code, 1 cyclic code
 
*Address type: 0 general address, 1 pointer address
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.
*Address value: 0x81222222 Something like this
 
*Offset direction: 0 for negative offset -, 1 for positive offset +
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.
*Number of cycles: Decimal value. Applies only in cyclic code. Does not work with normal code, but needs to be filled with this, available as 0.
 
*Loop address increment: 0x81222222 Something like this. Applies only to loop code. Does not work with normal code, but this needs to be filled, use 0x00000000.
If succeed, the number of gold coins will be 999999999.
*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.
===Cheat code format===
*Value per increment: the decimal value. Only works with loop code. Does not work with normal code, but needs to be filled with this, available as 0.
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===
===Example===
Line 59: Line 66:
#gold888888
#gold888888
@0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,88888888,0,0
@0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,88888888,0,0
Description: Common code, address 0x81D433E0, modify 4 bytes, the value of decimal 88888888
 
Note that other 0 values also need to be filled in accordance with the format, otherwise the execution will be wrong.
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
Pointer code format
#gold888888
#gold888888
@0,1,0x845042A5,1,0x00000008,0,0,0x00000000,4,88888888,0,0
@0,1,0x845042A5,1,0x00000008,0,0,0x00000000,4,88888888,0,0
Description: ordinary pointer code, the value within the address 0x845042A5 is the new address, for example, 0x81335561,forward offset 0x00000008, that is, 0x81335569, address 0x81335569 modified 4 bytes, the value of decimal value 88888888
 
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
Loop code format
#Goldencoin888888
#Goldencoin888888
@1,0,0x81D433E8,0,0x00000002,5,1,0x00000100,4,1000,1,20
@1,0,0x81D433E8,0,0x00000002,5,1,0x00000100,4,1000,1,20
Description: Loop code, ordinary address 0x81D433E8, negative offset 0x00000002, that is, 0x81D433E6, loop 5 times to modify, each address increment 0x00000100, modify byte 4, the initial value of 1000, each positive increase in value 20.
 
The first modification address 0x81D433E6 4 bytes value 1000
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
Second modification Address 0x81D434E6 4 bytes Value 1020
Third modification Address 0x81D435E6 4 bytes Value 1040
Third modification Address 0x81D435E6 4 bytes Value 1040
Line 78: Line 96:
</pre>
</pre>


==Screenshots==
===Other notes===
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita-01.jpg
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.
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita-02.jpg
 
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita-03.jpg
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).
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita-04.jpg
 
GoHANmem code (example with Chinese characters):


==Other notes==
#YellowSoul99999999
At present, you can use the [Memory Extraction] function provided by this program to extract the memory several times. The program will automatically number the files after the file name, and then transfer them to the computer side, using the powerful processing power of the computer side to analyze them.
@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


After analysis, you can write your own GoHANmem code, or modify the extracted memory file to remove the "_001" and other numbers after the file name, and then transfer it to the ux0:\data\GoHANmem\mem\ folder on the psv side, 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).
When saving in Notepad under windows, just select ANSI encoding.


GoHANmem code, if you need the title to be displayed in Chinese, you can:
===Importing memory files===
The file name format is
GameID_mem_0xExtraction Range Start Address.bin


#YellowSoul99999999
For example
@0,0,0x81D433E0,0,0x00000000,0,0,0x00000000,4,999999999,0,0
PCSB00294_mem_0x84D00000.bin
#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.
This file can be obtained using the "Extract Memory" function:


Support importing the extracted memory files back into memory.
PCSB00294_mem_0x84D00000_001.bin
PCSB00294_mem_0x84D00000_002.bin
PCSB00294_mem_0x84D00000_003.bin


The file name format is Game ID_mem_0x extracted range start address.bin
Each time it is extracted, "_00x" is automatically added to the end of the file name.


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


This file can be obtained using the [Extract Memory] function:
After you finished modifying the file, remove the suffix number "_00x" and import it back into the PSV memory with the "Recover Memory" function.


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


Each time it is extracted, three numbers are automatically added to the end of the file name.
===key.txt===
key.txt location is ux0:data/GoHANmem/cfg/key.txt.


The memory files are placed in the ux0:/data/GoHANmem/mem/ folder.
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.


Then use your computer to analyze and modify the file, then remove the suffix number "_001", etc., and you can use [Recover Memory] to import it back into the PSV memory.
The key.txt configuration requires only two capital letters to be modified (A-L).


Before [Recover Memory], the file name PCSB00294_mem_0x84D00000.bin must correspond to the [Extraction Range Start] value.
For example, if you want to set hotkeys to Up+Start, write CB at the beginning of key.txt and then save it.


===The configuration file key.txt for custom hotkeys===
*(A) Select button
Placement path ux0:\data\GoHANmem\cfg\key.txt
*(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


If key.txt does not exist or the configuration content of key.txt is incorrect, it will revert to the default popup hotkeys Directional Key Right+SELECT or L+START.
==Screenshots==
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita3.png


The key.txt configuration requires only two capital letters to be modified.
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita4.png


For example, if you need to customize Direction Up+START, you can change it to CB at the very beginning of key.txt and then save it.
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita5.png


(A) Select button [SELECT] Select button<br>
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita6.png
(B) Start button [START] Start button<br>
(C) Direction Up ↑ Up D-Pad button<br>
(D) Direction right → Right D-Pad button<br>
(E) Down ↓ Down D-Pad button<br>
(F) Direction Left ← Left D-Pad button<br>
(G) Left shoulder button [L] Left trigger<br>
(H) Right shoulder button [R] Right trigger<br>
(I) Triangle button △ Triangle button<br>
(J) Circle button ○ Circle button<br>
(K) Cross button X Cross button<br>
(L) Square button Mouth Square button<br>


'''ux0:\data\GoHANmem\cfg\key.txt'''.
https://dlhb.gamebrew.org/vitahomebrews/gohanmemvita7.png


==Changelog==
==Changelog==
Line 166: Line 188:


== External links ==
== External links ==
* Github - https://github.com/OneRice07/GoHANmem
* GitHub - https://github.com/OneRice07/GoHANmem
* VitaDB - https://vitadb.rinnegatamante.it/#/info/119
* VitaDB - https://vitadb.rinnegatamante.it/#/info/119
<!---This page is mostly done by google translate.....--->

Latest revision as of 06:53, 7 Ocak 2023

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: