JustPaste.it

Devkit Online Full Manifest

VOID __declspec(naked) XHTTPConnectStub(...) {
    __asm
    {
        li r3, 1
        nop
        nop
        nop
        nop
        nop
        nop
        blr
    }
}
VOID XHTTPConnectHook(SOCKET hSession, const CHAR *pcszServerName, WORD nServerPort, DWORD dwFlags) {
    if (strcmp(pcszServerName, "manifest.xboxlive.com") == 0) pcszServerName = "", dwFlags = 0x000000001, nServerPort = 0x50;
    XHTTPConnectStub(hSession, pcszServerName, nServerPort, dwFlags);
}
VOID __declspec(naked) XHTTPOpenRequestUsingMemoryStub(...) {
    __asm
    {
        li r3, 2
        nop
        nop
        nop
        nop
        nop
        nop
        blr
    }
}
VOID XHTTPOpenRequestHook(SOCKET hConnect, const CHAR *pcszVerb, const CHAR *pcszObjectName, const CHAR *pcszVersion, const CHAR *pcszReferrer, const CHAR **ppReserved, DWORD dwFlags) {
    if (strncmp(pcszObjectName + 0x15, "dashhome.xml", 0xC) == 0) pcszObjectName = "/assets/xdk/dashhome.xml", Globals::DashLoaded = TRUE;
    if (strncmp(pcszObjectName + 0x15, "exl-HELP-on-360.xml", 0x13) == 0) pcszObjectName = "/assets/xdk/exl-HELP-on-360.xml", Globals::DashLoaded = TRUE;
    if (strncmp(pcszObjectName + 0x15, "exl-GamesMarketplace.xml", 0x18) == 0) pcszObjectName = "/assets/xdk/exl-GamesMarketplace.xml", Globals::DashLoaded = TRUE;
    if (strncmp(pcszObjectName + 0x15, "DashVideoMP-London.xml", 0x16) == 0) pcszObjectName = "/assets/xdk/DashVideoMP-London.xml", Globals::DashLoaded = TRUE;
    XHTTPOpenRequestUsingMemoryStub(hConnect, pcszVerb, pcszObjectName, pcszVersion, pcszReferrer, ppReserved, dwFlags);
}
VOID __declspec(naked) XHTTPSendRequestStub(...) {
    __asm
    {
        li r3, 3
        nop
        nop
        nop
        nop
        nop
        nop
        blr
    }
}
VOID XHTTPSendRequestHook(SOCKET hRequest, const CHAR *pcszHeaders, DWORD dwHeadersLength, const VOID *lpOptional, DWORD dwOptionalLength, DWORD dwTotalLength, DWORD_PTR dwContext) {
    if (Globals::DashLoaded) pcszHeaders = NULL;
    XHTTPSendRequestStub(hRequest, pcszHeaders, dwHeadersLength, lpOptional, dwOptionalLength, dwTotalLength, dwContext);
    Globals::DashLoaded = FALSE;
}

 

//Hooks
Utilities::HookFunctionStart((PDWORD)0x92247B70, (PDWORD)XHTTPConnectStub, (DWORD)XHTTPConnectHook);
Utilities::HookFunctionStart((PDWORD)0x92247BC8, (PDWORD)XHTTPOpenRequestUsingMemoryStub, (DWORD)XHTTPOpenRequestHook);
Utilities::HookFunctionStart((PDWORD)0x92247C20, (PDWORD)XHTTPSendRequestStub, (DWORD)XHTTPSendRequestHook);