- Visual Studio 2013+
- Sony PS3 4.75+ SDK w/ Visual Studio Integration
- Download the latest release from Releases
- Navigate to your SDK installation folder (default:
C:\usr\local\cell\target\ppu
) - Drop the include and lib folders in and overwrite any existing files
- Add
#include <libpsutil.h>
into your project - Add
libpsutil.a
to your project "Additional Dependencies"
- Make sure your c++ language version is set to C++11
- Fixed std::string
- Fixed std::vector
- Added std::initializer_list
- System printf, sprintf and vsprintf imports
- Read/Write Memory (Includes HEN support!)
- String manipulation (to lower, to upper, split, etc)
- RC4 encryption
- Filesystem API
- Detour/Hooking API (Includes HEN support!)
- TCP/UDP sockets
- HTTP Get requests
- Math library (vec2, vec3, vec4)
In order to use the cryptography namespace, you will need to add additional dependencies for the appropriate functions
- Add
$(SCE_PS3_ROOT)\target\ppu\lib\hash\libsha1.a
forlibpsutil::cryptography::sha1
- Add
$(SCE_PS3_ROOT)\target\ppu\lib\hash\libsha256.a
forlibpsutil::cryptography::sha256
- Add
$(SCE_PS3_ROOT)\target\ppu\lib\hash\libsha512.a
forlibpsutil::cryptography::sha512
- Add
$(SCE_PS3_ROOT)\target\ppu\lib\hash\libmd5.a
forlibpsutil::cryptography::md5
If you use my PS3 Toolbox to load your SPRX without an EBOOT, you will need to grab an update version of this tool. The original release uses the game's header to execute code, but that header is now needed to read the game TOC so adjustments were made to the tool.
While this library DOES support HEN for detouring, there is an extra function inside the detour class you MUST call to use detours
libpsutil::memory::detour::force_stub_address(uint32_t address)
This function needs to be given empty, EXECUTABLE memory that already exists in the game. Almost all games have one segment that matches this description and it can be found by looking at the program segmentation in IDA