<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>xorloser's blog</title> <atom:link href="http://xorloser.com/?feed=rss2" rel="self" type="application/rss+xml" /><link>http://xorloser.com</link> <description>Insights into projects I am working on and other things that catch my interest</description> <lastBuildDate>Fri, 27 Aug 2010 07:04:57 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <item><title>Sony PS3 GameOS Removal Press Release</title><link>http://xorloser.com/?p=338</link> <comments>http://xorloser.com/?p=338#comments</comments> <pubDate>Fri, 27 Aug 2010 07:04:57 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[PS3]]></category> <category><![CDATA[Technology]]></category><guid
isPermaLink="false">http://xorloser.com/?p=338</guid> <description><![CDATA[August 27 2010 SONY COMPUTER ENTERTAINMENT ANNOUNCES REMOVAL OF THE GAMEOS FEATURE FROM THE PLAYSTATION®3 SYSTEM IN NEXT UPDATE PlayStation® Security updates will remove GameOS features due to piracy. Tokyo, August 27, 2010 – Sony Computer Entertainment (SCE) today announced that it will remove the GameOS feauture of its PlayStation®3 (PS3™) system.  The removal will [...]]]></description> <content:encoded><![CDATA[<p>August 27 2010</p><p>SONY COMPUTER ENTERTAINMENT ANNOUNCES REMOVAL OF THE GAMEOS FEATURE FROM THE PLAYSTATION®3 SYSTEM IN NEXT UPDATE<span
id="more-338"></span></p><p>PlayStation® Security updates will remove GameOS features due to piracy.</p><p>Tokyo, August 27, 2010 – Sony Computer Entertainment (SCE) today announced that it will remove the GameOS feauture of its PlayStation®3 (PS3™) system.  The removal will coincide with the v3.50 update to be released by the end of this month in Japan, North America, Europe/PAL territories, and Asian countries/regions.  Users will still be able to enjoy immersive video and audio on the PlayStation®3 system, although only on movie titles.  Support will be added for the PlayStation®Move motion controllers, as well as the ability to watch stereoscopic 3D content.</p><p>Bringing in SCE’s expertise in both entertainment and technology acquired from previously developing games, four sound fields and 3d vision enhancements for existing 2d titles have been designed with the help of SCE’s previous expert game designers, to optimize the cinematic experience of all forms of entertainment.</p><p>Through the introduction of new peripherals, SCE will continue to further expand the PS3 platform and create a new world of computer entertainment that is only possible on PlayStation &#8211; except for games, or Linux.</p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=338</wfw:commentRss> <slash:comments>31</slash:comments> </item> <item><title>XorHack v2.0: The Updated PS3 Exploit Toolkit</title><link>http://xorloser.com/?p=297</link> <comments>http://xorloser.com/?p=297#comments</comments> <pubDate>Thu, 18 Mar 2010 14:36:27 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[PS3]]></category><guid
isPermaLink="false">http://xorloser.com/?p=297</guid> <description><![CDATA[After using the XorHack for a while I realised it was missing some things so I decided it was time for an update. New syscalls have been added to give finer control over data access, now providing 8, 16, 32 and 64 bit reads and writes. Also some new ioctls were added to provide additional [...]]]></description> <content:encoded><![CDATA[<p>After using the XorHack for a while I realised it was missing some things so I decided it was time for an update. New syscalls have been added to give finer control over data access, now providing 8, 16, 32 and 64 bit reads and writes. Also some new ioctls were added to provide additional useful functions for your userland code. Lastly new userland applications were added which now give the ability to read, write and execute memory from the command line <img
src='http://xorloser.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/03/xorhack_v2.0.zip">Download XorHack v2.0 here</a></p><p><span
id="more-297"></span></p><h3>Hypervisor Exploit Changes</h3><p>At the innermost level some more syscalls are now added to the hypervisor when initially exploiting the PS3. These use different syscall numbers to the previous exploit code in order to group them all together rather than scattering them all over the place. This should make keeping track of them easier. There are now nine syscalls added to the PS3 upon exploiting. These are added as syscalls 32 to 40 inclusive. Previously syscalls 16 and 20 were used for 64bit peek and 64bit poke, but these syscalls are no longer setup.</p><h3>Kernel Module Changes</h3><p>In the middle level I added interfacing support to the nine new syscalls as well as a new ioctl to let user apps convert lpar addresses to real addresses and yet another to let user apps perform an ioremap on memory. I also fixed the syscall that executes code via a real memory address since previously it wasn&#8217;t saving the link register, which is not good.. Lastly I tracked down the problem I was having with calling ioctls from userland code. It turns out there are issues sending ioctls to a 64bit kernel from 32bit userland code. When you send the ioctl from your userland code there is a hidden function that attempts to &#8220;make it compatible&#8221; before sending it on to the kernel. This was transparently causing some ioctls to not make it to my kernel code. Things like this are why I hate linux hehe. It looked like fixing this was going to require a rebuild of sections of the kernel, so instead I brute force tried all ioctl numbers until I found a nice bunch that made it through ok and settled for using them instead. When sending these ioctls a handle to the XorHack device is used, so I am not too worried about them going astray and wreaking havoc.</p><h3>User Library changes</h3><p>Finally the on outermost level  I added support for calling the new syscalls to read and write 8, 16, 32, or 64 bits at a time. In doing so I support unaligned addresses without the user having to check or worry about such things. If the address being accessed is aligned it will access it in a single syscall of the specified size. If the address is unaligned it will either use multiple syscalls or a syscall of a larger access size. I also added functions to easily check if the system has been exploited yet, to perform the lpar address to real address translation, io-remapping of addresses and to execute code at a given real address. A new header file xorhack_sc.h was added which contains translations between syscalls as they would be used in kernel mode and the userland interface. I have only done a few here, but it should be enough to follow the pattern and create translations for any other syscalls. If anyone does complete these translations, please send it to me to include in the next version of XorHack.</p><h3>Sample Application Changes</h3><p>As well as the above additions and changes to userland code I have added three new command line applications; ps3peek, ps3poke and ps3exec which allow reading, writing and executing of memory. The ps3peek and ps3poke tools work in a similar fashion. Both are able to perform 8bit, 16bit, 32bit and 64bit data accesses and can access multiple amounts of the data size in one call. The ps3peek tool can print data to screen as hex values and ascii characters similar to the display of a hex editor, or be printed as binary data and redirected into a file. The ps3poke tool does not print data to screen but can write data to memory from values passed on the command line or values read from a file.</p><p>Here are some examples of what these tools can be used for.</p><h4>Dumping the hypervisor</h4><p>This reads 0&#215;10000000 bytes (16MB) of data starting at address zero using a data access size of 8 bytes (64bits) and prints it in binary form which gets redirected into the hvdump.bin file. Note that the 64bit access is used since it requires 8 times less syscalls to get the same amount of information as if we used the default 8bit access.</p><p>ps3peek 0 -s 0&#215;1000000 -d 8 -b &gt; hvdump.bin</p><h4>Reading the status register for spu0</h4><p>ps3peek 0&#215;20000044024 -d 4</p><h4>Loading metldr..</h4><p>Scripts can be written using ps3peek, ps3poke and ps3exec and utilising files to store values between calls. By doing so many tasks can be done such as the setting of the required registers to load metldr.</p><h2>Everyone loves pictures</h2><p>The following is a picture taken with my dodgy G1 iPhone camera to show peek and poke in action. One day I will get a decent camera&#8230;</p><p
style="text-align: center;"><a
href="http://xorloser.com/blog/wp-content/uploads/2010/03/ps3peek.jpg"><img
class="size-thumbnail wp-image-299 aligncenter" title="ps3peek and ps3poke in action" src="http://xorloser.com/blog/wp-content/uploads/2010/03/ps3peek-150x150.jpg" alt="" width="150" height="150" /></a></p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=297</wfw:commentRss> <slash:comments>109</slash:comments> </item> <item><title>XorHack: The PS3 Exploit Toolkit</title><link>http://xorloser.com/?p=254</link> <comments>http://xorloser.com/?p=254#comments</comments> <pubDate>Wed, 03 Mar 2010 13:51:04 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[PS3]]></category><guid
isPermaLink="false">http://xorloser.com/?p=254</guid> <description><![CDATA[I finally found the time to complete the PS3 exploit toolkit software I mentioned to in my previous posts. I call it XorHack. It allows you to call lv1 syscalls (level 1 system calls) from a normal (userspace) program. It also lets you run the software required when triggering the PS3 exploit from a normal [...]]]></description> <content:encoded><![CDATA[<p>I finally found the time to complete the <a
href="http://xorloser.com/blog/wp-content/uploads/2010/03/xorhack.zip">PS3 exploit toolkit software</a> I mentioned to in my previous posts. I call it <a
href="http://xorloser.com/blog/wp-content/uploads/2010/03/xorhack.zip">XorHack</a>. It allows you to call lv1 syscalls (level 1 system calls) from a normal (userspace) program. It also lets you run the software required when triggering the PS3 exploit from a normal userspace program. To give an example of how it can be used I have included the following example programs:</p><ul><li>ps3exploit &#8211; Runs the software required to exploit the ps3, it loops a number of times which can be specified as a parameter. (This still must be used along with the &#8220;button pressing&#8221;, it will not exploit the PS3 via software alone).</li></ul><ul><li>dumphv &#8211; Dumps the hypervisor to a file in the current directory.</li></ul><ul><li>dumpbl &#8211; Dumps the bootloader to a file in the current directory.</li></ul><ul><li>dumprom &#8211; Dumps the system  rom to a file in the current directory.</li></ul><p><span
id="more-254"></span></p><p>The XorHack package contains full sourcecode for everything including a rewrite of <a
href="http://geohotps3.blogspot.com/2010/01/heres-your-silver-platter.html">geohot&#8217;s exploit sourcecode</a> to make it easier to read and understand (the new file is <a
href="http://xorloser.com/blog/wp-content/uploads/2010/03/exploit.c">kmod/exploit.c</a>). The rewrite doesn&#8217;t just fix the compilation warnings, it attempts to replace all &#8220;magic&#8221; values with the algorithms and reasoning as well as tidying up the code and commenting it all. I also added another syscall #21 to allow executing of code in  hypvervisor context. Due to the associated complexities it is not  available from usermode, it is for advanced users to make use of in kernel space. Some small changes were also made to the timing and the text that gets printed onscreen to make the exploit easier and hopefully more stable to use. I recommend XorHack when both looking into how the exploit works and  when actually triggering the exploit.</p><p>XorHack is made up of three parts. The kernel module, the userspace library file, and lastly the userspace programs themselves. To build all three parts you need to first extract the contents of the XorHack zip file to a directory on your PS3 harddrive. Next you need to navigate on the command line to the directory you extracted the files to. You should be either logged in as root or running as root thanks to the &#8220;su&#8221; command. Now type &#8220;make&#8221; to build all parts of XorHack. Then once that completes type &#8220;make install&#8221; to install all parts of XorHack. If you wish to you can type &#8220;make uninstall&#8221; in this same directory to remove all of XorHack from your system. When you install XorHack on your system it will always be ready for use, even after rebooting it will be automatically reloaded and ready for use.</p><p>To use XorHack to perform the exploit on your PS3 first install it as per the directions above. You then need to switch to a console only mode (no GUI). This is required because it is the only way you can see the printed messages from the kernel module to know when to press the button. Once exploited all other programs can be run normally from a terminal window in GUI mode. To switch to console mode press Ctrl+Alt+F1 on your keyboard. To switch back to the GUI mode press Ctrl+Alt+F7. When you enter console mode you will be greeted with a login screen. Now login with your normal user account and password and type &#8220;ps3exploit 100&#8243;. This will start the exploit looping 100 times in which you need to successfully glitch the console by pressing the button on your glitch hardware. The idea is the perform the glitch when nothing else is occuring on your PS3. Therefore some things you may want to try when exploiting to help your chances are:</p><ul><li>Only press the button once per loop.</li><li>Try to press the button around the middle of the pause between two concurrent prints of the &#8220;press button&#8221; message.</li><li>Don&#8217;t start pressing the button till after the 10th &#8220;press button&#8221; message (by this time the system should done loading and preparing the newly running code, so less likely to interfere with processes that occur during these stages)</li><li>Run the ps3exploit software after initially booting up the PS3 and switching to the console login without first logging into the GUI mode.</li><li>After booting the PS3 and switching to the console mode straight away, log in and then wait about a minute before running ps3exploit so that any processes that may occur upon login/startup have completed.</li><li>Don&#8217;t use any services that will cause more processes to be running until the exploit is completed. This includes things like accessing your PS3 over samba.</li><li>Once you have successfully exploited, stay in console mode as there is less chance of instabilities causing havoc and crashing your PS3.</li></ul><p><strong>The PS3 Exploit Game!</strong></p><p>Once you can run the exploit it&#8217;s time to turn it into a game. Think of it as a cross between getting the turbo boost at the start of a Mario Kart race and <a
href="http://kotaku.com/151936/ddr-finger-pad">Dance Dance Revolution with a finger pad</a>. The aim of the game is to exploit your PS3 as quickly as possible without it crashing. Below is my highscore table picture showing my highscore of THREE!</p><p
style="text-align: center;"><a
href="http://xorloser.com/blog/wp-content/uploads/2010/03/ps3exploit.jpg"><img
class="size-thumbnail wp-image-267 aligncenter" title="PS3Exploit Highscore" src="http://xorloser.com/blog/wp-content/uploads/2010/03/ps3exploit-150x150.jpg" alt="" width="150" height="150" /></a></p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=254</wfw:commentRss> <slash:comments>37</slash:comments> </item> <item><title>PS3 Exploit Tidbits</title><link>http://xorloser.com/?p=230</link> <comments>http://xorloser.com/?p=230#comments</comments> <pubDate>Wed, 24 Feb 2010 07:20:57 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[PS3]]></category><guid
isPermaLink="false">http://xorloser.com/?p=230</guid> <description><![CDATA[I haven&#8217;t gotten around to doing an update in a while due to work (and a little relaxation) taking all my time. Rather than wait till I have finished all of the stuff I wanted to before posting again I decided to post some tidbits to tide you over until the rest is ready. Before [...]]]></description> <content:encoded><![CDATA[<p>I haven&#8217;t gotten around to doing an update in a while due to work (and a little relaxation) taking all my time. Rather than wait till I have finished all of the stuff I wanted to before posting again I decided to post some tidbits to tide you over until the rest is ready. Before I do so I&#8217;d like to make the following clear as no matter how many times I say it, people believe what they want to believe instead:</p><p>THIS PS3 EXPLOIT WILL NOT ENABLE PLAYING OF COPIED OR BACKED UP GAMES. THE EXPLOIT IS FOR RESEARCH PURPOSES ONLY.<span
id="more-230"></span></p><p>It seems someone took some initiative and made <a
href="http://www.ps3news.com/PS3-Hacks/ps3-hypervisor-and-bootloader-dumped-from-ram-and-more/">some software themselves to dump the hypervisor</a> once they have the correct hardware and software. So for anyone who has used that and dumped their own hypervisor I present this <a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/PS3_HV_Dump_script.zip"></a><a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/PS3_HV_Dump_script.zip">PS3 HV Dump setup script for IDA</a>. This script will setup function tables including the hypercall (syscall) table, mmcall table, OPD, TOC, GOT. It will find common functions such as puts and printf and very importantly it will fixup all rtoc references which are used to access global variables and strings.</p><p>To use the script you should extract it somewhere and then from within IDA select &#8220;File-&gt;IDC File&#8230;&#8221;, then navigate to where you extracted the file and select it. Please note that this script could overwrite your previous work, so please run backup your idb/i64 file before running it. I recommend running it on a freshly created database by loading your hypervisor dump into IDA as &#8220;ppc&#8221; at ROM address 0 and then running this script as detailed above before doing anything else.</p><p>The other tidbit I wanted to share was the updates to the PPC Altivec plugin source code which I had forgotten to include in the recent releases, but which a few people have since asked for. Here is the <a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/ppcaltivec_plugin_v1.6_for_ida_v5.6_with_source.zip">PPC Altivec plugin v1.6 for IDA v5.6 with sourcecode</a>. If anyone makes any fixes or adds support for new functions please pass these updates back to me so I can share them on this site.</p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=230</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>PS3 Exploit Setup</title><link>http://xorloser.com/?p=214</link> <comments>http://xorloser.com/?p=214#comments</comments> <pubDate>Sun, 07 Feb 2010 14:51:49 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[PS3]]></category><guid
isPermaLink="false">http://xorloser.com/?p=214</guid> <description><![CDATA[Just a quick pic of it all working together cos everyone loves pictures! This is the PS3 with the newer motherboard where the socket I installed in the front actually looks nice, the other one was a bit of a hack job]]></description> <content:encoded><![CDATA[<p>Just a quick pic of it all working together cos everyone loves pictures!</p><p>This is the PS3 with the newer motherboard where the socket I installed in the front actually looks nice, the other one was a bit of a hack job <img
src='http://xorloser.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/exploit_setup.jpg"><img
class="alignnone size-thumbnail wp-image-215" title="exploit_setup" src="http://xorloser.com/blog/wp-content/uploads/2010/02/exploit_setup-150x150.jpg" alt="" width="150" height="150" /></a></p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=214</wfw:commentRss> <slash:comments>35</slash:comments> </item> <item><title>PS3 Exploit: Hardware</title><link>http://xorloser.com/?p=175</link> <comments>http://xorloser.com/?p=175#comments</comments> <pubDate>Sun, 07 Feb 2010 14:27:56 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[PS3]]></category><guid
isPermaLink="false">http://xorloser.com/?p=175</guid> <description><![CDATA[This post will deal with the hardware required to trigger the PS3 hypervisor memory access exploit. The purpose of the hardware is to stop the PS3 from saving a change to a value that we don&#8217;t want changed. The PS3 saves this changed value by writing the value to RAM. Therefore in order to stop it [...]]]></description> <content:encoded><![CDATA[<p>This post will deal with the hardware required to trigger the PS3 hypervisor memory access exploit. The purpose of the hardware is to stop the PS3 from saving a change to a value that we don&#8217;t want changed. The PS3 saves this changed value by writing the value to RAM. Therefore in order to stop it from saving the changed value we need to stop this write from occurring.</p><p>The PS3 sends the write command to the RAM over some control lines, so we interfere with these control lines when the write command is sent. The result we want is having the PS3 think it has successfully written the value to RAM, but the RAM didn&#8217;t receive the write command due to our interference and so it did not perform the write operation.<span
id="more-175"></span></p><p>The easiest (and moderately safe) way to interfere with these control lines is to ground them. This is done easily enough by connecting a wire between one of the control lines and ground. The tricky part is timing it just right so that it only interferes with the write we want to stop, and not anything that occurs before or after this write. This might be achievable with costly equipment and a lot of work, however geohotz used the simple method of &#8220;luck&#8221;. This involves repeatedly preparing the situation to best favour the chance of overwriting the correct write command and then continually grounding a control line until either something crashes that shouldn&#8217;t or the mark is hit stopping the write operation from occurring. At this point the exploit has been successfully triggered! :)</p><p>Now that you know how it works it is time to implement it. A connection is required to the control line that will be grounded as well as a connection to ground. These two wires then need to be connected to each other momentarily. If you were to try and do this manually as fast as you could you might connect them for a millisecond or so, however RAM control lines are very fast so 1ms is going to interfere with way too many commands. Instead these lines need to be connected to some hardware that is able to bridge the connection between then for very small periods of time at once. Geohotz suggests a connection period of 40 nanoseconds.</p><p>There are many ways that some hardware can be made to perform this short connection. Geohotz used an FPGA he had on hand in order to do it. Others have suggested using a 555 timer, however I have not heard of anyone having any success with this method. I used a small sx28 microcontroller I had on hand due to using it for a project some years ago. It runs at 50MHz with an instruction cycle of 20 nanoseconds, which means it should be fast enough to provide the 40 nanosecond connection required.</p><p>The first step is to take apart your PS3 in order to expose the top side of the motherboard. Once you do so look for one of the following areas on it depending on what version PS3 you have.</p><p>This first picture is from an old 60GB PS3 which came with the 4 USB ports and the card readers. You can see I have soldered a wire to the side of a resistor. This is the connection to the PS3 RAM control line that you need to solder on. I suggest you route this wire down and then to the left of the two pronged power plug you can see. My wire continues downward in this picture, but I found that doing so caused interference in the wire that would unintentinally trigger RAM corruptions. To avoid this you should route it to the left underneath the power plug so that it then comes out of the left side of the PS3 case. You can use a long wire during installation, but try to keep it short when you finalise its routing and final positioning. You can see I used a hot glue gun to ensure any stress placed on the wire will not pull at the solder joint.</p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/old_ps3.jpg"><img
class="alignnone size-thumbnail wp-image-177" title="Old PS3 motherboard" src="http://xorloser.com/blog/wp-content/uploads/2010/02/old_ps3-150x150.jpg" alt="" width="150" height="150" /></a></p><p> This second picture is from an 80GB PS3 with 2 USB ports and no card readers. This was the model that was out just before the &#8220;fat&#8221; PS3s were replaced by the &#8220;slim&#8221; PS3s, so it is a newer motherboard revision where there are two RAM chips on both sides of the motherboard instead of all four on one side. In this picture I have circled the trace you should solder to for your RAM control line connection. In order to solder to this I used a craft knife to carefully scratch the paint off the top of the trace to expose the copper underneath which I then soldered a wire to. Once connected you should route this wire straight down towards the front of the case to best avoid interference in the wire from other parts of the PS3. Once again try to keep the final wire nice and short.</p><p> <a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/new_ps3.jpg"><img
class="alignnone size-thumbnail wp-image-178" title="New PS3 motherboard" src="http://xorloser.com/blog/wp-content/uploads/2010/02/new_ps3-150x150.jpg" alt="" width="150" height="150" /></a></p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/new_ps3.jpg"></a></p><p>Next you need to get a ground connection. This is done the same way for both motherboard versions and is very easy. You can just wrap a wire around any of the metal screws that screw into the metal shielding that covers the top of the motherboard. You don&#8217;t even need to solder it, just wrap it under the screw head and screw it into place <img
src='http://xorloser.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> This wire should be routed out of the console next to to your other control line wire.</p><p>The above two wire connections are common to any implementation of a hardware trigger. The following is specific to how I did my hardware trigger but you may implement your trigger however you want. Note that I initially tried wiring 5 Volts of power out next to these lines but doing so continually resulted in unwanted interference in the control line causing the PS3 to crash while booting.</p><p>For my hardware trigger I used an <a
href="http://www.parallax.com/tabid/248/Default.aspx">SX28 microcontroller</a> which I bought years ago as part of <a
href="http://www.parallax.com/Store/Microcontrollers/SXProgrammingKits/tabid/140/CategoryID/17/List/0/SortField/0/Level/a/ProductID/364/Default.aspx">this programming kit</a>. To use the SX28 you need the SX28 chip, a way of programming the chip (usually an <a
href="http://www.parallax.com/Store/Microcontrollers/SXTools/tabid/139/CategoryID/16/List/0/SortField/0/Level/a/ProductID/494/Default.aspx">SX-Key</a> or<a
href="http://www.parallax.com/Store/Microcontrollers/SXTools/tabid/139/CategoryID/16/List/0/SortField/0/Level/a/ProductID/368/Default.aspx"> SX-Blitz</a>) and an oscillator to drive the SX28 chip at 50MHz. All of these are included in the above programming kit. Maybe if enough people buy from them and mention xorloser they&#8217;ll send me a USB version of the SX-Key instead of my old serial based one :/</p><p>Below is a crappy schematic of my circuit which I drew in windows paint. Please note that I am using the programming kit I mentioned above which utilises the SX-Key programmer in place of an oscillator while the SC-Key is attached. I do not have an external oscillator so I&#8217;ll leave the hooking up of that to you. Just take note that you do need either an oscillator or SX-Key attached in order to make the chip run.</p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/SX28Processor.jpg"></a></p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/SX28Processor.jpg"><img
class="alignnone size-thumbnail wp-image-193" title="SX28 Schematic" src="http://xorloser.com/blog/wp-content/uploads/2010/02/SX28Processor-150x150.jpg" alt="" width="150" height="150" /></a></p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/ps3glitch.zip">This SX28 sourcecode</a> is the last piece of the puzzle. Program this to your SX28 chip using the free <a
href="http://www.parallax.com/Portals/0/Downloads/sw/sx/Setup-SX-Key-Editor-v3.3.0-(R2).zip">SX-Key Editor software</a> from the <a
href="http://www.parallax.com/">Parallax</a>. Once this is all hooked up to your PS3 you should be able to send a &#8220;pulse&#8221; (grounding of the control line) to the PS3 by pressing the switch. You should use a temporary-on push button switch to do so since it will keep sending pulses every 100ms if the switch stays connected. The LED on the right side of the schematic is just there to give the operator some feedback. It will light up when a pulse is sent to let you know that the circuit is working as it should. I should mention that if you look at my SX28 sourcecode you will see that it appears as if I am sending a 360 nanosecond long pulse. I do not know how long the pulse is that actually gets sent as I do not have any hardware that I can measure the pulse with (yet). Possibly there are hardware induced delays that occur when changing the direction of the port which means that although I am waiting 360 ns, it still only sends a pulse that is about 4o ns. To arrive at the 360 ns value I tried many values making the pulse as short as I could until it didn&#8217;t trigger anymore, then I increased it just a little bit to get the shortest pulse that still works.</p><p>Phew, this is finally the end of this post. My next post will tie it all together along with some software I have written to dump your own hypervisor and more. Cya.</p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=175</wfw:commentRss> <slash:comments>70</slash:comments> </item> <item><title>PS3 Exploit: Software</title><link>http://xorloser.com/?p=162</link> <comments>http://xorloser.com/?p=162#comments</comments> <pubDate>Fri, 05 Feb 2010 03:51:29 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[PS3]]></category><guid
isPermaLink="false">http://xorloser.com/?p=162</guid> <description><![CDATA[As I&#8217;m sure everybody heard, the memory access exploit for the PS3 hypervisor was released recently by geohotz. I was finally able to replicate his hack so I thought I&#8217;d take the time to help out others who may also have trouble due to being linux n00bs like me If I were to post everything at once [...]]]></description> <content:encoded><![CDATA[<p>As I&#8217;m sure everybody heard, the<a
href="http://geohotps3.blogspot.com/2010/01/heres-your-silver-platter.html"> memory access exploit for the PS3 hypervisor</a> was released recently by geohotz. I was finally able to replicate his hack so I thought I&#8217;d take the time to help out others who may also have trouble due to being linux n00bs like me <img
src='http://xorloser.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> If I were to post everything at once it would be too much work and I&#8217;d never get around to it, so I&#8217;ll post bits at a time to ensure I actually do post it heh. Today&#8217;s post will talk about the software side of the exploit.</p><p>Please note that the geohotz exploit software was hardcoded for the v2.42 firmware, I have made a small fix that attempts to dynamically support all firmware versions. I have only tested and used it on v3.15 however.</p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/02/ps3_exploit_fixed.zip">Fixed PS3 Exploit Files</a></p><p><span
id="more-162"></span>The first step is to install Linux on your PS3 which means of course that this will not work on a slim PS3. I tried a few different Linux distros and after various different issues I settled on using Ubuntu v8.10 since this is the same version that geohotz used. I suggest using the &#8220;alternate&#8221; version since it includes a gui which the &#8220;server&#8221; version does not. You can download the 636MB image below, I suggest using the legal torrent below to save the bandwith of the Ubuntu servers.</p><p><a
href="http://cdimage.ubuntu.com/ports/releases/8.10/release/ubuntu-8.10-alternate-powerpc+ps3.iso.torrent">Ubuntu for PS3 v8.10 alternate &#8211; Torrent</a></p><p><a
href="http://cdimage.ubuntu.com/ports/releases/8.10/release/ubuntu-8.10-alternate-powerpc+ps3.iso">Ubuntu for PS3 v8.10 alternate &#8211; Direct Download</a></p><p>After downloading, burn the image to a CD-R and install as you would any OtherOS install. There are many generic and also Ubuntu specific guides for doing this, so I won&#8217;t cover that here.</p><p>Once you have Linux up and running you should log in using the username you created during install. Now open a terminal (Applications-&gt;Accessories-&gt;Terminal). You can enable the root account by creating a password for it by typing &#8220;sudo passwd&#8221;. You then enter your current users password once and then the new root password twice. The root account will now be usable.</p><p>Now type &#8220;su&#8221; and then enter the new root password to get root access. Create a dir to put everything in. You could probably create this in your home directory, but I created it in the root of the filesystem so that I can share it between root and my user account as well as setting up access to it via samba from my PC. To create the dir do &#8220;mkdir /ps3share&#8221;, you can call it anything you want, I call it ps3share because I share it with my PC over samba. Now allow all users to read and write to it by doing &#8220;chmod a+rw /ps3share&#8221;. Finally give ownership of it to your normal user account by doing &#8220;chown username:username /ps3share&#8221; where username is your username.</p><p>Next you need to get the &#8220;fixed&#8221; exploit software onto your PS3. Using a USB flashdrive is easiest. Copy the extracted files onto it from your PC, then insert it into your PS3. It should automount and bring up an icon on your desktop. Double click the icon to open the file browser. Right click on the USB drive in the filebrowser and choose to &#8220;Open in New Window&#8221;. Then on the left side of the file browser select &#8220;File System&#8221; and then &#8220;ps3share&#8221;.  Now drag the files from the USB drive into your &#8220;ps3share&#8221; directory.</p><p>I have included a binary of the exploit file for those of you who don&#8217;t want to build it yourself, but for those who do here is how. First you need to fix the location of the kernel headers so they can be found by the build scripts, so do &#8220;mv /usr/src/linux-ports-headers-2.6.25-2/ /usr/src/linux-headers-2.6.25-2/&#8221;. Now change to the directory with the exploit source in it &#8220;cd /ps3share/ps3_exploit_fixed/src&#8221; and then build it by typing &#8220;make&#8221;. There will be a lot of warnings but it should create the file &#8220;exploit.ko&#8221;.</p><p>You are now set to run the software side of the exploit. DO NOT run it from this terminal while in the GUI, it should only be run from console mode. If you do run it you will not see anything happening, but your PS3 will suddenly become really slow and you will have to turn it off. More about the running of it in a future post.</p><h3>A summary of the commands to enter at the terminal is below:</h3><pre>sudo password</pre><pre>(then enter users password once, then the new password for root twice)</pre><pre>su</pre><pre>(then enter root password)</pre><pre>mkdir /ps3share</pre><pre>chmod a+rw /ps3share</pre><pre>chown username:username /ps3share</pre><pre>(where username is replaced by your username)</pre><pre>Now copy the exploit files into /ps3share.</pre><pre>mv /usr/src/linux-ports-headers-2.6.25-2/ /usr/src/linux-headers-2.6.25-2/</pre><pre>cd /ps3share/ps3_exploit_fixed/src</pre><pre>make</pre><p>done!</p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=162</wfw:commentRss> <slash:comments>77</slash:comments> </item> <item><title>PS3 and Xbox360 IDA Plugin Update (again)</title><link>http://xorloser.com/?p=151</link> <comments>http://xorloser.com/?p=151#comments</comments> <pubDate>Mon, 25 Jan 2010 23:49:24 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[IDA]]></category> <category><![CDATA[PS3]]></category> <category><![CDATA[Xbox360]]></category><guid
isPermaLink="false">http://xorloser.com/?p=151</guid> <description><![CDATA[As more special PPC instructions are stumbled across, support for them gets added to the plugin. I know I could go through an exhaustive list of all instructions and add them all, but for now I am content with adding them a few at a time PPC Altivec plugin v1.6 for IDA v5.6 Support added [...]]]></description> <content:encoded><![CDATA[<p>As more special PPC instructions are stumbled across, support for them gets added to the plugin. I know I could go through an exhaustive list of all instructions and add them all, but for now I am content with adding them a few at a time <img
src='http://xorloser.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p><p><a
href="http://xorloser.com/blog/wp-content/uploads/2010/01/ppcaltivec_plugin_v1.6_for_ida_v5.6.zip">PPC Altivec plugin v1.6 for IDA v5.6</a></p><p>Support added for the instructions: attn, lwsync, ptesync, tlbiel, tlbie, tlbi, slbie.</p><p>Also added support for the SystemSim &#8220;callthru&#8221; instruction (should this even be used outside of a simulator?) and lastly an instruction that I cannot find any information about. The hex value is <em>0&#215;02002000</em> so for now I have added this instruction as <em>opcode_02002000</em> so that it will at least disassemble to code and can therefore be treated as code. If anyone knows what this instruction is please let me know <img
src='http://xorloser.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=151</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>PS3 and Xbox360 IDA Plugin Update</title><link>http://xorloser.com/?p=144</link> <comments>http://xorloser.com/?p=144#comments</comments> <pubDate>Sun, 24 Jan 2010 09:49:07 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[IDA]]></category> <category><![CDATA[PS3]]></category> <category><![CDATA[Xbox360]]></category><guid
isPermaLink="false">http://xorloser.com/?p=144</guid> <description><![CDATA[Here is version 1.5 of the PPC Altivec Plugin for IDA v5.6 which adds support for special instructions that are used by some PPC based devices. This was originally written by Dean Ashton and then updated by Takires. This is useful when disassembling Xbox360 and PS3 binaries in IDA as they utilise these special instructions that are [...]]]></description> <content:encoded><![CDATA[<p>Here is <a
href="http://xorloser.com/blog/wp-content/uploads/2010/01/ppcaltivec_plugin_v1.5_for_ida_v5.6.zip">version 1.5 of the PPC Altivec Plugin for IDA v5.6</a> which adds support for special instructions that are used by some PPC based devices. This was originally written by <a
href="http://www.dmashton.co.uk/articles/altivec-support-for-ida-pro/">Dean Ashton</a> and then updated by Takires.</p><p>This is useful when disassembling Xbox360 and PS3 binaries in IDA as they utilise these special instructions that are not supported by IDAs built in PPC disassembler module.</p><p>I have done some fixes to instructions that were previously handled incorrectly, as well as adding support for some new instructions. I also fixed an issue where instruction sizes were being reported incorrectly resulting in an incorrect disassembly.</p> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=144</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>More broken technology</title><link>http://xorloser.com/?p=136</link> <comments>http://xorloser.com/?p=136#comments</comments> <pubDate>Thu, 12 Nov 2009 02:47:01 +0000</pubDate> <dc:creator>xorloser</dc:creator> <category><![CDATA[Technology]]></category><guid
isPermaLink="false">http://xorloser.com/?p=136</guid> <description><![CDATA[In lieu of adding real content to my blog, here is some more broken techonology I came across. It is an electronic billboard that is basically a computer running ads on a widescreen LCD screen. It seems to be lonely without its keyboard however.]]></description> <content:encoded><![CDATA[<p>In lieu of adding real content to my blog, here is some more broken techonology I came across. It is an electronic billboard that is basically a computer running ads on a widescreen LCD screen. It seems to be lonely without its keyboard however.</p><div
id="attachment_137" class="wp-caption alignleft" style="width: 160px"><a
href="http://xorloser.com/blog/wp-content/uploads/2009/11/IMG_0080-Small-2.JPG"><img
class="size-thumbnail wp-image-137 " title="Close up of electronic billboard" src="http://xorloser.com/blog/wp-content/uploads/2009/11/IMG_0080-Small-2-150x150.jpg" alt="Close up of electronic billboard" width="150" height="150" /></a><p
class="wp-caption-text">Close up of electronic billboard</p></div><div
id="attachment_138" class="wp-caption alignright" style="width: 160px"><a
href="http://xorloser.com/blog/wp-content/uploads/2009/11/IMG_0081-Small-2.JPG"><img
class="size-thumbnail wp-image-138 " title="Electronic billboard in its environment" src="http://xorloser.com/blog/wp-content/uploads/2009/11/IMG_0081-Small-2-150x150.jpg" alt="Electronic billboard in its environment" width="150" height="150" /></a><a
href="http://xorloser.com/blog/wp-content/uploads/2009/11/IMG_0081-Small-2.JPG"></a><p
class="wp-caption-text">Electronic billboard in its environment</p></div> ]]></content:encoded> <wfw:commentRss>http://xorloser.com/?feed=rss2&amp;p=136</wfw:commentRss> <slash:comments>6</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (user agent is rejected)
Database Caching 7/10 queries in 0.005 seconds using disk

Served from: xorloser.com @ 2010-09-08 20:34:56 -->