Scripting: add sdump -w flag

This commit is contained in:
d0k3 2018-04-18 16:25:37 +02:00
parent 83c90b8afb
commit 20bc988676
2 changed files with 11 additions and 1 deletions

View File

@ -175,7 +175,7 @@ Gm9ScriptCmd cmd_list[] = {
{ CMD_ID_ENCRYPT , "encrypt" , 1, 0 }, { CMD_ID_ENCRYPT , "encrypt" , 1, 0 },
{ CMD_ID_BUILDCIA, "buildcia", 1, _FLG('l') }, { CMD_ID_BUILDCIA, "buildcia", 1, _FLG('l') },
{ CMD_ID_EXTRCODE, "extrcode", 2, 0 }, { CMD_ID_EXTRCODE, "extrcode", 2, 0 },
{ CMD_ID_SDUMP , "sdump", 1, 0 }, { CMD_ID_SDUMP , "sdump", 1, _FLG('w') },
{ CMD_ID_APPLYIPS, "applyips", 3, 0 }, { CMD_ID_APPLYIPS, "applyips", 3, 0 },
{ CMD_ID_APPLYBPS, "applybps", 3, 0 }, { CMD_ID_APPLYBPS, "applybps", 3, 0 },
{ CMD_ID_APPLYBPM, "applybpm", 3, 0 }, { CMD_ID_APPLYBPM, "applybpm", 3, 0 },
@ -1277,6 +1277,7 @@ bool run_cmd(cmd_id id, u32 flags, char** argv, char* err_str) {
if ((strncasecmp(argv[0], TIKDB_NAME_ENC, _ARG_MAX_LEN) == 0) || if ((strncasecmp(argv[0], TIKDB_NAME_ENC, _ARG_MAX_LEN) == 0) ||
(strncasecmp(argv[0], TIKDB_NAME_DEC, _ARG_MAX_LEN) == 0)) { (strncasecmp(argv[0], TIKDB_NAME_DEC, _ARG_MAX_LEN) == 0)) {
bool tik_dec = (strncasecmp(argv[0], TIKDB_NAME_DEC, _ARG_MAX_LEN) == 0); bool tik_dec = (strncasecmp(argv[0], TIKDB_NAME_DEC, _ARG_MAX_LEN) == 0);
if (flags & _FLG('w')) fvx_unlink(tik_dec ? OUTPUT_PATH "/" TIKDB_NAME_DEC : OUTPUT_PATH "/" TIKDB_NAME_ENC);
if (BuildTitleKeyInfo(NULL, tik_dec, false) == 0) { if (BuildTitleKeyInfo(NULL, tik_dec, false) == 0) {
ShowString("Building to " OUTPUT_PATH ":\n%s ...", argv[0]); ShowString("Building to " OUTPUT_PATH ":\n%s ...", argv[0]);
if (((BuildTitleKeyInfo("1:/dbs/ticket.db", tik_dec, false) == 0) || if (((BuildTitleKeyInfo("1:/dbs/ticket.db", tik_dec, false) == 0) ||
@ -1285,6 +1286,7 @@ bool run_cmd(cmd_id id, u32 flags, char** argv, char* err_str) {
ret = true; ret = true;
} }
} else if (strncasecmp(argv[0], SEEDDB_NAME, _ARG_MAX_LEN) == 0) { } else if (strncasecmp(argv[0], SEEDDB_NAME, _ARG_MAX_LEN) == 0) {
if (flags & _FLG('w')) fvx_unlink(OUTPUT_PATH "/" SEEDDB_NAME);
if (BuildSeedInfo(NULL, false) == 0) { if (BuildSeedInfo(NULL, false) == 0) {
ShowString("Building to " OUTPUT_PATH ":\n%s ...", argv[0]); ShowString("Building to " OUTPUT_PATH ":\n%s ...", argv[0]);
if (((BuildSeedInfo("1:", false) == 0) || if (((BuildSeedInfo("1:", false) == 0) ||

View File

@ -268,6 +268,14 @@ verify S:/firm1.bin
# -l / --legit force CIA to be legit (only works for legit system installed titles) # -l / --legit force CIA to be legit (only works for legit system installed titles)
# buildcia 0:/x.ncch # buildcia 0:/x.ncch
# 'sdump' COMMAND
# This command dumps a supported file to the standard output directory (0:/gm9/out)
# Supported files: encTitleKeys.bin, decTitleKeys.bin, seeddb.bin
# -w / --overwrite overwrite existing files without asking
# sdump encTitleKeys.bin
# sdump decTitleKeys.bin
# sdump seeddb.bin
# 'applyips' COMMAND # 'applyips' COMMAND
# This will apply the given IPS-formatted delta patch (argument 1) to the specified file (argument 2) # This will apply the given IPS-formatted delta patch (argument 1) to the specified file (argument 2)
# to produce the patched file (argument 3). 2 and 3 may be the same to perform an in-place patch. # to produce the patched file (argument 3). 2 and 3 may be the same to perform an in-place patch.