cfw patch game directory stuff
This is a discussion on cfw patch game directory stuff within the PSP Development Forum forums, part of the PSP Development, Hacks, and Homebrew category; Zitat von Coolj This thread should be locked,seriously. why? it not violating any of the rules?...
-
08-07-2008, 06:00 AM #31NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-07-2008, 06:13 AM #32Banned for LIFE
- Registriert seit
- Oct 2006
- Ort
- East London, England
- Beiträge
- 2
- Points
- 18.744
- Level
- 86
- Downloads
- 0
- Uploads
- 0
Its dangerous.
-
08-07-2008, 06:18 AM #33NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
hmm, i guess but people should know that any function or program that mess with the fw is dangerous and should try it on there OWN risk
-=Double Post Merge =-
super sheep , i was just wondering if i can use better sctrlHENFindFunction instead of FindProc so it will look like this -----------------------------------------------
Code:int sceCtrlReadBufferPositivePatched(SceCtrlData* pad, int count) { //my patch on code } u32 OriginalFunction; OriginalFunction = sctrlHENFindFunction("sceController_Service", "sceCtrl_driver", 0x1F803938); sctrlHENPatchSyscall(OriginalFunction, sceCtrlReadBufferPositivePatched);Geändert von thecobra (08-07-2008 um 06:32 AM Uhr) Grund: Automerged Doublepost
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-07-2008, 06:31 AM #34Banned for LIFE
- Registriert seit
- Oct 2006
- Ort
- East London, England
- Beiträge
- 2
- Points
- 18.744
- Level
- 86
- Downloads
- 0
- Uploads
- 0
Just make sure you test excessively before releasing. This thread doesnt inspire much confidence.
-
08-07-2008, 06:34 AM #35NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-07-2008, 06:37 AM #36Avada Kedavra

- Registriert seit
- May 2007
- Ort
- Spain
- Beiträge
- 703
- Points
- 6.813
- Level
- 54
- Downloads
- 0
- Uploads
- 0
Nah,not violating rules I guess..Just saw your ignorant comments and thought its better to lock this thingy.
-
08-07-2008, 06:43 AM #37NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-07-2008, 07:27 AM #38QJ Gamer Silver
- Registriert seit
- Sep 2006
- Ort
- Perth, Scotland
- Beiträge
- 1.094
- Points
- 8.475
- Level
- 62
- Downloads
- 0
- Uploads
- 0
sctrlHENFindFunction is better than FindProc? :P
If you actually bothered to look in systemctrl.h you will find an awesome line known as:
#define FindProc sctrlHENFindFunction
-
08-07-2008, 07:34 AM #39
Lot of the loading/executing functions are dependent on the EBOOT being in PSP\GAME\XXXX.
Something will break somewhere if you change this. For example if the EBOOT is calling some other load/exec function etc.
And its not only about hooking the load functions. The eboot loading function (in 3.xx kernel atleast) wont even work if its not in PSP\GAME\XXXX, so you will have to find the function and dasm it and patch it and what not.
-
08-07-2008, 08:08 AM #40QJ Gamer Silver
- Registriert seit
- Sep 2006
- Ort
- Perth, Scotland
- Beiträge
- 1.094
- Points
- 8.475
- Level
- 62
- Downloads
- 0
- Uploads
- 0
-
08-08-2008, 05:24 AM #41NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
errors
ok i having a problem
the compiler give on givin me errors with the systemctrl.h file.
here is the erros
i know it doesnt have to do with my main.c file because i only include it the file but never use it just to make sure it compiles correctlyCode:C:\Pather1test>make psp-gcc -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=150 - -o main.o main.c In file included from main.c:4: C:/pspsdk/psp/sdk/include/systemctrl.h:200: error: expected ')' before '*' toke C:/pspsdk/psp/sdk/include/systemctrl.h:241: error: expected '=', ',', ';', 'asm or '__attribute__' before 'sctrlHENSetStartModuleHandler' make: *** [main.o] Error 1
i wanted to make just a simple eboot with this
here my makefile
and here my systemctrl.h fileCode:TARGET = hello OBJS = main.o CFLAGS = -O2 -G0 -Wall CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS) EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = Hello World PSPSDK=$(shell psp-config --pspsdk-path) include $(PSPSDK)/lib/build.mak
Spoiler for 1:
according to the compiler the errors come from here:
and here:Code:typedef int (* STMOD_HANDLER)(SceModule2 *);
guys got any clue on how to fix that erros because i did what the compiler said but it give me diffrent erros.Code:STMOD_HANDLER sctrlHENSetStartModuleHandler(STMOD_HANDLER handler);
meanwhile i try to cut those part of the header file because i dont use it but it will be really greate if i was told how to fix that.
thanks in advanceGameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-08-2008, 05:34 AM #42
This is going way beyond spoon-fed but I never refuse to help:
Check the header file (WHICH ONE?) and it is a very identifiable error :)Geändert von Mr305 (08-08-2008 um 05:53 AM Uhr)
-
08-08-2008, 06:07 AM #43NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
thanks but i did check the systemctrl.h header file and didnt saw any error at first.
when i recheck it i modifiy it a little bit so in line 200 it looks like this
and seem to work. thanks for your help. rigth now i am working on the patching part of the program.Code:typedef int (* STMOD_HANDLER); typedef int (* SceModule2);
i try to patch sceIoDopen and notice something wiere
i made the patch function to return a simple 2 or 1 depending on the dirname it pass by but for some reason i get a 3?
here my souce code
and what i get is thisCode:#include <pspkernel.h> #include <pspdebug.h> #include <pspcallbacks.h> #include <systemctrl.h> #include <pspdisplay.h> #include <pspctrl.h> #include <string.h> #include <stdio.h> #include <pspsdk.h> #include <unistd.h> #include <pspiofilemgr.h> #include <stdlib.h> #define printf pspDebugScreenPrintf PSP_MODULE_INFO("Name Of Program",0,1,1); u32 sceIoDopenFunction; int sceIoDopenpatch (const char* dirname) { int rv = 0; if (stricmp(dirname, "ms0:/PSP/GAME")==0 || (stricmp(dirname, "ms0:/PSP/GAME/")==0) ) { rv = 2; } else { rv = 1;} return rv; } int main() { pspDebugScreenInit(); pspDebugScreenClear(); SetupCallbacks(); printf("PATCHER 2008 Dopen\n"); printf("ABOUT TO PATCH\n"); sceIoDopenFunction = FindProc("iofilemgr", "IoFileMgrForUser", 0xB29DDF9C); sctrlHENPatchSyscall(sceIoDopenFunction, sceIoDopenpatch); printf("Finish patching now about to test if work\n"); int pt; pt = sceIoDopen("ms0:/PSP/GAME"); printf("here are the result %i\n", pt); printf("ABOUT to resture PATCH\n"); sctrlHENPatchSyscall((u32)sceIoDopenpatch, (void *)sceIoDopenFunction); printf("Fishing restoring\n"); printf("About to see real result\n"); pt = sceIoDopen("ms0:/PSP/GAME"); printf("here are the result %i\n", pt); printf("END :)\n"); sceKernelSleepThread(); return 0; }
i really find it weir because if you check i pass ms0:/PSP/GAME meaning it should give me 2 and not 3? any idea why it does that?Code:PATCHER 2008 ABOUT to Patch finish patching now about to test if work here are the result 3 about to resture the patch Finishing restoring about to see real result here are the result 4 END : )
-=Double Post Merge =-
i just notice that it on giving back how many time the funtion is call,
i say this because i counted how many time the funtion is use and it excatly 3, and when i recall it , the return var is alway increaseGeändert von thecobra (08-08-2008 um 06:22 AM Uhr) Grund: Automerged Doublepost
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-08-2008, 06:34 AM #44QJ Gamer Bronze
- Registriert seit
- Nov 2007
- Ort
- Finland
- Beiträge
- 846
- Points
- 5.309
- Level
- 46
- Downloads
- 0
- Uploads
- 0
Why don't you just decrypt vshctrl.prx and edit the game directories that way?
That's what I did with 3.60 M33 Time Machine, I edited it to load GAMEXXX games from GAME4XX instead of GAME360.
-
08-08-2008, 07:00 AM #45NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
that a no because the prx can get corrupted and not in all cfw, the vshctrl.prx are EXACTLY the same but thanks for the advice
-=Double Post Merge =-
i dont know why but the funtion dont seem to be hook. those that mean they could only be hook by prx? because all funtion i hook work the same as if i never hook itGeändert von thecobra (08-08-2008 um 07:08 AM Uhr) Grund: Automerged Doublepost
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-08-2008, 07:20 AM #46
-
08-08-2008, 07:22 AM #47Banned for LIFE
- Registriert seit
- Oct 2006
- Ort
- East London, England
- Beiträge
- 2
- Points
- 18.744
- Level
- 86
- Downloads
- 0
- Uploads
- 0
-
08-08-2008, 07:22 AM #48NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
oh, so the patching funtion MOST be in a prx. i had put it on my eboot because i wanted to see the result by i will do what you said and put it in a prx.wait a second while i try it and report my result here :)
-=Double Post Merge =-
i downloaded that a few minute ago but he doesn't use the same function that super sheep advise. i find the one super sheep gave me more simple to use. i try what mr305 said and if that doesnt work i go to apihook.c styleGeändert von thecobra (08-08-2008 um 07:26 AM Uhr) Grund: Automerged Doublepost
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-08-2008, 07:37 AM #49Avada Kedavra

- Registriert seit
- May 2007
- Ort
- Spain
- Beiträge
- 703
- Points
- 6.813
- Level
- 54
- Downloads
- 0
- Uploads
- 0
Dude,learn how to program first,seriously.This thread is a joke!
-
08-08-2008, 07:40 AM #50Banned for LIFE
- Registriert seit
- Oct 2006
- Ort
- East London, England
- Beiträge
- 2
- Points
- 18.744
- Level
- 86
- Downloads
- 0
- Uploads
- 0
-
08-08-2008, 07:42 AM #51NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-08-2008, 07:45 AM #52Banned for LIFE
- Registriert seit
- Oct 2006
- Ort
- East London, England
- Beiträge
- 2
- Points
- 18.744
- Level
- 86
- Downloads
- 0
- Uploads
- 0
I dont mean to be rude but you're just not listening and you clearly don't have the skill to pull this off. Learn more about actual programming first.
-
08-08-2008, 07:48 AM #53NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-08-2008, 07:49 AM #54Banned for LIFE
- Registriert seit
- Oct 2006
- Ort
- East London, England
- Beiträge
- 2
- Points
- 18.744
- Level
- 86
- Downloads
- 0
- Uploads
- 0
-
08-08-2008, 07:52 AM #55NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
GameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-08-2008, 07:52 AM #56Banned for LIFE
- Registriert seit
- Oct 2006
- Ort
- East London, England
- Beiträge
- 2
- Points
- 18.744
- Level
- 86
- Downloads
- 0
- Uploads
- 0
You PM'ed super sheep ...
-
08-08-2008, 07:57 AM #57NetGameOrb Maker

- Registriert seit
- Jan 2008
- Ort
- New York
- Beiträge
- 683
- Points
- 6.138
- Level
- 50
- My Mood
-
- Downloads
- 2
- Uploads
- 0
yeah, once and that was when he told me i had to hook it dynamicly so i ask him to give me a example.
anyways, i going stop posting here for a while so i can go back to the patching project. i come back when i am done. if you have to tell me anything that doesn't have to do with patching please pm me and don't put it here.
thanksGameLive name changed to NetGameOrb, Project is now online in Beta stage. Everyone encourage to register so they get news about the project and ability to play the games with NetGameOrb Support online. More info on site.
Stats Blog:http://netgameorb.blogspot.com/
Website:http://www.netgameorb.com/
-
08-08-2008, 01:06 PM #58QJ Gamer Silver
- Registriert seit
- Sep 2006
- Ort
- Perth, Scotland
- Beiträge
- 1.094
- Points
- 8.475
- Level
- 62
- Downloads
- 0
- Uploads
- 0
Decompress vshctrl...
Plus that is a terrible idea. People will be flashing hex edited vshctrl all over the place.
@thecobra
This is advanced PSP programming. You need to use kernel mode.
typedef int (* STMOD_HANDLER);
typedef int (* SceModule2);
Change that. That is so very wrong. Add -lpspsystemctrl_kernel to your makefile instead...
That sample should work. As a Plugin obv.Code:#include <pspkernel.h> #include <pspsdk.h> #include <pspiofilemgr.h> #include <systemctrl.h> PSP_MODULE_INFO("Simple hook", 0x1000, 0, 1); //Notice the kernel mode? #define PatchSyscall sctrlHENPatchSyscall void ClearCaches() { sceKernelDcacheWritebackAll(); sceKernelIcacheClearAll(); } SceUID sceIoDopenPatched(const char *dirname) { if(strcasecmp(dirname, "ms0:/iwanttohookthisfunction") == 0) { sceIoMkdir(dirname, 0777); } return sceIoDopen(dirname); } int module_start(SceSize args, void *argp) { PatchSyscall(FindProc("sceIOFileManager", "IoFileMgrForKernel", 0xB29DDF9C), sceIoDopenPatched); ClearCaches(); SceUID dfd; if(dfd = sceIoDopen("ms0:/iwanttohookthisfunction") >= 0) { sceIoClose(dfd); } return 0; }
-
08-11-2008, 11:57 AM #59
Just keep in mind that won't function properly in the VSH, it'd either do nothing at all or kill the vshctrl patches, I can't remember from the top of my head if vshctrl loads before it loads any plugins.


LinkBack URL
About LinkBacks
Mit Zitat antworten

, why people becoming to be rude? a simple "it wont work try the other way" work find you guys know and thanks i try the apihook styl

Hello everyone I am new here and I am glad to be part of this amazing community and I think there...
New to forum