xboxscene.org forums

Author Topic: What Is This Argument?  (Read 782 times)

TEIR1plus2

  • Archived User
  • Newbie
  • *
  • Posts: 1
What Is This Argument?
« on: January 13, 2013, 12:05:00 AM »

CODE
UINT32 ResolveFunct(char* ModName, UINT32 Ord){
    UINT32 ptr32 = 0, ret = 0, ptr2 = 0;
    ret = XexGetModuleHandle(ModName, &ptr32);
    if(ret == 0){
        ret = XexGetProcedureAddress(ptr32, Ord, &ptr2);
        if(ptr2 != 0)
            return(ptr2);
    }
    return 0;
}

//What handles the first argument:
    XexGetModuleHandle(
       IN        PSZ moduleName,
       IN OUT    PHANDLE hand
       );

//What handles the second argument:
    XexGetProcedureAddress(
       IN        HANDLE hand,
       IN        DWORD dwOrdinal,
       IN        PVOID Address
       );


//used as:  
XeKeysHmacSha = (XEKEYSHMACSHA)resolveFunct("xboxkrnl.exe", 0x249);
ExSetXConfigSetting = (EXSETXCONFIGSETTING)resolveFunct("xboxkrnl.exe", 0x18);
launchStartSysModule = (DWORD (__cdecl *)(char*))(ResolveFunct("launch.xex", 2));
XNotifyQueueUI xNotifyQueueUI = (XNotifyQueueUI)resolveFunct("xam.xex", 656);
Logged