Editing PS3 Payload Development
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
[[Category:Software]] | |||
'''marked for cleanup''' | |||
== Payload benefits (peek/poke advantages in general) == | == Payload benefits (peek/poke advantages in general) == | ||
To make changes to system, without the need (and risk) for hardpatching while making on-demand/live patches possible. | To make changes to system, without the need (and risk) for hardpatching while making on-demand/live patches possible. | ||
Line 312: | Line 315: | ||
Now our strncmp gets hooked and our function will get called and we jump back to the strncmp. | Now our strncmp gets hooked and our function will get called and we jump back to the strncmp. | ||
Why this won't work that easy and why we jump to "strncmp+4" will be more clear in "Recreate overwritten code". | Why this won't work that easy and why we jump to "strncmp+4" will be more clear in "Recreate overwritten code". | ||
=== Recreate overwritten code === | === Recreate overwritten code === | ||
Line 407: | Line 410: | ||
#endif | #endif | ||
</pre> | </pre> | ||
That we jump to "strncmp+4" should be clear now, we have to "overjump" our branch to hook_strncmp. | That we jump to "strncmp+4" should be clear now, we have to "overjump" our branch to hook_strncmp. | ||
=== Saving the Register === | === Saving the Register === | ||
Line 513: | Line 516: | ||
=== Creating a Syscall (explained on Peek & Poke) === | === Creating a Syscall (explained on Peek & Poke) === | ||
=== Compiling PL3 (debian/Ubuntu 10.10) === | === Compiling PL3 (debian/Ubuntu 10.10) === | ||
Line 545: | Line 548: | ||
First thing we need to do is install some applications through apt, so open a terminal and do the following: | First thing we need to do is install some applications through apt, so open a terminal and do the following: | ||
{{keyboard|content= | {{keyboard|content= | ||
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev \ | sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev \ | ||
build-essential zip curl libncurses5-dev zlib1g-dev gcc-4.3 cpp-4.3 g++-4.3 texinfo autoconf | build-essential zip curl libncurses5-dev zlib1g-dev gcc-4.3 cpp-4.3 g++-4.3 texinfo autoconf | ||
}} | |||
Now we need to clone PSFreedom from github to our local PC, pull it's submodules and get the toolchain installed | Now we need to clone PSFreedom from github to our local PC, pull it's submodules and get the toolchain installed | ||
{{keyboard|content= | {{keyboard|content= | ||
cd ~/ | cd ~/ | ||
git clone git://github.com/kakaroto/PSFreedom.git | git clone git://github.com/kakaroto/PSFreedom.git | ||
Line 561: | Line 564: | ||
cd ps3toolchain | cd ps3toolchain | ||
sudo ./toolchain-sudo.sh | sudo ./toolchain-sudo.sh | ||
}} | |||
Now go get a Coffee/sleep, installing the toolchain can take a few hours (6-7 hours if you are running Ubuntu in a Virtual PC) | Now go get a Coffee/sleep, installing the toolchain can take a few hours (6-7 hours if you are running Ubuntu in a Virtual PC) | ||
Line 569: | Line 572: | ||
Now you need to edit your .bashrc file: | Now you need to edit your .bashrc file: | ||
{{keyboard|content= | {{keyboard|content= | ||
gedit ~/.bashrc | |||
}} | |||
Add the following line to the end of the file: | Add the following line to the end of the file: | ||
{{keyboard|content= | {{keyboard|content= | ||
export PATH=${PATH}:/usr/local/ps3dev/ppu/bin/ | |||
}} | |||
To compile PSFreedom's payloads is simple now, open a terminal and do the following: | To compile PSFreedom's payloads is simple now, open a terminal and do the following: | ||
{{keyboard|content= | {{keyboard|content= | ||
cd ~/PSFreedom/pl3 | cd ~/PSFreedom/pl3 | ||
make | make | ||
}} | |||
That's it, you can now find the payload .bin files in the PSFreedom/pl3 folder. | That's it, you can now find the payload .bin files in the PSFreedom/pl3 folder. | ||
== Other == | == Other == | ||
Line 590: | Line 597: | ||
''Palmam qui meruit ferat'' | ''Palmam qui meruit ferat'' | ||