Skip to content


Subversion checkout URL

You can clone with
Download ZIP
C C++ Objective-C
Pull request Compare This branch is 3 commits ahead, 1 commit behind wargio:master.
Failed to load latest commit information.
data added known keys and seeds changes
Makefile Version 0.3.0 and fixed makefile
README Version 0.3.2 - skips 0 byte selfs
aes.c Initial commit.
aes.h Initial commit.
aes.o Version 0.3.2 - skips 0 byte selfs
aes_omac.cpp Initial commit.
aes_omac.h Initial commit.
aes_omac.o Version 0.3.2 - skips 0 byte selfs
bn.cpp Initial commit.
bn.o Version 0.3.2 - skips 0 byte selfs
config.h Version 0.3.2 - skips 0 byte selfs
ec.cpp Initial commit.
ec.o Version 0.3.2 - skips 0 byte selfs
ecdsa.cpp Initial commit.
ecdsa.h Initial commit.
ecdsa.o Version 0.3.2 - skips 0 byte selfs
elf.h Initial commit.
elf_inlines.h Initial commit.
frontend.cpp Initial commit.
frontend.h Initial commit.
frontend.o Version 0.3.2 - skips 0 byte selfs
getopt.c Initial commit.
getopt.h Initial commit.
getopt.o Version 0.3.2 - skips 0 byte selfs
keys.cpp Initial commit.
keys.h Initial commit.
keys.o Version 0.3.2 - skips 0 byte selfs
list.cpp Initial commit.
list.h Initial commit.
list.o Version 0.3.2 - skips 0 byte selfs
main.cpp Version 0.3.2 - skips 0 byte selfs
main.o Version 0.3.2 - skips 0 byte selfs
mt19937.cpp Initial commit.
mt19937.h Initial commit.
mt19937.o Version 0.3.2 - skips 0 byte selfs
np.cpp Initial commit.
np.h Initial commit.
np.o Version 0.3.2 - skips 0 byte selfs
pkg.cpp Initial commit.
pkg.h Initial commit.
rvk.cpp Initial commit.
rvk.h Initial commit.
rvk.o Version 0.3.2 - skips 0 byte selfs
sce.cpp Initial commit.
sce.h Initial commit.
sce.o Version 0.3.2 - skips 0 byte selfs
sce_inlines.h Initial commit.
scetool.exe Version 0.3.2 - skips 0 byte selfs
self.cpp Initial commit.
self.h Initial commit.
self.o Version 0.3.2 - skips 0 byte selfs
sha1.c Initial commit.
sha1.h Initial commit.
sha1.o Version 0.3.2 - skips 0 byte selfs
spp.cpp Initial commit.
spp.h Initial commit.
spp.o Version 0.3.2 - skips 0 byte selfs
tables.cpp Initial commit.
tables.h Initial commit.
tables.o Version 0.3.2 - skips 0 byte selfs
types.h Initial commit.
util.cpp Version 0.3.2 - skips 0 byte selfs
util.h Initial commit.
util.o Version 0.3.2 - skips 0 byte selfs
zconf.h Initial commit.
zlib.h Initial commit.


scetool (C) 2011-2013 by naehrwert
NP local license handling (C) 2012 by flatz

==> Setup <==
 - /data/keys : Keyfile.
 - /data/ldr_curves : Loader curves (7744 bytes).
 - /data/vsh_curves : VSH curves (360 bytes).
 - /data/idps : IDPS as binary file
 - /data/act.dat : act.dat
 - /rifs/* : *.rif files
 - /raps/* : *.rap files

==> Keyfile Format <==
 revision={00, ..., 18, 8000}
 version={..., 0001000000000000, ...}
 self_type={LV0, LV1, LV2, APP, ISO, LDR, UNK_7, NPDRM}

==> Keyset Example <==

==> NPDRM Key(set) Names <==
 - [NP_tid]: Title ID OMAC1 key.
 - [NP_ci]: Control info OMAC1 key.
 - [NP_klic_free]: Free klicensee.
 - [NP_klic_key]: klicensee key.
 - [NP_idps_const]: IDPS constant.
 - [NP_rif_key]: rif key.
 - [NP_sig]: Footer signature ECDSA keyset.

==> Override Keyset <==
 It should be a single hex-string consisting of: 
 32 bytes (Key) 16 bytes (IV) 40 bytes (Pub) 21 bytes (Priv) 1 byte (CType).

==> Help Text <==
USAGE: scetool [options] command
COMMANDS                Parameters            Explanation
 -h, --help                                   Print this help.
 -k, --print-keys                             List keys.
 -i, --print-infos      File-in               Print SCE file info.
 -d, --decrypt          File-in File-out      Decrypt/dump SCE file.
 -e, --encrypt          File-in File-out      Encrypt/create SCE file.
OPTIONS                 Possible Values       Explanation
 -p, --data-path        path/of/the/data      Define the path of the data dir
 -v, --verbose                                Enable verbose output.
 -r, --raw                                    Enable raw value output.
 -t, --template         File-in               Template file (SELF only)
 -0, --sce-type         SELF/RVK/PKG/SPP      SCE File Type
 -1, --compress-data    TRUE/FALSE(default)   Whether to compress data or not.
 -s, --skip-sections    TRUE(default)/FALSE   Whether to skip sections or not.
 -2, --key-revision     e.g. 00,01,...,0A,... Key Revision
 -m, --meta-info        64 bytes              Use provided meta info to decrypt.

 -K, --keyset           32(Key)16(IV)
                        40(Pub)21(Priv)1(CT)  Override keyset.
 -3, --self-auth-id     e.g. 1010000001000003 Authentication ID
 -4, --self-vendor-id   e.g. 01000002         Vendor ID
 -5, --self-type        LV0/LV1/LV2/APP/ISO/
                        LDR/NPDRM             SELF Type
 -A, --self-app-version e.g. 0001000000000000 Application Version
 -6, --self-fw-version  e.g. 0003004100000000 Firmware Version
 -7, --self-add-shdrs   TRUE(default)/FALSE   Whether to add ELF shdrs or not.
 -8, --self-ctrl-flags  32 bytes              Override control flags.
 -9, --self-cap-flags   32 bytes              Override capability flags.
 -b, --np-license-type  LOCAL/FREE            License Type
 -c, --np-app-type      SPRX/EXEC/USPRX/UEXEC App Type (U* for updates)
 -f, --np-content-id                          Content ID
 -l, --np-klicensee     16 bytes              Override klicensee.
 -g, --np-real-fname    e.g. EBOOT.BIN        Real Filename
 -j, --np-add-sig       TRUE/FALSE(default)   Whether to add a NP sig. or not.

==> History <==
Version 0.3.2
 - Now skips 0 byte selfs(helps pupexplode run without a segfault)
Version 0.3.1
 - Changed configuration to private build with the following new features:
 KeySeeds now appear when using -i on isolated modules
 Build your own isolated module with custom KeySeed by using option -a
Version 0.3.0
 - Added option to specify the data path
Version 0.2.9
 - Plaintext sections will now take less space in metadata header keys array.
 - Added option to specifiy a template SELF to take configuration values from.
 - Added option to override the keyset used for en-/decryption.
 - Fixed NP application types.
 - [Firmware Version] will now be written to control info only.
 - [Application Version] will now be written to application info only.
Version 0.2.8 (intermediate release):
 - Fixed minor bugs where scetool would crash.
 - Added SPP parsing.
 - Decrypting RVK/SPP will now write header+data to file.
Version 0.2.7:
 - Added local NP license handling.
 - Added option to override klicensee.
 - Added option to disable section skipping (in SELF generation).
Version 0.2.5:
 - Added option to use provided metadata info for decryption.
 - "PS3" path environment variable will now be searched for keys/ldr_curves/vsh_curves too.
Version 0.2.4:
 - Added option to display raw values.
 - Moved factory Auth-IDs to <public build> (as they are on ps3devwiki now).
Version 0.2.2:
 - Added options to override control/capability flags (32 bytes each).
 - Fixed where a false keyset would crash scetool when decrypting a file.
 - Some source level changes and optimizations.
Version 0.2.1:
 - zlib is required to use scetool.
 - 'sdk_type' was changed to 'revision' in data/keys.
==> Greetings to <==
 - you know who you are!

==> Trivia <==
Something went wrong with that request. Please try again.