Editing Talk:Dev Tools

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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:
==Playstation Noob Dev(s)==
== sputnik - Cell/SPU Pipeline viewer==
http://www.ps3hax.net/2011/08/sputnik-build-3-cellspu-pipeline-viewer/
* [http://dl.dropbox.com/u/334837/Sputnik.exe.zip Windows] (will also need [http://qt.nokia.com/downloads QT runtime files])  
* [http://dl.dropbox.com/u/334837/Sputnik.dmg MAC OSX]


Q1).  getting the tools to work, compile ? can someone please provide a link / recommended repo for
== netrpc ==
toolchain
libs
devtools.


as i work out whats what i will add to this page, "soz if this is wrong, but i cant seam to find the right way"
git://gist.github.com/1041214.git <br />https://gist.github.com/1041214


Merge needed (?) : https://webcache.googleusercontent.com/search?q=cache:http%3A%2F%2Fwiki.gitbrew.org%2Fwikibrew%2FPS3%3ATools


==Playstation fonts==
== Objdump ==
Playstation buttons:
*http://lettertype.net/lettertype-PlayStation_Buttons.ttf.html  -or-
*http://www.dingbatdepot.com/details/PlaystationButtons  -or-
*http://www.dafont.com/playstation-buttons.font


D/L mirror: [http://www.multiupload.com/ABIRF4VDQJ playstation_buttons.zip (4.78 KB)]
If you, for whatever reason, need to disassemble non-x86 binary files, you usually look out for a disassembler. If there's nothing free available for your platform (e.g.: ARM) one of the few solutions may be buying something like IDA Pro.


But wait, if you only need to "analyze" a small portion (boot-sector, single routine, ...) and someone already ported GNUs GCC and bintools to your platform, using OBJDUMP may do the trick...


Playstation:
If "raw.bin" is your binary file, just typing
*http://ff.untoldhorror.com/playstation.zip
<pre>  objdump -d raw.bin
  objdump: raw.bin: File format not recognized</pre>


D/L mirror: [http://www.multiupload.com/9E2T9DOE57 playstation.zip (22.33 KB)]
will not work. Objdump needs a file system object or file.


== Example of crashreport (and list of SPRX's loaded by VSH)==
Just do it like this:
http://pastie.org/private/7xngkxa0siozrjzh8obuq (caused by bug in ethdebug and vsh) @ slim cech-2101a
<pre>  # create an empty file
  touch empty.c


PRX Info: 46 PRX in process
  # compile this empty file
/dev_flash/sys/internal/sys_audio.sprx
  gcc -c -o empty.o empty.c
/dev_flash/sys/external/libsre.sprx
 
  /dev_flash/sys/external/libadec.sprx
  # add binary as a raw section
  /dev_flash/sys/external/libac3dec.sprx
  objcopy --add-section raw=raw.bin empty.o
  /dev_flash/vsh/module/paf_ext.sprx
  /dev_flash/vsh/module/qglbase.sprx
  # remove ".comment" section to join
  /dev_flash/vsh/module/vshmain_ext.sprx
  objcopy -R .comment empty.o
  /dev_flash/vsh/module/basic_plugins.sprx
 
  /dev_flash/sys/internal/libfs_utility_full.sprx
  # now run objdump on it
  /dev_flash/vsh/module/paf_web.sprx
  objdump -d empty.o</pre>
  /dev_flash/vsh/module/custom_render_plugin.sprx
Source: http://askrprojects.net/software/objdump.html
  /dev_flash/sys/external/libjpgdec.sprx
 
/dev_flash/sys/external/libvdec.sprx
== Several handy scripts ==
/dev_flash/sys/external/libdmux.sprx
Most of the scripts are using graf's ps3dm-utils, so make sure you have them in your /bin directory.
  /dev_flash/sys/external/libdmuxpamf.sprx
Also make sure you are using graf's kernel (graf_chokolo kernel 2.6.39).
  /dev_flash/sys/external/libpamf.sprx
 
/dev_flash/sys/external/libatxdec.sprx
===panic1.sh===
/dev_flash/sys/external/libat3dec.sprx
This script will panic lv1 and get you back to petitboot, without exiting to GameOS.
/dev_flash/sys/external/libavcdec.sprx
  ps3hvc_hvcall /dev/ps3hvc panic 1
/dev_flash/sys/external/libatrac3plus.sprx
 
/dev_flash/sys/external/libsmvd4.sprx
===usb_dongle_auth.sh===
/dev_flash/sys/internal/libasfparser2.sprx
This script will get you into Factory/Service mode, without using dongle:
/dev_flash/vsh/module/msmw1.sprx
echo Generating a challenge
/dev_flash/vsh/module/msmw2.sprx
  ps3dm_usb_dongle_auth /dev/ps3dmproxy gen_challenge
/dev_flash/vsh/module/sacd.sprx
echo Generating a response '(0xAAAA)'
/dev_flash/vsh/module/mms.sprx
ps3dm_usb_dongle_auth /dev/ps3dmproxy gen_resp 0xAAAA
/dev_flash/vsh/module/mms_db_full.sprx
echo Verifying response '(0xAAAA)'
/dev_flash/vsh/module/mms_ext_full.sprx
  ps3dm_usb_dongle_auth /dev/ps3dmproxy verify_resp 0xAAAA
/dev_flash/vsh/module/x3_mdimp3.sprx
echo Checking if 'Product Mode is enabled
/dev_flash/vsh/module/x3_mdimp4.sprx
The returned value shouldn't be 0xff
/dev_flash/vsh/module/x3_mdimp6.sprx
ps3dm_um /dev/ps3dmproxy read_eprom 0x48C07
/dev_flash/vsh/module/x3_mdimp9.sprx
 
/dev_flash/vsh/module/x3_mdimp1.sprx
===dump_EID0.sh===
/dev_flash/vsh/module/x3_mdimp2.sprx
This script will dump your EID0.
/dev_flash/vsh/module/x3_amgsdk.sprx
  echo Dumping EID0
/dev_flash/vsh/module/x3_mdimp8.sprx
ps3dm_iim /dev/ps3dmproxy get_data 0x0 > EID0.bin
/dev_flash/vsh/module/x3_mdimp11.sprx
 
/dev_flash/vsh/module/x3_mdimp5.sprx
===dump_EID4.sh===
/dev_flash/vsh/module/mintx_client.sprx
This script will dump your EID4.
/dev_flash/vsh/module/soundvisualizer_plugin.sprx
  echo Dumping EID4
/dev_flash/vsh/module/xmb_plugin.sprx
ps3dm_iim /dev/ps3dmproxy get_data 0x4 > EID4.bin
/dev_flash/sys/external/libgifdec.sprx
 
/dev_flash/sys/internal/libtiffdec.sprx
===get_EID0_size.sh===
/dev_flash/vsh/module/game_ext_plugin.sprx
This script will get the size of your EID0.
  /dev_flash/vsh/module/eseidle.sprx
  echo EID0 size:
  /dev_flash/vsh/module/explore_plugin.sprx
ps3dm_iim /dev/ps3dmproxy get_data_size 0x0
 
===get_EID4_size.sh===
This script will get the size of your EID4.
  echo EID4 size:
ps3dm_iim /dev/ps3dmproxy get_data_size 0x4
 
===get_metldr_size.sh===
This script will get the size of metldr.
  echo metldr size:
ps3dm_iim /dev/ps3dmproxy get_data_size 0x1000
 
===nor_dump.sh===
  echo Dumping nor
dd if=/dev/ps3nflasha of=nor.bin
 
===dump_ram.sh===
This script will dump your ram.
  echo Dumping ram
dd if=/dev/ps3ram of=ps3ram.bin
 
===dump_vram.sh===
This script will dump your vram.
  echo Dumping vram
  dd if=/dev/ps3vram of=ps3vram.bin
 
 
 
== Payloader3 ==
* http://git.dashhacks.com/payloader3/payloader3/trees/master (down)
* 2011-06-22 backup: http://gotbrew.org/payloader3.tar.gz / [http://www.multiupload.com/DM8KLHX2SS payloader3.tar.gz (55.55 MB)]
* Up including last commit before dashhacks went down : [http://www.multiupload.com/ZZ0X312CDM payloader3.tar.bz2 (45.49 MB)] (full git backup, also includes : [http://www.multiupload.com/EVO0GPP4DB payloader3-src-only.rar (2.08 MB)])
 
===Howto===
# Set firmware version in Makefile
# Compile with "./build.sh"
# Copy pkg file to usb stick
# Install pkg on PS3
 
===Precompiles===
* [http://www.multiupload.com/MB7NE5AJYC payloader3-315.pkg (3.53 MB)]
* [http://www.multiupload.com/JKKZG58NOR payloader3-341.pkg (3.53 MB)]
 
===Notes===
# Loading ps3load after the payload will execute the appropriate ps3load.self, after your self exits you will be returned to the XMB.
# Loading 'ethdebug' will load ArielX's Kammy self, after it executes you will be returned to the XMB.
# Loading 'ethdebug/ps3load' will load ethdebug, then ps3load.
 
=== ps3load 3.55 make_self fixed ===
* older versions of ps3load would '''not''' work on 3.50/3.55 (¨sysProcessExitSpawn2¨ won't work proper), and you had to use 3.41 instead. This is no longer an issue with the recent version ps3load which fixed the (make_self) issue for 3.55
** standalone precompiled version to try: [http://www.multiupload.com/J44BIRSPLB PS3LOAD.gnpdrm.pkg (580.47 KB)]
 
==== Using ps3load ====
# make your app, produce at least an ELF
# sprxlinker yourapp.elf (this should be done for you if you use any of the samples)
# make_self yourapp.elf yourapp.self
# load ps3load on the PS3
# define the PS3LOAD environment variable in your favorite shell with tcp:ip_addr (where ip_addr is your the ip address of your PS3)
# ps3load yourapp.self
 
== lv2-v9.pkg ==
* [http://www.multiupload.com/WEVBQ1WAA0 lv2v9.pkg (111.33 KB)]
* [http://www.multiupload.com/QBRZMCJ86V lv2-v9-pkg-content.rar (105.52 KB)]
 
=== patch1 ===
  # PL3 3.55
  # Patches marked with (*1) seem to be unstable. Thanks to drizztbsd and
  # RandomUse.
  # PL3:
  ef48: payload.bin
  # Segment 0:
  ### 24e44: 38600000 # patch_func6 *1
  55dc4: 38600000 # lv2open: patch_func8_offset1
  55f28: 60000000 # lv2open: patch_func8_offset2
  ### 79d80: 3880000090830000 # patch_func4 + patch_func4_offset *1
  ### 79d88: 4E800020 # cont'd *1
  ### 7af7c: 60000000 # patch_func9_offset *1
  ### c1dd0: 38600000 # patch_func7 *1
  2b3298: 4BD5C050 # hook_open (patch_func3 + patch_func3_offset)
  # Segment 1:
  346688: 800000000000f2dc # syscall_map_open_desc
  # Spoof
  # *f3b8: version.bin
  # 2e8218: 800000000000f378 # syscall_versiontest
  # 2e82f0: 800000000000f3c0 # syscall_process_sdkversion
  # 16ad74: 3960000a44000002 # sha1 test
  # f3e4: find 3437353136000000
  # *fe34: 3436313335000000
 
=== patch2 ===
  # Waninkoko V2
  # 3270: e8821030e87c0020 # load unsigned ELFs
  # 3278: f8640000
  # e7f0: 48000c50 # Some jump
  ef48: payload2.bin
  19360: 7c001fac4c00012c
  1936c: 7c0018ac7c0004ac
  24e44: 4bfea5c5 # patch_func6
  55dc4: 38600000 # patch_func8_offset1
  55f28: 60000000 # patch_func8_offset2
  79d80: 38800000908300004e800020 # patch_func4 + patch_func4_offset *1
  7af7c: 60000000 # patch_func9_offset
  c1dd0: 4bf4d639 # patch_func7
  2b3298: 4bd5bf40 # hook_open
 
  3465b0: 80000000002e81e8 # sc8
  346688: 8000000000324968 # sc35
 
=== patch3 ===
  # Syscall36
  # by 2 anonymous people
  55f14: 60000000
  55f1c: 48000098
  7af68: 60000000
  7af7c: 60000000
 
  2be4a0: payload3.bin
  2b3274: 4800b32c2ba30420 # add a jump to payload2_start
 
  55EA0: 63FF003D60000000 # fix 8001003D error
  55F64: 3FE080013BE00000 # fix 8001003E error
 
  346690: 80000000002be570 # syscall_map_open_desc
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)