Talk:Dev Tools: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(added Q for tool build process)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== sputnik - Cell/SPU Pipeline viewer==
==Playstation Noob Dev(s)==
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]


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


git://gist.github.com/1041214.git <br />https://gist.github.com/1041214
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"


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


== Objdump ==
==Playstation fonts==
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


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.
D/L mirror: [http://www.multiupload.com/ABIRF4VDQJ playstation_buttons.zip (4.78 KB)]


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...


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


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


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


  # compile this empty file
PRX Info: 46 PRX in process
  gcc -c -o empty.o empty.c
/dev_flash/sys/internal/sys_audio.sprx
 
/dev_flash/sys/external/libsre.sprx
  # add binary as a raw section
/dev_flash/sys/external/libadec.sprx
  objcopy --add-section raw=raw.bin empty.o
/dev_flash/sys/external/libac3dec.sprx
/dev_flash/vsh/module/paf_ext.sprx
  # remove ".comment" section to join
/dev_flash/vsh/module/qglbase.sprx
  objcopy -R .comment empty.o
/dev_flash/vsh/module/vshmain_ext.sprx
 
/dev_flash/vsh/module/basic_plugins.sprx
  # now run objdump on it
/dev_flash/sys/internal/libfs_utility_full.sprx
  objdump -d empty.o</pre>
/dev_flash/vsh/module/paf_web.sprx
Source: http://askrprojects.net/software/objdump.html
  /dev_flash/vsh/module/custom_render_plugin.sprx
 
/dev_flash/sys/external/libjpgdec.sprx
== Several handy scripts ==
  /dev_flash/sys/external/libvdec.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/libdmux.sprx
Also make sure you are using graf's kernel (graf_chokolo kernel 2.6.39).
  /dev_flash/sys/external/libdmuxpamf.sprx
 
  /dev_flash/sys/external/libpamf.sprx
===panic1.sh===
  /dev_flash/sys/external/libatxdec.sprx
This script will panic lv1 and get you back to petitboot, without exiting to GameOS.
  /dev_flash/sys/external/libat3dec.sprx
  ps3hvc_hvcall /dev/ps3hvc panic 1
  /dev_flash/sys/external/libavcdec.sprx
 
  /dev_flash/sys/external/libatrac3plus.sprx
===usb_dongle_auth.sh===
  /dev_flash/sys/external/libsmvd4.sprx
This script will get you into Factory/Service mode, without using dongle:
/dev_flash/sys/internal/libasfparser2.sprx
  echo Generating a challenge
  /dev_flash/vsh/module/msmw1.sprx
  ps3dm_usb_dongle_auth /dev/ps3dmproxy gen_challenge
  /dev_flash/vsh/module/msmw2.sprx
  echo Generating a response '(0xAAAA)'
/dev_flash/vsh/module/sacd.sprx
  ps3dm_usb_dongle_auth /dev/ps3dmproxy gen_resp 0xAAAA
/dev_flash/vsh/module/mms.sprx
  echo Verifying response '(0xAAAA)'
  /dev_flash/vsh/module/mms_db_full.sprx
  ps3dm_usb_dongle_auth /dev/ps3dmproxy verify_resp 0xAAAA
  /dev_flash/vsh/module/mms_ext_full.sprx
  echo Checking if 'Product Mode is enabled
/dev_flash/vsh/module/x3_mdimp3.sprx
  The returned value shouldn't be 0xff
/dev_flash/vsh/module/x3_mdimp4.sprx
  ps3dm_um /dev/ps3dmproxy read_eprom 0x48C07
  /dev_flash/vsh/module/x3_mdimp6.sprx
 
  /dev_flash/vsh/module/x3_mdimp9.sprx
===dump_EID0.sh===
  /dev_flash/vsh/module/x3_mdimp1.sprx
This script will dump your EID0.
  /dev_flash/vsh/module/x3_mdimp2.sprx
  echo Dumping EID0
  /dev_flash/vsh/module/x3_amgsdk.sprx
  ps3dm_iim /dev/ps3dmproxy get_data 0x0 > EID0.bin
  /dev_flash/vsh/module/x3_mdimp8.sprx
 
/dev_flash/vsh/module/x3_mdimp11.sprx
===dump_EID4.sh===
/dev_flash/vsh/module/x3_mdimp5.sprx
This script will dump your EID4.
/dev_flash/vsh/module/mintx_client.sprx
  echo Dumping EID4
/dev_flash/vsh/module/soundvisualizer_plugin.sprx
  ps3dm_iim /dev/ps3dmproxy get_data 0x4 > EID4.bin
/dev_flash/vsh/module/xmb_plugin.sprx
 
/dev_flash/sys/external/libgifdec.sprx
===get_EID0_size.sh===
/dev_flash/sys/internal/libtiffdec.sprx
This script will get the size of your EID0.
/dev_flash/vsh/module/game_ext_plugin.sprx
  echo EID0 size:
/dev_flash/vsh/module/eseidle.sprx
ps3dm_iim /dev/ps3dmproxy get_data_size 0x0
/dev_flash/vsh/module/explore_plugin.sprx
 
===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)].
 
== 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

Latest revision as of 14:28, 6 January 2014

Playstation Noob Dev(s)[edit source]

Q1). getting the tools to work, compile ? can someone please provide a link / recommended repo for 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"

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

Playstation fonts[edit source]

Playstation buttons:

D/L mirror: playstation_buttons.zip (4.78 KB)


Playstation:

D/L mirror: playstation.zip (22.33 KB)

Example of crashreport (and list of SPRX's loaded by VSH)[edit source]

http://pastie.org/private/7xngkxa0siozrjzh8obuq (caused by bug in ethdebug and vsh) @ slim cech-2101a

PRX Info: 46 PRX in process
/dev_flash/sys/internal/sys_audio.sprx
/dev_flash/sys/external/libsre.sprx
/dev_flash/sys/external/libadec.sprx
/dev_flash/sys/external/libac3dec.sprx
/dev_flash/vsh/module/paf_ext.sprx
/dev_flash/vsh/module/qglbase.sprx
/dev_flash/vsh/module/vshmain_ext.sprx
/dev_flash/vsh/module/basic_plugins.sprx
/dev_flash/sys/internal/libfs_utility_full.sprx
/dev_flash/vsh/module/paf_web.sprx
/dev_flash/vsh/module/custom_render_plugin.sprx
/dev_flash/sys/external/libjpgdec.sprx
/dev_flash/sys/external/libvdec.sprx
/dev_flash/sys/external/libdmux.sprx
/dev_flash/sys/external/libdmuxpamf.sprx
/dev_flash/sys/external/libpamf.sprx
/dev_flash/sys/external/libatxdec.sprx
/dev_flash/sys/external/libat3dec.sprx
/dev_flash/sys/external/libavcdec.sprx
/dev_flash/sys/external/libatrac3plus.sprx
/dev_flash/sys/external/libsmvd4.sprx
/dev_flash/sys/internal/libasfparser2.sprx
/dev_flash/vsh/module/msmw1.sprx
/dev_flash/vsh/module/msmw2.sprx
/dev_flash/vsh/module/sacd.sprx
/dev_flash/vsh/module/mms.sprx
/dev_flash/vsh/module/mms_db_full.sprx
/dev_flash/vsh/module/mms_ext_full.sprx
/dev_flash/vsh/module/x3_mdimp3.sprx
/dev_flash/vsh/module/x3_mdimp4.sprx
/dev_flash/vsh/module/x3_mdimp6.sprx
/dev_flash/vsh/module/x3_mdimp9.sprx
/dev_flash/vsh/module/x3_mdimp1.sprx
/dev_flash/vsh/module/x3_mdimp2.sprx
/dev_flash/vsh/module/x3_amgsdk.sprx
/dev_flash/vsh/module/x3_mdimp8.sprx
/dev_flash/vsh/module/x3_mdimp11.sprx
/dev_flash/vsh/module/x3_mdimp5.sprx
/dev_flash/vsh/module/mintx_client.sprx
/dev_flash/vsh/module/soundvisualizer_plugin.sprx
/dev_flash/vsh/module/xmb_plugin.sprx
/dev_flash/sys/external/libgifdec.sprx
/dev_flash/sys/internal/libtiffdec.sprx
/dev_flash/vsh/module/game_ext_plugin.sprx
/dev_flash/vsh/module/eseidle.sprx
/dev_flash/vsh/module/explore_plugin.sprx