PDA

View Full Version : UPDATE with Kammy: PSL1GHT Open Source PS3 SDK Released



bandit
October 20th, 2010, 14:45
DIGG THIS (http://digg.com/news/gaming/psl1ght_open_source_ps3_sdk_released)


http://i202.photobucket.com/albums/aa112/dcemureviews/psl1ght.jpg

via Twitter:

I've been up to a lot of game hacking recently, but more on that later. Anyone interested in an open SDK? http://github.com/AerialX/PSL1GHT


It's pretty lacking right now, but at least it compiles and runs stuff! I'll move Kammy and r3volution over to it soon.

PSL1GHT
PSL1GHT is a lightweight PlayStation 3 homebrew SDK, provided as a temporary way to compile user apps to run from the XMB using the open-source PS3 toolchains available.

Environment
A GCC toolchain that supports the PowerPC 64bit architecture is required to build PSL1GHT and its samples. This (http://www.bsc.es/plantillaH.php?cat_id=579) is the only toolchain that I test with and can guarantee support for. PS3Chain (http://github.com/HACKERCHANNEL/ps3chain) probably works just as well, as should marcan's AsbestOS (http://git.marcansoft.com/?p=asbestos.git) toolchain. Some toolchains will probably already use newlib, and will make the included newlib unnecessary.

Building
Run make install in the psl1ght directory to build it all, and make sure to set the environment variable $PSL1GHT to the folder where you wish to install it to, for example...


cd /path/to/psl1ght.git
export PSL1GHT=/path/to/psl1ght.git/build
make
make install

... for a local build of it. Ensure that $PSL1GHT is set when you are building any of the examples or other apps that use PSL1GHT.

Status
At the moment, PSL1GHT has basic libc support, with stdout debugging, file access, etc. You can call lv2 syscalls and do some fun stuff with that, but it doesn't link to PS3 dynamic libraries yet which is where all the exciting functionality comes in. Also, a make_fself equivalent is still missing.

Source: AerialX's Github (http://github.com/AerialX/PSL1GHT) / Twitter (http://twitter.com/AerialX)


*UPDATE* 10/21/10

Kammy is now the first PSL1GHT app! Check out the readme for a cool way to debug PSL1GHT apps over ethernet: http://github.com/AerialX/Kammy

Kammy
Kammy is a system for loading patches to lv2 (PlayStation 3's Game OS) from a user application, using PSGroove or any other implementation of the exploit that adds the peek/poke syscalls. Kammy was inspired by Treeki's Nintendo Wii game patching system, Kamek.

Building
Building Kammy requires PSL1GHT (http://github.com/AerialX/PSL1GHT) installed to build. This includes needing one of the supported PS3 GCC toolchains. Besides PSL1GHT, you will need the following utilities:

xxd: Creating patch bin files requires the xxd tool to be installed.
dd: Also required for building the patch bin files.

With these dependencies installed, you can build Kammy by simply cd'ing to the loader directory and running:


make clean
make

Usage
Kammy must be used with a payload that supports poke/peek. This includes PSGroove and most of its forks - including my own - among others. To apply a Kammy patch, a loader application must be started on the PS3. This is usually done from XMB from an installed package, or from USB using my PSGroove fork's apploader payload (or PL3's payload_dev).

Ethernet Debug Example
The example loader included in Kammy installs a hook into lv2 that sends debug messages over the ethernet cable of the PS3. This is useful for getting data from the PS3 and lv2 (you get crash reports, and some info from different apps). It's also a useful way of seeing printfs from any applications you write and test, including ones built with PSL1GHT.

This setup has three requirements to work properly:

Your PS3 must be connected to a router by ethernet cable. Wireless must be disabled in the PS3 network settings.
The PC that you're retrieving the info with must be connected to the same router as the PS3. Alternatively you can connect the PS3's cable directly into your computer to get the output.
Your PC must have the socat program installed, so you can run the following command:


socat udp-recv:18194 stdout

A ready-to-run pre-compiled ethernet debug loader is provided in the Downloads Section (http://github.com/AerialX/Kammy/downloads).

Customizing
Kammy is made up of three main components:


v2: This folder contains the lv2 patches to be built. See the ethdebug patch for an example. It is up to the patch to apply any hooks it needs to lv2.
libkammy: This is the basic library that handles the loading of Kammy patches. Altering it should not be necessary.
loader: This folder contains an example that shows how to use libkammy to load kammy and another patch bin from the lv2 folder.

Notes
Internally, Kammy obliderates syscall 11, so try not to run it with payloads that provide that syscall.

Source: Github (http://github.com/AerialX/Kammy)

DIGG THIS (http://digg.com/news/gaming/psl1ght_open_source_ps3_sdk_released)

DigWide

Darksaviour69
October 20th, 2010, 18:13
and so it begins...... ;)

bandit
October 21st, 2010, 15:49
Updated with 1st app for PSL1GHT