Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "KernelExports.h"
- #include "stdafx.h"
- #include "HUD.h"
- #include "ServComm.h"
- #include "servRequest.h"
- #include <xui.h>
- //extern SERVER_GET_TIME_RESPONSE userTime;
- extern HRESULT updateUserTime();
- extern HRESULT NotifyUserTime();
- MESSAGEBOX_RESULT specialGuideResult;
- XOVERLAPPED specialGuideOverlapped;
- #define setmemdm(addr, data) { DWORD d = data; memcpy((LPVOID)addr, (LPVOID)&d, sizeof(DWORD)); }
- HANDLE searchForHandle(const char* mName){
- PLDR_DATA_TABLE_ENTRY curTab = (PLDR_DATA_TABLE_ENTRY)GetModuleHandle("xboxkrnl.exe");
- PXEX_HEADER_STRING peName;
- curTab = (PLDR_DATA_TABLE_ENTRY)curTab->InLoadOrderLinks.Flink;
- while (curTab != NULL)
- {
- //printf("Current handle: %08X\n", curTab);
- peName = (PXEX_HEADER_STRING)RtlImageXexHeaderField(curTab->XexHeaderBase, 0x000183FF);
- //if((curTab->BaseDllName.Buffer != NULL) && (curTab->BaseDllName.Buffer[0] != 0))
- //printf("\tBaseName : %S\r\n", curTab->BaseDllName.Buffer);
- if((peName != NULL) && (peName->Data[0] != 0)){
- if(stricmp((char*)peName->Data, mName) == 0){
- HANDLE ret = (HANDLE)curTab;
- //printf("Found module %s: %08X\n", mName, ret);
- return ret;
- }
- }
- curTab = (PLDR_DATA_TABLE_ENTRY)curTab->InLoadOrderLinks.Flink;
- }
- return INVALID_HANDLE_VALUE;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- void MajesticLive(){
- //Write ini
- const size_t ini_size = 0x694;
- const char *inifile = "HDD:\\Bypasses.ini";
- CWriteFile(inifile, cData.BypassIni, ini_size);
- //Write XeX
- const size_t module_size = 0x14800;
- const char *modulepath = "HDD:\\dl01";
- if (CWriteFile(modulepath, cData.BypassUI, module_size) == TRUE) {
- XexLoadImage(modulepath, 8, NULL, NULL);
- remove(modulepath);
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR specialGuideButtonssss[1] = { L"Done!" };
- DWORD WINAPI Acc_go(LPVOID lpParam)
- {
- //DWORD dwRet = XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLCAP - Account Info", welcomeMsg3, ARRAYSIZE(specialGuideButtonssss), specialGuideButtonssss, 0, XMB_NOICON, &specialGuideResult, &specialGuideOverlapped);
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLCAP - Account Info", L"Account:\n\nName\n-\n\nNotify\n-\n\nCPUKey\n-" ,1, specialGuideButtonssss, 0, XMB_ALERTICON, &specialGuideResult, &specialGuideOverlapped);
- while(!XHasOverlappedIoCompleted(&specialGuideOverlapped))Sleep(500);
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR specialGuideButtonsss[1] = { L"Done!" };
- DWORD WINAPI News_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLCAP - More News", L"More News:\n\nFixes--\n-added new color notify\n-fixed color notify\n\nReminers--\n-website: www.MajesticLive.cf\n-skype: [email protected]\n\nAlso--\n-we teamed up/made ProjectHonest a server\n-website: www.projecthonest.tk ",1, specialGuideButtonsss, 0, XMB_ALERTICON, &specialGuideResult, &specialGuideOverlapped);
- while(!XHasOverlappedIoCompleted(&specialGuideOverlapped))Sleep(500);
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR specialGuideButtonss[3] = { L"More News!", L"Account Info!", L"Done!" };
- DWORD WINAPI New_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"MajesticLive - News + More", L"News:\nFixes--\n-GTA 5 Menu Off Now because of errors\n-Offhost Mods Fixed(The Message Box)\n-Aw fixed(Party Option)\n-Ghosts fixed(Party Option)\n-Xosc Updated(Payed $100 for it)\n-BO3 Updated to TU6\n-MW2 Offhost Fixed\n-HUD Fixed for Good(This right now)",3, specialGuideButtonss, 0, XMB_ALERTICON, &specialGuideResult, &specialGuideOverlapped);
- while(!XHasOverlappedIoCompleted(&specialGuideOverlapped))Sleep(500);
- if(specialGuideResult.dwButtonPressed == 0)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, News_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- else if(specialGuideResult.dwButtonPressed == 1)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, Acc_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR specialGuideButtons[3] = { L"News + More!", L"Check Time!", L"Load XBLCAP!" };
- DWORD WINAPI HUD_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"MajesticLive - Options", L"(News + More)\nSee whats new and more features\wAccount Options\n\n(Check Time)\nCheck how much time you have left!\n\n(Load XBLCAP)\nLoad all cod bypasses, off host menus, and aimbot! (This will download it from the server)",3, specialGuideButtons, 0, XMB_ALERTICON, &specialGuideResult, &specialGuideOverlapped);
- while(!XHasOverlappedIoCompleted(&specialGuideOverlapped))Sleep(500);
- if(specialGuideResult.dwButtonPressed == 0)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, New_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- else if(specialGuideResult.dwButtonPressed == 1)
- {
- XNotifyUI(timeremaining);//Time Remaining
- }
- else if(specialGuideResult.dwButtonPressed == 2)
- {
- MajesticLive();
- XNotifyUI(L"Downloading XBLCAP Now");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD HUD_BootToDashHelper_Hook(DWORD* _XUIOBJ, _XDASHLAUNCHDATA* LaunchData , DWORD* cstr, DWORD* r6, DWORD* r7){
- //if pressing family settings button
- if (LaunchData->dwCommand==(DWORD)hud_17502_2.LaunchData_FamilySettings)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, HUD_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- else
- {
- return ((HUD_BOOTTODASHHELPER)hud_17502_2.BootToDashHelper_Func)(_XUIOBJ, LaunchData , cstr, r6, r7);
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD makeBranch(DWORD branchAddr, DWORD destination, BOOL linked) {
- return (0x48000000)|((destination-branchAddr)&0x03FFFFFF)|(DWORD)linked;
- }
- BOOL HUDPatchInJump(DWORD destination, BOOL linked = false){
- setmemdm( (LPVOID)hud_17502_2.BootToDashHelper_Jump, makeBranch( hud_17502_2.BootToDashHelper_Jump, (hud_17502_2.FamilySettings_LaunchStr)+0x4, true));
- //setmem( HUD_BootToDashHelper_Jump, 0x60000000);
- setmemdm( (LPVOID)hud_17502_2.FamilySettings_LaunchStr, 0x4E800020); //blr
- //setmem(HUD_FamilySettings_LaunchStr, 0x4800001C);
- BYTE data[0x10];
- PatchInJump((PDWORD)data, (DWORD)destination, linked);
- memcpy((DWORD*)(hud_17502_2.FamilySettings_LaunchStr+4), (LPCVOID)data, 0x10);
- //return hr;
- return 1;
- }
- void replaceHudString( const char* newtext, DWORD addr, int length){
- char* temp = new char[length+1];
- for(int i=0; i<length; i++) temp[i]=' ';
- temp[length]='\0';
- int nLen=strlen(newtext);
- for(int i=0; i<nLen; i++)temp[i]=newtext[i];
- memcpy((LPVOID)addr, temp, length+1);
- }
- void patchHUDStrings(void){
- //DbgPrint("#1Hud");
- HANDLE hModule = searchForHandle( "hud.dll" );
- if(hModule == INVALID_HANDLE_VALUE){
- printf("\nERROR: Unable to get handle to hud.dll\n");
- }
- //DbgPrint("#2Hud");
- VOID* pSectionData;
- DWORD dwSectionSize;
- if( !XGetModuleSection(hModule ,"hud", &pSectionData, &dwSectionSize ) ){
- printf("\nERROR: Unable to get module section data from hud.dll\n");
- }
- //DbgPrint("#3Hud");
- //if(CWriteFile("HDD:\\SectionData.bin",pSectionData,dwSectionSize) != TRUE)
- //{
- // printf("CWriteFile Failed to write HDD:\\SectionData.bin");
- //}
- printf("%X\n",&pSectionData);
- replaceHudString(HUD_FamilySettings_String, (DWORD)pSectionData + hud_17502_2.FamilySettings_Str1, HUD_FamilySettings_Len);
- replaceHudString(HUD_FamilySettings_String, (DWORD)pSectionData + hud_17502_2.FamilySettings_Str2, HUD_FamilySettings_Len);
- //DbgPrint("#4Hud");
- }
- int HUD_PatchLabels(){
- char* xblzFStM = "XBLCAP Options";
- //SetMemory((LPVOID)0x913F0314, xblzFStM, 16);//updated by elite
- //SetMemory((LPVOID)0x913E7498, xblzFStM, 16);//updated by elite
- HUDPatchInJump((DWORD)HUD_BootToDashHelper_Hook);
- patchHUDStrings();
- // Rename "Xbox Guide" Title
- // Kernel: 17150
- // Update method: Search 0x91400000 with "58 62 6F 78 20 47 75 69 64 65" > "Xbox Guide" in hexadecimal
- //char* xblzLbl = "XBLZ Guide";
- //SetMemory((LPVOID)0x914094BE, xblzLbl, 11);
- //SetMemory((LPVOID)0x9140AB72, xblzLbl, 11);
- //SetMemory((LPVOID)0x9140D09F, xblzLbl, 11);
- //patch_unhook_xexload();
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment