From d28307847d3bb141a2f30be34846046aab1f512a Mon Sep 17 00:00:00 2001 From: CelesteBlue-dev Date: Sat, 5 Feb 2022 00:23:03 +0100 Subject: [PATCH] Delete pauth_tool, useless since pauth keys known pauth_tool was added because of #4074 pauth_tool can be removed because of #12559 --- Tools/pauth_tool/Makefile | 16 -- .../pauth_tool/PSP/GAME/pauth_tool/EBOOT.PBP | Bin 68450 -> 0 bytes Tools/pauth_tool/main.c | 141 ------------------ Tools/pauth_tool/pauth.S | 7 - Tools/pauth_tool/readme.txt | 3 - 5 files changed, 167 deletions(-) delete mode 100644 Tools/pauth_tool/Makefile delete mode 100644 Tools/pauth_tool/PSP/GAME/pauth_tool/EBOOT.PBP delete mode 100644 Tools/pauth_tool/main.c delete mode 100644 Tools/pauth_tool/pauth.S delete mode 100644 Tools/pauth_tool/readme.txt diff --git a/Tools/pauth_tool/Makefile b/Tools/pauth_tool/Makefile deleted file mode 100644 index cc8b5e3107..0000000000 --- a/Tools/pauth_tool/Makefile +++ /dev/null @@ -1,16 +0,0 @@ - -TARGET = pauth -OBJS = main.o pauth.o - -CFLAGS = -O2 -G0 -Wall -I. -LDFLAGS = -mno-crt0 -nostartfiles -L. -LIBS += - -BUILD_PRX = 1 - -EXTRA_TARGETS = EBOOT.PBP -PSP_EBOOT_TITLE = pauth file decrypter - -PSPSDK = $(shell psp-config --pspsdk-path) -include $(PSPSDK)/lib/build.mak - diff --git a/Tools/pauth_tool/PSP/GAME/pauth_tool/EBOOT.PBP b/Tools/pauth_tool/PSP/GAME/pauth_tool/EBOOT.PBP deleted file mode 100644 index 84e83230e00d6e949bbb8ed5beaeef18624ef7bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68450 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 diff --git a/Tools/pauth_tool/main.c b/Tools/pauth_tool/main.c deleted file mode 100644 index 088c6cbd2f..0000000000 --- a/Tools/pauth_tool/main.c +++ /dev/null @@ -1,141 +0,0 @@ - -#include -#include -#include -#include - -#include -#include -#include - - -PSP_MODULE_INFO("Dump_file", 0, 1, 1); -PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER); - -#define printf pspDebugScreenPrintf - -/**************************************************************/ - -void process_pauth(char *name) -{ - char tname[64], *p; - u8 pauth_key[16], *pbuf; - int fd, size, dsize, retv; - - printf("%s\n", name); - - /* Read key */ - sprintf(tname, "ms0:/PAUTH/%s", name); - p = strrchr(tname, '.'); - strcpy(p, ".key"); - fd = sceIoOpen(tname, PSP_O_RDONLY, 0666); - if(fd<0){ - printf("%s: open failed!\n", tname); - return; - } - sceIoRead(fd, pauth_key, 16); - sceIoClose(fd); - - /* read pauth data */ - sprintf(tname, "ms0:/PAUTH/%s", name); - pbuf = (u8*)0x09000000; - fd = sceIoOpen(tname, PSP_O_RDONLY, 0666); - if(fd<0){ - printf("%s: open failed!\n", tname); - return; - } - size = sceIoLseek32(fd, 0, SEEK_END); - sceIoLseek32(fd, 0, SEEK_SET); - sceIoRead(fd, pbuf, size); - sceIoClose(fd); - - /* decrypt it */ - retv = scePauth_98B83B5D(pbuf, size, &dsize, pauth_key); - if(retv<0){ - printf("scePauth_98B83B5D: %08x\n", retv); - return; - } - - /* save */ - sprintf(tname, "ms0:/PAUTH/%s.decrypt", name); - fd = sceIoOpen(tname, PSP_O_WRONLY | PSP_O_CREAT | PSP_O_TRUNC, 0777); - if(fd<0){ - printf("%s: open failed! %08x\n", tname, fd); - return; - } - sceIoWrite(fd, pbuf, dsize); - sceIoClose(fd); - - printf(" %s decrypt, size %08x\n", name, dsize); - -} - -int main_thread(SceSize args, void *argp) -{ - SceCtrlData pad; - SceIoDirent dir; - char *p; - int dfd, retv; - - pspDebugScreenInit(); - - dfd = sceIoDopen("ms0:/PAUTH"); - if(dfd<=0){ - printf("sceIoDopen failed! %08x\n", dfd); - return dfd; - } - - memset(&dir, 0, sizeof(dir)); - while(1){ - retv = sceIoDread(dfd, &dir); - if(retv<0){ - printf("sceIoDread dfd=%d %08x\n", dfd, retv); - break; - } - if(retv==0) - break; - if(FIO_SO_ISREG(dir.d_stat.st_attr)) { - if(strncmp(dir.d_name, "pauth_", 6)==0){ - p = strrchr(dir.d_name, '.'); - if(p && strcmp(p, ".bin")==0){ - process_pauth(dir.d_name); - } - } - } - } - - sceIoDclose(dfd); - - printf("Process finished. Press O to exit.\n"); - while(1){ - sceCtrlReadBufferPositive(&pad, 1); - if(pad.Buttons&PSP_CTRL_CIRCLE) - break; - sceKernelDelayThread(12000); - } - - sceKernelExitGame(); - return 0; -} - -/**************************************************************/ - -int module_start(SceSize args, void* argp) -{ - int thid; - - thid = sceKernelCreateThread("main_thread", main_thread, 0x1A, 0x10000, 0, NULL); - if(thid>=0) { - sceKernelStartThread(thid, args, argp); - } - - return 0; -} - -int module_stop(SceSize args, void *argp) -{ - return 0; -} - -/**************************************************************/ - diff --git a/Tools/pauth_tool/pauth.S b/Tools/pauth_tool/pauth.S deleted file mode 100644 index 7d211c6bfd..0000000000 --- a/Tools/pauth_tool/pauth.S +++ /dev/null @@ -1,7 +0,0 @@ - .set noreorder - -#include "pspimport.s" - - IMPORT_START "scePauth", 0x40010011 - IMPORT_FUNC "scePauth", 0x98B83B5D, scePauth_98B83B5D - diff --git a/Tools/pauth_tool/readme.txt b/Tools/pauth_tool/readme.txt deleted file mode 100644 index 500de284d6..0000000000 --- a/Tools/pauth_tool/readme.txt +++ /dev/null @@ -1,3 +0,0 @@ -Made by tpunix -Only decrypt MH3P -Don't work with scePauth_F7AA47F6 \ No newline at end of file