mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-13 17:49:29 +01:00
headless: add --re-decrypt and --re-raw-base to the RE tool
--re-decrypt runs pspDecryptPRX() over a file and unpacks the KL4E/KL3E stream behind it. This opens up flash0:/kd/resource/*.img, the images the Media Engine actually runs: they are ordinary tagged containers (tag 862648D1, which PrxDecrypter already has a key for) with the ~PSP signature blanked, so the normal module loader never touches them. --re-raw-base analyzes --re-module as a flat code image at a given address rather than as a PRX. The decrypted ME images are raw MIPS with no ELF around them; the address they were linked for is recoverable from their own jal targets (0x08300000 for meimg.img). Also makes PrxDecrypter.h self-contained - PSP_Header is built from _le types, so it needs Common/Swap.h rather than relying on the includer.
This commit is contained in:
1 parent
d163551823
commit
1a1430e8ca
6 files changed
+197
-76
No files matched your search
@@ -216,6 +216,9 @@ static const CommandLineParam g_autoParams[] = {
|
||||
{POFF(reOut), CmdParamType::String, "re-out", '\0', "Directory for --re-module output (default: re-out)", CmdLineMode::Headless},
|
||||
{POFF(reFunc), CmdParamType::String, "re-func", '\0', "Only disassemble this function of --re-module, by name or address", CmdLineMode::Headless},
|
||||
{POFF(reSyms), CmdParamType::String, "re-syms", '\0', "Apply a .ppsym file of known names before dumping --re-module", CmdLineMode::Headless},
|
||||
{POFF(reRawBase), CmdParamType::String, "re-raw-base", '\0', "Treat --re-module as a raw code image loaded at this address, e.g. 0x08300000", CmdLineMode::Headless},
|
||||
{POFF(reDecrypt), CmdParamType::String, "re-decrypt", '\0', "Decrypt one encrypted PSP file (PRX or ME image) and exit", CmdLineMode::Headless},
|
||||
{POFF(reDecryptOut), CmdParamType::String, "re-decrypt-out", '\0', "Output file for --re-decrypt (default: decrypted.bin)", CmdLineMode::Headless},
|
||||
{POFF(odsLog), CmdParamType::Bool, "odslog", 'o', "Also log through OutputDebugString (Windows)", CmdLineMode::Headless},
|
||||
{POFF(generateInterpreterDispatch), CmdParamType::Bool, "generate-interpreter-dispatch", '\0', "Generate C++ interpreter dispatch code (ExecInstruction) to stdout and exit", CmdLineMode::Headless},
|
||||
{POFF(resolutionScale), CmdParamType::Int, "resolution-scale", '\0', "Set the resolution scale factor"},
|
||||
|
||||
Reference in new issue
Block a user