in1975
Member
How to access this interface correctly, can you tell me? Like through 11 function, but I don't understand the parameters.

How to access this interface correctly, can you tell me? Like through 11 function, but I don't understand the parameters.
Once you have the interface loaded into an explore_interface struct in your code you should be able to use its functions, here's the header lifted from wMM:How to access this interface correctly, can you tell me? Like through 11 function, but I don't understand the parameters.
typedef struct
{
int (*DoUnk0)(int); // 1 Parameter: int value 0 - 4
int (*DoUnk1)(void); // 0 Parameter: returns an interface
int (*DoUnk2)(void); // 0 Parameter: returns an interface
int (*DoUnk3)(void); // 0 Parameter: returns an uint[0x14 / 0x24]
int (*DoUnk4)(void); // 0 Parameter
int (*DoUnk5)(void *, int); // 2 Parameter: list[] {(reload_category game/network/..,reload_category_items game/...), command amount} - send (sequences of)xmb command(s)
int (*ExecXMBcommand)(const char *,void *,int); // 3 Parameter: char* (open_list nocheck/...), void * callback(can be 0), 0
int (*DoUnk7)(int,int); // 2 Parameter:
int (*DoUnk8)(void *,int,int); // 3 Parameter:
int (*DoUnk9)(void *,int,int); // 3 Parameter: void *, void *, void *
int (*DoUnk10)(int*,char *); // 2 Parameter: char * , int * out
int (*DoUnk11)(char *, char *, int *); // 3 Parameter: char * query , char * attribute? , uint8 output[]
int (*DoUnk12)(void *); // 1 Parameter: struct
int (*DoUnk13)(int); // return 0 / 1 Parameter: int 0-9
int (*DoUnk14)(int); // return 0 / 2 Parameter: int 0-9,
int (*DoUnk15)(int,int,int); // 3 Parameter: int 0-9, ,
int (*DoUnk16)(int,int,int); // nullsub / 3 Parameter: int 0-9, ,
int (*DoUnk17)(int,int,int*,int*,int*); // 5 Parameter: int 0-9,
int (*DoUnk18)(int); // 1 Parameter:
int (*DoUnk19)(int); // 1 Parameter:
int (*DoUnk20)(int,uint64_t); // nullsub / PlayIndicate, 2 Parameter: , int value, (0 = show?, 1=update?, -1 = hide) - (set_playing 0x%x 0x%llx 0x%llx 0x%llx 0x%llx")
int (*DoUnk21)(void *); // nullsub / 1 Parameter: uint * list (simply both parameter from 20/2 and 3rd terminating = -1)
int (*DoUnk22)(void *); // 0 Parameter / 1 Parameter:
int (*DoUnk23)(void); // -
int (*DoUnk24)(void); // 0 Parameter:
int (*DoUnk25)(void); // 0 Parameter: // get target id check
int (*DoUnk26)(char *, char *); // 2 Parameter: char * (TropViewMode/backup/FaustPreview...) , char * (group/fixed/on...)
int (*DoUnk27)(void *); // 1 Parameter: char *
int (*DoUnk28)(char *, void *); // 2 Parameter: char * (ReloadXil/AvcRoomItem/...), uint8 xml?_parameters[]
int (*DoUnk29)(char *, void *); // 2 Parameter: char * ,
} explore_plugin_interface;
explore_plugin_interface * explore_interface;
extern uint32_t paf_F21655F3(const char *sprx_name);
#define View_Find paf_F21655F3
static explore_plugin_interface *get_explore_interface(void)
{
int view = paf_F21655F3("explore_plugin");
if(view)
explore_interface = (explore_plugin_interface *)plugin_GetInterface(view, 1);
else
explore_interface = NULL;
return explore_interface;
}
explore_plugin_interface *xplore_if = get_explore_interface();
if(xplore_if){
uint8_t output[whatever output size] = {};
int ret = xplore_if->DoUnk11("xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+AGL+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_PS3_BD %xCB_MEDIA_TYPE_DVDPRW+Aa+StorageMedia:StorageMedia.reserved24
", "StorageMedia:StorageMedia.reserved24", output);
....
}
In general, I wanted to execute the xmb command:Once you have the interface loaded into an explore_interface struct in your code you should be able to use its functions, here's the header lifted from wMM:
Code:typedef struct { ... int (*DoUnk11)(char *, char *, int *); // 3 Parameter: char * query , char * attribute? , uint8 output[] ... }
explore_plugin_interface *xplore_if = get_explore_interface();
uint8_t output[whatever output size] = {};
int ret = xplore_if->DoUnk11("xcb://localhost/query?table=MMS_MEDIA_TYPE_SYSTEM&cond=Ae+StorageMedia:StorageMedia.stat.mediaStatus %xCB_MEDIA_INSERTED+AGL+StorageMedia:StorageMedia.type %xCB_MEDIA_TYPE_PS3_BD %xCB_MEDIA_TYPE_DVDPRW+Aa+StorageMedia:StorageMedia.reserved24
", "StorageMedia:StorageMedia.reserved24", output);
Well, you have your query ready, you can extract the attribute from it, afaik it should be the part after the colon character.In general, I wanted to execute the xmb command:
xcb://localhost/query?sort=+Game:Common.titleForSort&cond=Oe+Game:Game.titleId RELOADXMB
And I didn't quite understand how you assign a value to a char * pointer so cleverly, without allocating memory. Similar with int*
char* ptr = (char*)malloc(6);
memset(ptr, 0, 6);
memcpy(ptr, "hello",5);
...
free(ptr);
char str[]= "hello"; // size inferred by the compiler from the initializer, conceptually array declarations without sizes are not recommended and to be avoided whenever possible
or
char str[6]= "hello"; // size declared explicitly, recommended when possible
then you can get a pointer to that string like so
char * ptr = &str[0];
and
(char*)str should also be equivalent to &str[0] in theory, personally I prefer &str[0], it's more explicit.
Once compiled
char * ptr = "hello";
should be the same as
const char * ptr = "hello";
and both should be read only.
After the first colon or after 2? Like this?Well, you have your query ready, you can extract the attribute from it, afaik it should be the part after the colon character.
typedef struct
{
...
int (*ExecXMBcommand)(const char *,void *,int); // 3 Parameter: char* (open_list nocheck/...), void * callback(can be 0), 0
...
int (*DoUnk11)(char *, char *, int *); // 3 Parameter: char * query , char * attribute? , uint8 output[]
...
}
static void reload_xmb(void)
{
while(!IS_ON_XMB)
{
sys_timer_usleep(70000);
}
// Reload All Categories and Swap Icons if Remaped
explore_interface->ExecXMBcommand("reload_category_items game",0,0);
// Reload All Categories for New Queries
explore_interface->ExecXMBcommand("reload_category game",0,0);
explore_interface->ExecXMBcommand("reload_category network",0,0);
char q[89]= "xcb://localhost/query?sort=+Game:Common.titleForSort&cond=Oe+Game:Game.titleId RELOADXMB";
char a[28]= "Game:Game.titleId RELOADXMB";
char *query = &q[0];
char *attr = &a[0];
int o=0;
int *output=&o;
explore_interface->DoUnk11(query,attr,output);
}
...
char q[]= "xcb://localhost/query?sort=+Game:Common.titleForSort&cond=Oe+Game:Game.titleId RELOADXMB";
char a[18]= "Game:Game.titleId";
int output[8]={0,0,0,0,0,0,0,0};//using 8 randomly here, maybe 1 is enough, maybe you need more, the only way to know for sure would be to reverse engineer the code but a few tests might be sufficient here
int ret= explore_interface->DoUnk11(&q[0],&a[0],&output[0]);
if(ret){
printf ("Error 0x%X\n",ret);
}
else{
for(int i=0;i<8;i++){
printf ("Output %i = 0x%X\n", i, output[i]);
}
}
Where are suggestions for adding new features/improvements discussed?Please create your own thread if you need further help, this one is dedicated to HEN bugs and issues.
Where are suggestions for adding new features/improvements discussed?
After Installing HFW 4.89.1 SO many issues i am facing
1.Games Lag.
2.Games Glitch (GOD OF WAR 3,POP 1etc..)
3.Sounds lag in games And double sounds in some games.
4.only after installing or jailbreaking this version only please fix this I trust PS3Xploit Please make it as 4.88 Version like
5.I have ps3 Super slim
6.The above mentioned problems were in the 4.88.1 HFW
7.Or please to how to go back to PS3 4.88.1 HFW Please please please
After Installing HFW 4.89.1 SO many issues i am facing
1.Games Lag.
2.Games Glitch (GOD OF WAR 3,POP 1etc..)
3.Sounds lag in games And double sounds in some games.
4.only after installing or jailbreaking this version only please fix this I trust PS3Xploit Please make it as 4.88 Version like
5.I have ps3 Super slim
6.The above mentioned problems were in the 4.88.1 HFW
7.Or please to how to go back to PS3 4.88.1 HFW Please please please
you might just have a failing hdd, or another hardware problemAfter Installing HFW 4.89.1 SO many issues i am facing
1.Games Lag.
2.Games Glitch (GOD OF WAR 3,POP 1etc..)
3.Sounds lag in games And double sounds in some games.
4.only after installing or jailbreaking this version only please fix this I trust PS3Xploit Please make it as 4.88 Version like
5.I have ps3 Super slim
6.The above mentioned problems were in the 4.88.1 HFW
7.Or please to how to go back to PS3 4.88.1 HFW Please please please
redownload pup file.my ps3 is not downloading the 4.89.1 HFW update, it is giving the error "data is corrupt." (8002F997) (I am using translator in case something is wrong)
how do I do that? my ps3 it went back to the original firmware by itself, and alias how to redownload the pup?redownload pup file.
See this thread. https://www.psx-place.com/threads/ps3-8002f997-error.23333/page-2how do I do that? my ps3 it went back to the original firmware by itself, and alias how to redownload the pup?
it's okay. it just means that hen could not find the update server. it is happening because **ps3xploit.com >Domain no Longer owned by team** (ps3xploit.me =new) is down right now.Enabling HEN gives message "Could not resolve update Host!" after the "welcome to HEN 3.1.1" What does this mean? Am I safe to log in?
PS3 slim CECH 2001A