It use "ptrace" system call to edit other process' memory.
This program is highly OS and architecture specific. Now it is only tested under my i386 GNU/Linux. If you have any suggestion or problem under other platform, please email to me (email@example.com). Thanks.
Some game takes you lots of time to train the role, make "money" to buy better equipment, kill the monster for experience. Now, you can use this tool to find your interested value in the game process's memory, modify it as what you want.
WARNING: MODIFY OTHER PROCESS' MEMORY IS DANGEROUS, UNLESS YOU KNOW WHAT YOU ARE DOING. PLEASE SAVE YOUR GAME AND WORKS BEFORE UPDATE THE MEMORY.
If the value you input is too big and is out of the search type range, only get the low-digit value, ignore high-digit. Example: If you select type uint8 and input a integer "257"(0x101), because of the number is out of the uint8 range, the true search value is 0x01. If you are not sure which type is fit in, select auto type. This progeam support 64-bit length unsigned integer (0 - 18446744073709551615). You also can input a hexadecimal number with "0x" or "0X" prefix. Input negative or the number with decimal point is not accepted now.
Some game stores the value as a negative number, you can covernt it to a unsigned integer, and search it. Example: -1 : 8-bit (1111,1111) is same as 255; 16-bit (1111,1111,1111,1111) is same as 65535. So same with negative number, float, double type number is also can be searched, but you must convert the number and select the type yourself. Take care of the precision of float and double data type.
Some emulator game stores the value as its original architecture specific, not your local architecture, byte order and size of data type maybe is not same. If you have some knowledge of the emulator, you would know what you should input.
Here are some program screenshots.
Here are some game screenshots.
Lastest release is v0.4.
You can download the source code from here.