Compare commits

...

24 Commits
v1.2 ... master

Author SHA1 Message Date
random() 2593440911 Update README.md 2023-10-31 22:57:30 +00:00
random() 9b6b472cef Update README.md 2023-10-31 22:55:38 +00:00
random() 0862f38d6e Update README.md 2023-10-31 22:51:51 +00:00
SilicaAndPina 5e3d65d9e1 Add O Check 2020-03-08 01:45:10 +13:00
SilicaAndPina 6db7d0a124 Fix warning 2020-03-08 01:41:26 +13:00
SilicaAndPina f467a9e651 Add support for 3.73 and probably newer fw 2020-03-08 01:27:22 +13:00
SilicaAndPina 0d11b84536 README.md edited online with Bitbucket 2019-10-19 01:17:57 +00:00
SilicaAndPina 8095be6a76 README.md edited online with Bitbucket 2019-10-19 01:16:09 +00:00
SilicaAndPina aaa2b239f2 README.md edited online with Bitbucket 2019-08-31 02:33:12 +00:00
SilicaAndPina 7e45ff54b0 README.md edited online with Bitbucket 2019-08-31 02:32:27 +00:00
SilicaAndPina e33d49994f Add support for 3.71/3.72 2019-08-30 23:56:35 +00:00
SilicaAndPina 4d9ad8949c README.md edited online with Bitbucket 2019-02-03 12:00:28 +00:00
SilicaAndPina d5a62d6296 README.md edited online with Bitbucket 2019-02-03 12:00:10 +00:00
AtelierWindows\SilicaAndPina f0277c2a2b 1.4 2019-02-04 00:57:24 +13:00
SilicaAndPina 3c4ac97316 README.md edited online with Bitbucket 2019-01-15 10:13:07 +00:00
SilicaAndPina 751eed0310 README.md edited online with Bitbucket 2019-01-15 10:01:02 +00:00
SilicaAndPina ff9692a11b README.md edited online with Bitbucket 2019-01-15 09:55:14 +00:00
AtelierWindows\SilicaAndPina 69e1d217bc Update 2019-01-15 22:51:26 +13:00
AtelierWindows\SilicaAndPina 4c8c7c9633 Fix timestamp desync 2019-01-15 22:32:50 +13:00
AtelierWindows\SilicaAndPina e2eb32beee Add 3.70 Support (BEFORE THEFLOW) 2019-01-15 21:35:43 +13:00
SilicaAndPina fcae55b5ec README.md edited online with Bitbucket 2018-12-05 10:22:52 +00:00
AtelierWindows\SilicaAndPina b474291ec6 Fix v1.2 2018-12-05 23:21:32 +13:00
SilicaAndPina 8bfc5cb9be README.md edited online with Bitbucket 2018-12-05 09:16:54 +00:00
SilicaAndPina e5db37c682 README.md edited online with Bitbucket 2018-12-05 09:16:32 +00:00
3 changed files with 37 additions and 42 deletions

View File

@ -1,20 +1,13 @@
# r/vitahacks trophy-hacking censorship continues!
u/GeeGee-E removed my post about TrophaxSE just like they did with the original trophax.suprx
please message the moderators of r/vitahacks and tell them to leave trophax alone. #FreeTROPHAX
https://www.reddit.com/message/compose?to=%2Fr%2Fvitahacks
# Releases
V1.1:
+ Fixes patch mounting, and also allows you to set the Timestamp of trophys! (Fake SecureTick)
https://bitbucket.org/SilicaAndPina/trophaxse/downloads/TrophaxSEv1.1.vpk
V1.0:
https://bitbucket.org/SilicaAndPina/trophaxse/downloads/TrophaxSE.vpk
# Will i get banned?
Probably not, no one has ever gotten banned on vita
even in the past when using other trophy hacks such as:
TropHAX.suprx TrophyPather or PSVTrophyIsGood
If you claim "me was banned" - ConsoleID or GTFO
give me ur CID and ill check if it really is until then-
assume such claims are bullsheet
# TropHAXSE
TropHAX Standalone Edition
A homebrew app that can unlock trophys for any game.
@ -22,7 +15,7 @@ Unlike the original TropHAX.SUPRX however, this is compadible with 100% of games
You simply need the game installed and the trophy files inside ur0:/trophy and you can unlock stuffs!
# Credits
SilicaAndPina - Lead developer, - working out how trophys work and stuff.
Li - Lead developer, - working out how trophys work and stuff.
TheFlow (vitashell) - For trop_dat0: mounting code
Princess Of Sleeping - For helping me with trop_dat0: mounting
AnalogMan - for doing UI Stuffs

View File

@ -215,7 +215,6 @@ int pfsMount(const char *path) {
}
void sceNpTrophySetupDialogParamInit(SceNpTrophySetupDialogParam* param)
{
sceClibMemset( param, 0x0, sizeof(SceNpTrophySetupDialogParam) );
@ -226,17 +225,10 @@ void sceNpTrophySetupDialogParamInit(SceNpTrophySetupDialogParam* param)
}
int setSecureTick(unsigned long long int psTime)
{
SceRtcTick utcTime = {0};
SceRtcTick localTime = {0};
utcTime.tick = psTime;
sceRtcConvertUtcToLocalTime(&utcTime,&localTime);
psTime = localTime.tick;
printf("setSecureTick: %llx\n",psTime);
@ -333,7 +325,7 @@ start:
printf("\e[%i;%iH%s", SCREEN_ROW, CENTERX(buf), buf);
memset(&pad, 0, sizeof(pad));
sceCtrlPeekBufferPositive(0, &pad, 1);
if (pad.buttons == SCE_CTRL_UP)
{
if (selection <= size - WINDOW_HEIGHT){
@ -411,7 +403,7 @@ start:
SceUChar8 commsign[160];
memset(commsign,0,160);
char path[1024];
char path[0x1128];
SceUID fd;
int len;
@ -497,7 +489,11 @@ start:
}
printf("Cound not find %s (Possibly game not installed?)\n",titleidOfGame);
while(1){};
while(1){
sceCtrlPeekBufferPositive(0, &pad, 1)
if(pad.buttons == SCE_CTRL_CIRCLE)
goto start;
};
Found:
@ -510,12 +506,8 @@ Found:
printf("sceAppMgrGameDataMount() failed. ret = 0x%x\n", ret);
while(1){};
}
memset(path,0,1024);
memset(path,0,0x1128);
sprintf(path,"%s/sce_sys/trophy/%s/TROPHY.TRP",g_currentMount,commid);
size = getFileSize(path);
if (size >=0)
@ -533,7 +525,7 @@ Found:
while(1){};
}
memset(path,0,1024);
memset(path,0,0x1128);
sprintf(path,"ux0:app/%s/sce_sys",titleid);
sceIoMkdir(path,0006);
sprintf(path,"ux0:app/%s/sce_sys/trophy",titleid);
@ -567,7 +559,7 @@ Found:
// remount app0
// CelesteBlue TAKE NOTES.
memset(path,0,1024);
memset(path,0,0x1128);
sprintf(path,"ux0:/app/%s",titleid);
ret = pfsMount(path);
if(ret < 0){
@ -683,7 +675,7 @@ TrophyMenu:
//set options
strcpy(option_list[0].path, "Unlock a Trophy");
strcpy(option_list[1].path, "Unlock All Trophys");
strcpy(option_list[3].path, "Exit");
strcpy(option_list[2].path, "Exit");
while(1)
{
@ -950,13 +942,14 @@ selectTrophyMenu:
int selectedPartOfTime = 0;
SceDateTime dateTime;
memset(&dateTime,0x00,sizeof(SceDateTime));
memset(&dateTime,0x00,sizeof(SceDateTime));
SceRtcTick fakeTime = {0};
sceRtcGetCurrentTick(&fakeTime);
sceRtcConvertUtcToLocalTime(&fakeTime,&fakeTime);
sceRtcSetTick(&dateTime,&fakeTime);
while(1)
{
@ -1107,6 +1100,7 @@ selectTrophyMenu:
dateTime.second --;
}
}
sceKernelDelayThread(150000);
}
@ -1178,13 +1172,15 @@ selectTrophyMenu:
if(pad.buttons == SCE_CTRL_CROSS)
{
psvDebugScreenClear();
psvDebugScreenClear();
printf("Unlocking trophy %i\n",selection);
SceNpTrophyId id = selection;
SceNpTrophyId platid;
FakeTimes(1);
ret = setSecureTick(fakeTime.tick);
sceRtcConvertLocalTimeToUtc(&fakeTime, &fakeTime);
setSecureTick(fakeTime.tick);
ret = sceNpTrophyUnlockTrophy(trophyContext,handle,id,&platid);
if(ret < 0){
if(ret == 0x8055160f)
@ -1213,6 +1209,7 @@ selectTrophyMenu:
sceKernelDelayThread(500000);
goto selectTrophyMenu;
}
;
}
}
}
@ -1235,7 +1232,6 @@ selectTrophyMenu:
else if(selection == 1)
{
psvDebugScreenClear(); //clear screen
SceNpTrophyId id = 0;
SceNpTrophyId platid;

View File

@ -53,9 +53,10 @@ int getTimePatched(unsigned int* timestamp)
ret = TAI_CONTINUE(int, ref_hook,timestamp);
if(spoofTime)
{
printf("[TROPHAXSE] Faking timestamp to %x%x",fakeTime[1],fakeTime[0]);
printf("[TROPHAXSE] Faking timestamp to %x%x and Return 0",fakeTime[1],fakeTime[0]);
timestamp[0] = fakeTime[0];
timestamp[1] = fakeTime[1];
return 0;
}
return ret;
}
@ -177,6 +178,11 @@ int module_start(SceSize args, void *argp) {
break;
case 0x321E4852: // 3.69 retail
case 0x700DA0CD: // 3.70 retail
case 0xF7846B4E: // 3.71 retail
case 0xA8E80BA8: // 3.72 retail
case 0xB299D195: // 3.73 retail
default:
module_get_offset(KERNEL_PID, tai_info.modid, 0, 0x2DE9, (uintptr_t *)&sceAppMgrFindProcessInfoByPid);
module_get_offset(KERNEL_PID, tai_info.modid, 0, 0x19E95, (uintptr_t *)&sceAppMgrMountById);
break;