Compare commits

...

9 Commits
v1.0 ... master

Author SHA1 Message Date
random() 148e5bcbad Update README.md 2023-11-02 06:16:17 +00:00
SilicaAndPina e46ffc8e83 README.md edited online with Bitbucket 2019-08-31 03:25:42 +00:00
SilicaAndPina 6101d286f4 README.md edited online with Bitbucket 2019-08-31 03:25:10 +00:00
SilicaAndPina 0d44412168 README.md edited online with Bitbucket 2019-03-04 02:33:42 +00:00
SilicaAndPina f0d3629482 README.md edited online with Bitbucket 2019-03-04 02:33:09 +00:00
SilicaAndPina 9578c70d6e README.md edited online with Bitbucket 2019-03-04 02:28:22 +00:00
SilicaAndPina 35f0cbdb93 README.md edited online with Bitbucket 2019-03-04 02:26:49 +00:00
SilicaAndPina 9293389bce README.md edited online with Bitbucket 2019-03-04 02:26:16 +00:00
AtelierWindows eeb4457a1e Add Unity Support 2019-03-03 23:55:26 +13:00
2 changed files with 56 additions and 29 deletions

View File

@ -14,14 +14,7 @@ char titleid[12];
int SceLibPsmAimMgrIsDex_p()
{
int ret = TAI_CONTINUE(int, SceLibPsmAimMgrIsDexHook_ref,);
if(ret > -1)
{
return 1;
}
sceClibPrintf("[FreePSM] ERROR: SceLibPsmAimMgrIsDex returned %x",ret);
return ret;
return 1;
}
SceUID sceKernelLoadStartModule_p(char *path, SceSize args, void *argp, int flags, SceKernelLMOption *option, int *status)
@ -31,16 +24,45 @@ SceUID sceKernelLoadStartModule_p(char *path, SceSize args, void *argp, int flag
SceUID ret;
ret = TAI_CONTINUE(SceUID, LoadModuleHook_ref, path, args, argp, flags, option, status);
if(strstr(path,"libpsm.suprx"))
if(strstr(path,"libpsm.suprx")) //PSM
{
SceLibPsmAimMgrIsDexHook = taiHookFunctionOffset(&SceLibPsmAimMgrIsDexHook_ref,
ret,
0,
0x450da, //2.01 Retail Runtime
0x450da, //SceLibPsmAimMgrIsDex
1,
SceLibPsmAimMgrIsDex_p);
sceClibPrintf("[FreePSM] SceLibPsmAimMgrIsDexHook %x %x\n",SceLibPsmAimMgrIsDexHook,SceLibPsmAimMgrIsDexHook_ref);
}
if(strstr(path,"libScePsmInAppPurchase.suprx")) //PSM Unity
{
tai_module_info_t tai_info;
tai_info.size = sizeof(tai_module_info_t);
taiGetModuleInfo("SceLibPsmInAppPurchase", &tai_info);
switch (tai_info.module_nid) {
case 0x1E9E7B88: //1.00 - 1.01 Unity Runtime
SceLibPsmAimMgrIsDexHook = taiHookFunctionOffset(&SceLibPsmAimMgrIsDexHook_ref,
ret,
0,
0x3672, //SceLibPsmAimMgrIsDex
1,
SceLibPsmAimMgrIsDex_p);
sceClibPrintf("[FreePSM] SceLibPsmAimMgrIsDexHook %x %x\n",SceLibPsmAimMgrIsDexHook,SceLibPsmAimMgrIsDexHook_ref);
break;
case 0x4E7A28FC: //1.02 Unity Runtime
SceLibPsmAimMgrIsDexHook = taiHookFunctionOffset(&SceLibPsmAimMgrIsDexHook_ref,
ret,
0,
0x366a, //SceLibPsmAimMgrIsDex
1,
SceLibPsmAimMgrIsDex_p);
sceClibPrintf("[FreePSM] SceLibPsmAimMgrIsDexHook %x %x\n",SceLibPsmAimMgrIsDexHook,SceLibPsmAimMgrIsDexHook_ref);
break;
}
}
return ret;
}
@ -50,7 +72,7 @@ void _start() __attribute__ ((weak, alias ("module_start")));
void module_start(SceSize argc, const void *args) {
sceAppMgrAppParamGetString(0, 12, titleid, 256);
if(!strcmp(titleid,"PCSI00011")) // PSM Runtime
if(!strcmp(titleid,"PCSI00011") || !strcmp(titleid,"PCSI00010")) // PSM Runtime & PSM Unity Runtime
{
sceClibPrintf("[FreePSM] Silca: I like to see girls die :3\n");
sceClibPrintf("[FreePSM] Loaded!\n");

View File

@ -1,18 +1,23 @@
# FreePSM
Enables Debug PSM InAppPurchases in retail PSM Runtime
Basically.. it Allows you to obtain PSM InAppPurchases offline . . (and for free of cource)
forever.. :3
Useful for games that have the full game locked behinds an IAP
Install under \*ALL
Download: https://bitbucket.org/SilicaAndPina/freepsm/downloads/FreePSM.suprx
Currently only working with regular Mono PSM games, PSM for UNITY games are not supported (yet)
Only works with PSM Runtime 2.01 . . . (if u have older please share)
Note: This is ONLY for PSM (PlayStation Mobile) games NOT for Native Vita Games.
# About
Enables Debug PSM InAppPurchases in retail PSM Runtime
Basically.. it Allows you to obtain PSM InAppPurchases offline . . (and for free of cource)
forever.. :3
Useful for games that have the full game locked behinds an IAP
Install under \*ALL
Only works with PSM Runtime 2.01 And UNITY Runtime(s) 1.00-1.02
BTW: if u have an older PSM Runtime please share! im looking for older verisons!
Note: This is ONLY for PSM (PlayStation Mobile) games NOT for Native Vita Games.
Whenever an InAppPurchase command is called a message box will pop up:
like "Get Ticket Information ?" with 3 options:
OK Cancel Error
if you press OK, the IAP Handler will say the command completed successfully
if you press CANCEL it'll say that it was cancled by the user
if you press ERROR it'll say an error occured.