Skip to content

~ Cheating & Patching Processes

Aldo Vargas edited this page Feb 14, 2024 · 13 revisions

Introduction

webMAN MOD includes a set of debugging tools that help to automate and modify processes running in memory of the PS3.

Among the tools included are:

  • Dumpers for LV1 memory, LV2 memory & storage devices (flash, internal hdd & usb devices)
    • /dump.ps3<lv1/lv2/full/flash/vsh/rsx>
  • File viewers & editors in hex mode, PARAM.SFO, text editor
    • /hexview.ps3<file>
    • /view.ps3<sfo-file>
    • /edit.ps3<txt-file>
    • /write.ps3<path>&t=<text>&find=<code>
  • Remote pkg installer & file downloaders
    • /install.ps3<pkg-file>
    • /download.ps3<url-file>
    • <path-to-local-file>
  • Memory viewer & finder
    • /peek.lv1, /poke.lv1 & /find.lv1
    • /peek.lv2, /poke.lv2 & /find.lv2
  • PS3MAPI server + netcheat + ps3mapi lib dll
  • PS3MAPI web interface & commands
    • /home.ps3mapi
    • /mappath.ps3mapi
    • /getmem.ps3mapi, /setmem.ps3mapi, /patch.ps3mpi
    • /vshplugin.ps3mapi, /kernelplugin.ps3mapi, /gameplugin.ps3mapi
    • /setidps.ps3mapi, /consoleid.ps3, /idps.ps3, psid.ps3
    • /syscall.ps3mapi, /syscall8.ps3mapi, /syscall.ps3
    • /notify.ps3mapi, /popup.ps3, /led.ps3, /buzzer.ps3mapi, /beep.ps3
  • Artemis patch engine
    • /artemis.ps3
  • Script automation on system start, game start or returning to XMB

Artermis

Since build 1.47.41, the full edition includes a modified version of Artemis patch engine based on ArtemisPS3 fork by bucanero. ArtemisPS3 was originally created by Lazy Bastard & Dnawrkshp.

New Features

Among the new features added to this tools are:

  • 3 cheat list files can be selected in-game
    • /dev_hdd0/tmp/art.txt => attached with START
    • /dev_hdd0/tmp/art_l2.txt => attached with L2+START
    • /dev_hdd0/tmp/art_r2.txt => attached with R2+START
  • Interactive editor that allows edit/modify the cheat list file while in-game
    • /artemis.ps3?<ncl-file>
  • Web commands for remote start/stop/attach/detach Artemis patch engine
    • /artemis.ps3?attach
    • /artemis.ps3?detach
    • /netstatus.ps3?artemis
    • /netstatus.ps3?start-artemis (in-game only. /artemis.ps3 is preferred)
    • /netstatus.ps3?stop-artemis
    • /netstatus.ps3?reset-artemis
  • Automatic cheat list file copy to /dev_hdd0/tmp for GAMES, ISO or PSN format
    • <game-path> + .ncl
      • <game-path> + _l2.ncl
      • <game-path> + _r2.ncl
    • <ISO-path> + .ncl
      • <ISO-path> + _l2.ncl
      • <ISO-path> + _r2.ncl
    • /dev_hdd0/tmp/artemis/<title_id>_<app_ver> + .ncl (e.g. BLES12345_01.00.ncl)
    • /dev_hdd0/tmp/artemis/<title_id> + .ncl (e.g. BLES12345.ncl)
    • /dev_hdd0/game/<title_id>/artemis.ncl
  • Log file to see what codes where executed & written
  • Integration with webMAN debuggers and other web tools
  • Improvements to the code of Artemis patch engine

Use the application ArtemisPS3 to select your cheats on the PS3 for later use with webMAN MOD or with the standalone Artemis plugins.

More information about Artemis can be found at (https://bucanero.github.io/ArtemisPS3/).

Using ArtemisPS3 with webMAN MOD

  • Go to /setup.ps3, check the Artemis option and save the settings.
  • Install and launch ArtemisPS3 from the XMB.
  • Configure ArtemisPS3 to use webMAN MOD. It will simply exit to XMB instead of load the internal plugins.
  • Select your codes. Press on Start in the main menu
  • From here you can launch the game or launch homebrew to mount the game
  • When the game has launched, a notification will appear saying: Artemis PS3 / Start to Attach.
  • Once you are ready to use your codes in the game, open the in game XMB by pressing the PS button
  • Hold START button pressed until Artemis says that it has attached
    • Use L2+START or R2+START to load art_l2.txt or art_r2.txt from /dev_hdd0/tmp respectively
    • At this point any codes chosen to constant write will be constantly writing
    • For any single write codes you wish to write again, repeat again (enter the in game XMB and hold the START combination)
  • Enter again to in game XMB and hold SELECT button if you wish the detatch (and stop constant writing).

Creating cheat lists (.ncl)

NetCheat List Files (.ncl) are built into NetCheat PS3 Download and run NetCheatPS3 In the codes tab create a new code and name it as you wish Within the textbox enter any NetCheat PS3 codes (or use the Codelist by clicking the square on the bottom left) Finally click Save All and specify a save location for the new .ncl

A similar process can be done using /artemis.ps3 web command.

Creating advanced cheat lists

ArtemisPS3 has the ability to add option tags.
These tags enable you to specify options for a code that has multiple effects for one address.
Using tags instead of multiple codes condenses the overall cheats list.
The format for an option tag is very specific and must be used exactly as described.

A tag begin with brackets that surround an ID ([Z]).
This ID must be a collection of capital Z's.
For instance, a tag such as [ZZZZ] has an ID of ZZZZ. [zz] is not a valid ID.
Following the opening tag are the elements, or options.
Each element begins with the value that the option represents, an equal sign (=), and the name of the option.
Elements are separated by semicolons (;).

So right now an option tag would look something like this: [ZZ]0010=This is 0x10;0020=This is 0x20
But now we have to end the tag. To end an option tag you simply add a forward slash (/) in front of the ID and surround that with brackets ([/Z]).
Finally to actually implement this as a value for a code, simply put the ID of the tag anywhere in the code you'd like.

For instance, in Jak 1 there are 4 different types of eco states you can be in: Red, blue, green, and yellow. Each uses the same line. So the appropriate code using option tags would be:

0 201FEE08 ZZ
0 201FEE18 FFFFFF7F
0 201FEE0C 00000040
[ZZ]01=Yellow;02=Red;03=Blue;04=Green[/ZZ]

Artemis Codes

The first byte code is cType, the next 8 bytes are the address/offset for the command, the rest are the parameters. Each command has its own internal syntax:

'0': //Write bytes (1=OR,2=AND,3=XOR, 0/4-9=write)
'1': //Write text
'2': //Write float
'4': //Write condensed (count, increment, write)
'6': //Write pointer
'A': //Copy/Paste (1=Copy, 2=Paste)
'B': //Find Replace
'D': //Write conditional
'E': //Write conditional (bitwise)
'F': //Copy bytes

A set of commands (aka patch or cheat) is delimited by #

The engine verifies that each line has a valid syntax (e.g. valid hex digits or spaces), If the line contains an invalid syntax or text, it is treated as a comment.

An interactive online database for cheats is available on ps3.aldostools.org/codelist.html. Codes are mirrored from the code list repository maintained by bucanero

Modifying memory process with PS3MAPI

Use /getmem.ps3mapi to attach the current Process ID (PID) for an interactive view of the process memory in a remote browser.

/patch.ps3 can be used as an alternative to Artemis to modify memory process from batch scripts.

Example (patch explore_plugin.sprx of 4.86.1 Rebug Lite to view PNG and JPG in XMB File Explorer):

/patch.ps3?addr=19A8000&stop=19D0000&find=fs_path&rep=2&offset=16&val=2E4A5047000000002E706E67000000002E676966000000002E626D70000000002E67696D000000002E504E4700

More information can be found in the Web Commands section.