Editing PS3Cobra Payload Reverse Engineering
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]] | |||
The Ps3Cobra implements syscall 8 and moves syscall 0 into the payload. | The Ps3Cobra implements syscall 8 and moves syscall 0 into the payload. | ||
It does some heavy patching on Lv2 code | It does some heavy patching on Lv2 code | ||
Line 16: | Line 8: | ||
!offset !! psgroove !! cobra 1.2 !! cobra 2.0 !! comment | !offset !! psgroove !! cobra 1.2 !! cobra 2.0 !! comment | ||
|- | |- | ||
| 9134 || | | 9134 || || || patched || | ||
|- | |- | ||
| | | 4F0A8 || bl sub_50B44 || bl sub_500250 || || | ||
|- | |- | ||
| | | 4FC2C || beq cr7, loc_4FC4C || nop || || | ||
|- | |- | ||
| | | 505D0 || li %r3, 1 || b sub_5008E0 || || | ||
|- | |- | ||
| | | 50B48 || patched || unpatched ? || || | ||
|- | |- | ||
| | | 572B8 || extsw %r3, %r31 || li %r3, 0 || || | ||
|- | |- | ||
| | | 5741C || bl sub_288568 || nop || || | ||
|- | |- | ||
| | | 1C00EC || stdu %sp, var_150(%sp) || b sub_5003A8 || || | ||
|- | |- | ||
| | | 1C26EC || stdu %sp, var_D0(%sp) || b sub_500448 || || | ||
|- | |- | ||
| | | 1CF8A8 || stdu %sp, var_B0(%sp) || b sub_5004C8 || || | ||
|- | |- | ||
| | | 25EC18 || bl sub_12934 || bl sub_500960 || | ||
|- | |- | ||
| | | 271AF0 || stdu %sp, var_B0(%sp) || b loc_500808 || b loc_500818 || (syscall864) <s>Again, wrong here, loc_500808 is a bad jump.</s><br>this is 1.2! | ||
|- | |- | ||
| | | 273F80 || stdu %sp, var_B0(%sp) || b sub_500878 || b sub_500990 || (syscall867)<s>you have a critical mistake, sub_500878 IS WRONG, :), if you jump here you crash your lv2</s><br> YOUR CRITICAL MISTAKE WAS ONLY PUT 1.2, NOW YOU FIX IT, THANKS<br>didn't meant to be rude, sry :) | ||
|- | |- | ||
| | | 29245C || stdu %sp, var_100(%sp) || b sub_5005A8 || | ||
|- | |- | ||
| | | 292598 || ld %r11, stru_3403A0.base_addr_toc+8 || b sub_5006D8 || || | ||
|- | |- | ||
| | | 293A18 || ld %r9, stru_3403A0.base_addr_toc+8 || b sub_500540 || || | ||
|- | |- | ||
| | | 296550 || stdu %sp, var_D0(%sp) || b sub_500640 || ||(syscall606) | ||
|- | |- | ||
| | | 296928 || stdu %sp, var_D0(%sp) || b sub_500770 || ||(syscall619) | ||
|- | |- | ||
| | | 29BD48 || b sub_11850 || b sub_500358 || || | ||
|- | |- | ||
| | | 2AAFC8 || b sub_50B48 || b sub_5002F0 || || | ||
|- | |- | ||
| | | 2AB3FC || unpatched || b sub_5002A0 || || (PS2 EMU?) | ||
|- | |- | ||
|} | |} | ||
= Hardware Dongle = | = Hardware Dongle = | ||
== Dongle 1.0 == | == Dongle 1.0 == | ||
<table width="100%" align="left"><tr><td align="left"> | <table width="100%" align="left"><tr><td align="left">[[File:CobraPCB - TOP.jpg|200px|thumb|left|Psjb2 Trueblue - OVERVIEW]]</td></tr></table> | ||
[[File:CobraPCB - TOP.jpg|200px|thumb|left| | |||
=== Components === | === Components === | ||
Line 346: | Line 73: | ||
Datasheets and usermanuals: http://www.actel.com/products/pa3/docs.aspx#ds <br /> | Datasheets and usermanuals: http://www.actel.com/products/pa3/docs.aspx#ds <br /> | ||
Familyroot: http://www.actel.com/products/pa3/ <br /> | Familyroot: http://www.actel.com/products/pa3/ <br /> | ||
===== Pinout A3P060 VQ100 ===== | ===== Pinout A3P060 VQ100 ===== | ||
Line 563: | Line 289: | ||
==== 12.000 MHz Crystal ==== | ==== 12.000 MHz Crystal ==== | ||
Y2 <br /> | Y2? <br /> | ||
CLK for Atmel <br /> | |||
==== AMS1117 3.3 1032 - Low Dropout Linear Regulator ==== | ==== AMS1117 3.3 1032 - Low Dropout Linear Regulator ==== | ||
U3 <br /> | U3 <br /> | ||
Datasheet: | Datasheet: http://www.sltdigital.com/product/product_pdf/AMS1117.pdf / http://home1.cyber-labo.co.jp/board/goods/pdf/AMS1117.pdf <br /> | ||
[[:File:AMS1117 - SOT-223.png]]<br /> | |||
==== A 47 ( | ==== A 47 (unreferenced 5pin IC : U4) ==== | ||
U4 <br /> | |||
< | A 47 <!--// 51c or s1c ? - hard to see without magnifier //--> <br /> | ||
[[:File:SOT5.PNG]]<br /> | |||
</ | <br /> | ||
==== Atmel ATmega 16A (16MHz AVR - 16KB flash - USB stack + DFU) ==== | ==== Atmel ATmega 16A (16MHz AVR - 16KB flash - USB stack + DFU) ==== | ||
Line 590: | Line 314: | ||
! Pin !! Function !! Notes | ! Pin !! Function !! Notes | ||
|- | |- | ||
| 1 || (MOSI) PB5 || | | 1 || (MOSI) PB5 || | ||
|- | |- | ||
| 2 || (MISO) PB6 || | | 2 || (MISO) PB6 || | ||
|- | |- | ||
| 3 || (SCK) PB7 || | | 3 || (SCK) PB7 || | ||
|- | |- | ||
| 4 || RESET || | | 4 || RESET || | ||
Line 602: | Line 326: | ||
| 6 || GND || | | 6 || GND || | ||
|- | |- | ||
| 7 || XTAL2 || | | 7 || XTAL2 || | ||
|- | |- | ||
| 8 || XTAL1 || | | 8 || XTAL1 || | ||
|- | |- | ||
| 9 || (RXD) PD0 || | | 9 || (RXD) PD0 || | ||
|- | |- | ||
| 10 || (TXD) PD1 || | | 10 || (TXD) PD1 || | ||
|- | |- | ||
| 11 || (INT0) PD2 || | | 11 || (INT0) PD2 || | ||
Line 636: | Line 360: | ||
| 23 || (TDO) PC4 || | | 23 || (TDO) PC4 || | ||
|- | |- | ||
| 24 || (TDI) PC5 || | | 24 || (TDI) PC5 || | ||
|- | |- | ||
| 25 || (TOSC1) PC6 || | | 25 || (TOSC1) PC6 || | ||
Line 642: | Line 366: | ||
| 26 || (TOSC2) PC7 || | | 26 || (TOSC2) PC7 || | ||
|- | |- | ||
| 27 || AVCC || | | 27 || AVCC || | ||
|- | |- | ||
| 28 || GND || | | 28 || GND || | ||
Line 664: | Line 388: | ||
| 37 || (ADC0) PA0 || | | 37 || (ADC0) PA0 || | ||
|- | |- | ||
| 38 || VCC || | | 38 || VCC || | ||
|- | |- | ||
| 39 || GND || | | 39 || GND || | ||
Line 681: | Line 405: | ||
</div> | </div> | ||
==== | ==== Winbond 25X16AVS1G (SPI Flash 16Mbit) ==== | ||
<div style="float:right">[[File:W25X16A - SOIC-8.png|200px|thumb|left|8-pin TSSOP<br />Winbond 25X16A<br />SOIC-8 pinout]]</div> | |||
U1 <br /> | |||
<pre>W - Winbond | |||
<div style="float:right">[[File: | 25X - SPI Flash | ||
16 - 16Mbit / 2M-byte (Uniform 4Kbyte sectors/64Kbyte blocks) | |||
AVS1G - 100MHz (200Mbits/sec)</pre> | |||
datasheet: [http://www.multiupload.com/P2833U5SOW W25X16A.pdf (1.3 MB)] <br /> | |||
Note: can use [http://blog.hodgepig.org/busninja/ Bus Ninja] or [http://flashrom.org/Bus_Pirate Bus Pirate] and [http://flashrom.org/Flashrom FlashROM] - <abbr title="In-System Programming (ISP)">ISP</abbr> is possible, so long as no other devices on the SPI bus are trying to access the device (in that case, you might want to cut Vcc to the FPGA or the regulator for it). | |||
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;" | {| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;" | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
! Pin !! Usage | ! Pin !! Usage !! Remarks | ||
|- | |- | ||
| 1 || | | 1 || /CS || Chip Select | ||
|- | |- | ||
| 2 || | | 2 || DO || Data output | ||
|- | |- | ||
| 3 || | | 3 || /WP || Write Protect | ||
|- | |- | ||
| 4 | | 4 || GND || Ground | ||
|- | |- | ||
| 5 || DIO || Serial data input/output | |||
|- | |||
| 6 || CLK || Serial Clock | |||
|- | |||
| 7 || /HOLD || Hold | |||
|- | |||
| 8 || VCC || Vcc (min 2.7-max 3.6V) | |||
|- | |||
|} |