Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
f0c0fadd27 | |||
5e4077f119 | |||
33e88b4c67 | |||
95392076e0 | |||
|
4fe45136d4 | ||
|
c10076e0d1 | ||
|
66ec55606e | ||
|
3a238c4492 | ||
|
b7e5595058 | ||
|
f9c0272e81 | ||
|
950e17fa13 | ||
|
a3a5e0647c | ||
|
5681679d79 | ||
|
f7d307ba3d | ||
|
884868f487 | ||
|
12362e1668 | ||
|
d94da651a0 | ||
|
691ccd6697 | ||
|
b8d972dda2 |
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019 Silica
|
||||
Copyright (c) 2019 Li
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -141,8 +141,6 @@ int sceAppUtilCacheMount_patched(){
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int ret0 (int *args)
|
||||
{
|
||||
return 0;
|
||||
|
@ -167,6 +165,38 @@ SceUID sceKernelLoadStartModule_patched(char *path, SceSize args, void *argp, in
|
|||
sceClibPrintf("SecurityCritical: %x\n",SecurityCritical);
|
||||
}
|
||||
|
||||
if(strstr(path,"libmono_bridge.suprx")) //PSM
|
||||
{
|
||||
/*
|
||||
int SceLibMonoBridge_70493FB9
|
||||
(char *sdk_version,undefined4 param_2,uint param_3,uint param_4,char *project_name,
|
||||
undefined4 param_6,void *output)
|
||||
|
||||
find offset by following the 5th paramater, into 3 different functions.
|
||||
you'll come accross a strcmp, lower down is a if(*unk_whatever = 1)
|
||||
thats the jump you wnat to patch.
|
||||
*/
|
||||
|
||||
tai_module_info_t info;
|
||||
info.size = sizeof(tai_module_info_t);
|
||||
taiGetModuleInfo("SceLibMonoBridge", &info);
|
||||
uint16_t patched_instruction = 0xBF00; //ARM9 "NO OPERATION"
|
||||
|
||||
int ret = 0;
|
||||
sceClibPrintf("%s: nid 0x%x\n",path,info.module_nid);
|
||||
switch(info.module_nid)
|
||||
{
|
||||
case 0x28D9013B: //SDK 2.00
|
||||
ret = taiInjectData(info.modid, 0, 0x132F8, &patched_instruction, 0x2);
|
||||
sceClibPrintf("TaiInjectData (sdk2.00) %x\n",ret);
|
||||
break;
|
||||
case 0x88B67542: //SDK 1.21
|
||||
ret = taiInjectData(info.modid, 0, 0x12e48, &patched_instruction, 0x2);
|
||||
sceClibPrintf("TaiInjectData (sdk1.21) %x\n",ret);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(strstr(path,"libpsm.suprx")) //PSM
|
||||
{
|
||||
|
||||
|
@ -181,13 +211,57 @@ SceUID sceKernelLoadStartModule_patched(char *path, SceSize args, void *argp, in
|
|||
if(strstr(path,"libScePsmEdata.suprx")) //PSM Unity
|
||||
{
|
||||
|
||||
|
||||
/*
|
||||
finding offsets for project_name
|
||||
look at int ScePsmEdata_2EC7439C(int param_1,undefined4 param_2,uint param_3,uint param_4,char *project_name)
|
||||
|
||||
find offset by following the 5th paramater, into 3 different functions.
|
||||
you'll come accross a strcmp, lower down is a if(*unk_whatever = 1)
|
||||
thats the jump you wnat to patch.
|
||||
|
||||
for UnityCheckDrm look for sceIoGetStat,
|
||||
look at all cross references and the function
|
||||
that contiains one that has arg1 "cache0:/_System"
|
||||
is UnityCheckDrm().
|
||||
*/
|
||||
|
||||
tai_module_info_t info;
|
||||
info.size = sizeof(tai_module_info_t);
|
||||
taiGetModuleInfo("ScePsmEdata", &info);
|
||||
uint16_t patched_instruction = 0xBF00; //ARM9 "NO OPERATION"
|
||||
|
||||
int ret = 0;
|
||||
sceClibPrintf("%s: nid 0x%x\n",path,info.module_nid);
|
||||
switch(info.module_nid)
|
||||
{
|
||||
case 0xB4657632: //Unity 4.3.7.0
|
||||
ret = taiInjectData(info.modid, 0, 0x3b50, &patched_instruction, 0x2); //allow for all project_name
|
||||
sceClibPrintf("TaiInjectData (unity4.3.7.0) %x\n",ret);
|
||||
|
||||
|
||||
UnityCheckDrm = taiHookFunctionOffset(&UnityCheckDrm_ref,
|
||||
ret,
|
||||
info.modid,
|
||||
0,
|
||||
0x5a62, //PsmDrmBootCheck
|
||||
1,
|
||||
ret0);
|
||||
sceClibPrintf("UnityCheckDrm: %x\n",UnityCheckDrm);
|
||||
|
||||
break;
|
||||
case 0x21AE6754: //Unity Base
|
||||
ret = taiInjectData(info.modid, 0, 0x10f9c, &patched_instruction, 0x2); //allow for all project_name
|
||||
sceClibPrintf("TaiInjectData (unity base) %x\n",ret);
|
||||
|
||||
UnityCheckDrm = taiHookFunctionOffset(&UnityCheckDrm_ref,
|
||||
info.modid,
|
||||
0,
|
||||
0x12eb2, //PsmDrmBootCheck
|
||||
1,
|
||||
ret0);
|
||||
sceClibPrintf("UnityCheckDrm: %x\n",UnityCheckDrm);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -258,10 +332,13 @@ void module_start(SceSize argc, const void *args) {
|
|||
int module_stop(SceSize argc, const void *args) {
|
||||
|
||||
// release hooks
|
||||
|
||||
if (CacheMounted >= 0) taiHookRelease(CacheMounted, CacheMounted_ref);
|
||||
if (SuiteCheckDrm >= 0) taiHookRelease(SuiteCheckDrm, SuiteCheckDrm_ref);
|
||||
if (LoadModuleHook >= 0) taiHookRelease(LoadModuleHook, LoadModuleHook_ref);
|
||||
if (UnityCheckDrm >= 0) taiHookRelease(UnityCheckDrm, UnityCheckDrm_ref);
|
||||
if (SecurityCritical >= 0) taiHookRelease(SecurityCritical, SecurityCritical_ref);
|
||||
if (PeekPositive >= 0) taiHookRelease(PeekPositive, PeekPositive_ref);
|
||||
if (LoadModuleHook >= 0) taiHookRelease(LoadModuleHook, LoadModuleHook_ref);
|
||||
|
||||
return SCE_KERNEL_STOP_SUCCESS;
|
||||
}
|
||||
|
|
49
README.md
49
README.md
|
@ -1,46 +1,29 @@
|
|||
# MakePsmGreatAgain
|
||||
|
||||
Modifications to the PSM Developer applications
|
||||
|
||||
Re-Enables USB Serial Mode, and gives PSM Developer Applications infinite publishing licenses
|
||||
Features:
|
||||
+ Never-Ending Publishing License. - While MakePsmGreatAgain is active, you dont have to "Refresh License" with PSM+
|
||||
+ USB Serial Mode Re-Enabled - Can connect PC to Development Assistant via USB
|
||||
+ PSMPlus Publishing Keys - Apps signed with PSMPlus Keys will work all consoles with MakePsmGreatAgain
|
||||
+ Exit with Start+Up - While a PSM app is running, You can press Start+Up to return back to Developer Assistant
|
||||
+ All applications are "SecurityCritcal" - Enables ALL .NET functions, including ones marked 'unsafe'
|
||||
+ app.info "project_name" check patched (runtime only) - Enables games to run regardless of if "project_name" is set to "*"
|
||||
|
||||
To install plugin:
|
||||
|
||||
(Note: As PSM Dev is revoked in f00d you need reF00D/0syscall6 or rePatch with a compati pack in order to run it)
|
||||
|
||||
# Installation
|
||||
```
|
||||
*PCSI00007
|
||||
ux0:/tai/MakePsmGreatAgain.suprx
|
||||
ur0:/tai/MakePsmGreatAgain-v1.5.suprx
|
||||
*PCSI00009
|
||||
ux0:/tai/MakePsmGreatAgain.suprx
|
||||
ur0:/tai/MakePsmGreatAgain-v1.5.suprx
|
||||
```
|
||||
(use ur0 if prefered)
|
||||
|
||||
[How do i install PSM Dev?](https://pastebin.com/8mGXtC57)
|
||||
# FAQ
|
||||
|
||||
Where gonna Build a wall and make Sony pay for it!
|
||||
Probably with he money they stole from us
|
||||
by deleting our PSM Purchases
|
||||
[How do i install PSM Dev?](https://www.youtube.com/watch?v=CuxaVTyAVn8)
|
||||
[How do i install the PSM SDK?](https://www.youtube.com/watch?v=KoZ1xVNTjUc)
|
||||
|
||||
# V1.4 -
|
||||
Switched to Userland Plugin (.suprx)
|
||||
Now enables "SecurityCritical" on all apps in PSM Dev (FOR ULTIMATE C# CAPIBILITYS!)
|
||||
You can now use Start + UP to exit back to the PSM Developer application.
|
||||
|
||||
Download: https://bitbucket.org/SilicaAndPina/makepsmgreatagain/downloads/MakePsmGreatAgain.suprx
|
||||
|
||||
# V1.3 -
|
||||
Now works with reF00D plugin by dots_tb (as well as repatch)
|
||||
|
||||
Download: https://bitbucket.org/SilicaAndPina/makepsmgreatagain/downloads/MakePsmGreatAgain-v1.3.skprx
|
||||
|
||||
# v1.2 -
|
||||
Infinite Publishing License for PSM Dev for Unity (PCSI00009)
|
||||
PSM Dev for Unity, app/game launching acturally working now (fixed bugs that dots-tb didnt want to fix)
|
||||
|
||||
Download: https://bitbucket.org/SilicaAndPina/makepsmgreatagain/downloads/MakePsmGreatAgain-v1.2.skprx
|
||||
|
||||
# v1.0 -
|
||||
Automatically creates publishing license (if not allready created) at PSM Dev bootup (still need psm+ for development!)
|
||||
Re-Enable's SceUsbSerial for ALL applications (yes, if u want to use it on your own homebrew, YOU CAN!)
|
||||
Spoofs SecureTick to allways be within the valid period for the PsmDrmBoot and KConsole Cache (Publsihing License will never expire)
|
||||
Note: Only PSM Dev Suite supported in v1.0
|
||||
|
||||
Download: https://bitbucket.org/SilicaAndPina/makepsmgreatagain/downloads/MakePsmGreatAgain.skprx
|
||||
|
|
Loading…
Reference in New Issue
Block a user