Page 4 of 4 FirstFirst ... 234
Results 46 to 53 of 53
  1. #46
    mod1113's Avatar
    Join Date
    Jun 2015
    Gender
    male
    Posts
    21
    Reputation
    10
    Thanks
    1
    thanks, I need some help. how do you exit spectator mode to go to the clothes store to get the shirts? if I go to storymode and back to online, it puts me in spectator mode again

  2. The Following User Says Thank You to mod1113 For This Useful Post:

    aghostupyourbutt (11-24-2015)

  3. #47
    kingspaulo's Avatar
    Join Date
    Mar 2011
    Gender
    male
    Posts
    6
    Reputation
    10
    Thanks
    2
    using this i get many gfs hahahahaha

  4. #48
    Wind Keeper's Avatar
    Join Date
    Aug 2011
    Gender
    male
    Posts
    112
    Reputation
    10
    Thanks
    7
    Quote Originally Posted by mod1113 View Post
    thanks, I need some help. how do you exit spectator mode to go to the clothes store to get the shirts? if I go to storymode and back to online, it puts me in spectator mode again
    just skip this part. Inject on menu, and go online. No SCTV.

  5. The Following 2 Users Say Thank You to Wind Keeper For This Useful Post:

    aghostupyourbutt (11-24-2015),mod1113 (11-24-2015)

  6. #49
    thecoltster1's Avatar
    Join Date
    Oct 2015
    Gender
    male
    Posts
    5
    Reputation
    10
    Thanks
    2
    Would it be safe to spawn money on other players with another menue, while in SCTV? :P

  7. #50
    cool_username's Avatar
    Join Date
    Oct 2015
    Gender
    male
    Posts
    66
    Reputation
    25
    Thanks
    18
    Quote Originally Posted by Amicu19 View Post
    with this you can unlock all special tops that you want right?
    Sadly, I don't think so. I'm pretty sure the only reason it unlocks the dev shirts is because it tricks the game into thinking you're a dev. The rest of the special tops are unlocked in other ways...like crate drops, logging in during event weekends, awards, etc. For example, I'm not sure if it's possible to trick the game into thinking it's September 18th 2015 to unlock the Vinewood Zombie shirt.

    That being said, you'd think it would at least be possible to edit the shirts onto your character with a skin changer, but I've tried all the mod menus and none of them have any of the special tops.

  8. #51
    erggrege54ty45's Avatar
    Join Date
    Nov 2015
    Gender
    male
    Posts
    10
    Reputation
    10
    Thanks
    2
    Quote Originally Posted by sn00x View Post
    For any developers wondering how I did this, here's the code I wrote to hook into natives. Well actually the following code is an enhanced version, cause the .dll I released doesn't call back to the original native (but always returns something != 0). However that doesn't change anything in terms of functionality, so I won't release a new version of the compiled dll.

    Code:
    #define MAX_HOOKS 1000
    
    typedef struct _HOOK_INFO
    {
    	ULONG_PTR Function;
    	ULONG_PTR Hook;
    	ULONG_PTR OrigBytes;
    } HOOK_INFO, *PHOOK_INFO;
    
    HOOK_INFO HookInfo[MAX_HOOKS];
    UINT NumberOfHooks = 0;
    
    BYTE *pOrigBytesBuffer = NULL; 
    
    HOOK_INFO *GetHookInfoFromFunction(ULONG_PTR OriginalFunction)
    {
    	if (NumberOfHooks == 0)
    		return NULL;
    
    	for (UINT x = 0; x < NumberOfHooks; x++)
    	{
    		if (HookInfo[x].Function == OriginalFunction)
    			return &HookInfo[x];
    	}
    
    	return NULL;
    }
    
    void WriteJump(void *pAddress, ULONG_PTR JumpTo)
    {
    	DWORD dwOldProtect = 0;
    
    	VirtualProtect(pAddress, 14, PAGE_EXECUTE_READWRITE, &dwOldProtect);
    
    	BYTE *pCur = (BYTE *)pAddress;
    
    	*pCur = 0xff;		// jmp [rip+addr]
    	*(++pCur) = 0x25;
    	*((DWORD *) ++pCur) = 0; // addr = 0
    	pCur += sizeof(DWORD);
    	*((ULONG_PTR *)pCur) = JumpTo;
    
    	DWORD dwBuf = 0;
    
    	VirtualProtect(pAddress, 14, dwOldProtect, &dwBuf);
    }
    
    void *BackupOrigBytes(ULONG_PTR originalFunction)
    {
    	if (pOrigBytesBuffer == NULL) {
    		pOrigBytesBuffer = (BYTE *)VirtualAlloc(NULL, MAX_HOOKS * 14, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    	}
    
    	VOID *pOrigBytes = (VOID *)&pOrigBytesBuffer[NumberOfHooks * 14];
    
    	memcpy(&pOrigBytesBuffer[NumberOfHooks * 14], (void *)originalFunction, 14);
    
    	return pOrigBytes;
    }
    
    void hookNative(UINT64 hash, ULONG_PTR hookFunction = NULL)
    {
    	auto originalFunction = GetNativeHandler(hash);
    
    	HOOK_INFO *hinfo = GetHookInfoFromFunction((ULONG_PTR) originalFunction);
    
    	if (hinfo) {
    		WriteJump(originalFunction, hinfo->Hook);
    	}
    	else
    	{
    		if (NumberOfHooks == (MAX_HOOKS - 1))
    			return;
    
    		VOID *pOrigBytes = BackupOrigBytes((ULONG_PTR)originalFunction);
    
    		HookInfo[NumberOfHooks].Function = (ULONG_PTR)originalFunction;
    		HookInfo[NumberOfHooks].OrigBytes = (ULONG_PTR)pOrigBytes;
    		HookInfo[NumberOfHooks].Hook = hookFunction;
    
    		NumberOfHooks++;
    
    		WriteJump(originalFunction, hookFunction);
    	}
    }
    
    void unhookNative(UINT64 hash) {
    	auto originalFunction = GetNativeHandler(hash);
    
    	HOOK_INFO *hinfo = GetHookInfoFromFunction((ULONG_PTR)originalFunction);
    
    	DWORD dwOldProtect = 0;
    
    	VirtualProtect(originalFunction, 14, PAGE_EXECUTE_READWRITE, &dwOldProtect);
    
    	memcpy((void *)hinfo->Function, (void *)hinfo->OrigBytes, 14);
    
    	DWORD dwBuf = 0;
    	VirtualProtect(originalFunction, 14, dwOldProtect, &dwBuf);
    }
    
    void* __cdecl MY_IS_DLC_PRESENT(NativeContext *cxt) {
    	
    	Hash DlcHash = cxt->GetArgument<Hash>(0);
    
    	if (DlcHash == 2532323046) { // DEV
    		// game game requested dev dlc -> return true;
    		cxt->SetResult(0, true);
    		return cxt;
    	}
    
    	// restore original function
    	unhookNative(0x2D6859674806FDCE); 
    	
    	// get result of original function
    	BOOL result = DLC2::IS_DLC_PRESENT(cxt->GetArgument<Hash>(0)); 
    	cxt->SetResult(0, result);
    
    	// hook us up again
    	hookNative(0x2D6859674806FDCE);
    
    	return cxt;
    }
    
    void HookNatives() {
    	hookNative(0x2D6859674806FDCE, (ULONG_PTR) &MY_IS_DLC_PRESENT);
    }
    Adding this code in a new cpp to m0d-s0beit-v Redux and calling HookNatives() in dllmain actually makes the client think you are a developer (Dev T-Shirts, SCTV and something in the Creator). The game just checks for a specific DLC to set the dev flag.

    I got many ideas from Daniel Pistelli's NtHookEngine, but decided to leave out the disassambly and bridge/trampoline part and instead just create a simple unhook/hook. So my code isn't thread-safe and theoretically another thread could call the native when it's unhooked/rehooked to call the original function, resulting in an unhooked call. However, my tests showed that only one thread is calling the natives anyway.

    Should work for any native this way! Arguments may need to be fetched in reversed order for functions with multiple parameters. Didn't try yet though.

    Obviously there aren't many error checks and you probably want to create a new thread that's waiting for the natives to be ready and checks the result of GetNativeHandler before blindly writing into GTA's memory to avoid game crashes when injecting prior to the game menu. But I just wrote that code quick&dirty when I had a bit of spare time at work yesterday + today. So feel free to make this bulletproof, use for your menu bases and build new interesting features using hooked natives!

    Verry nice thanks for this
    Last edited by erggrege54ty45; 11-24-2015 at 10:48 PM.

  9. #52
    JhamaicanHD's Avatar
    Join Date
    Oct 2015
    Gender
    male
    Posts
    2
    Reputation
    10
    Thanks
    0
    My Mood
    Busy
    what ddl injetcor to use for this mod? pls reply

  10. #53
    Amicu19's Avatar
    Join Date
    May 2015
    Gender
    male
    Posts
    66
    Reputation
    10
    Thanks
    19
    My Mood
    Asleep
    Quote Originally Posted by cool_username View Post
    Sadly, I don't think so. I'm pretty sure the only reason it unlocks the dev shirts is because it tricks the game into thinking you're a dev. The rest of the special tops are unlocked in other ways...like crate drops, logging in during event weekends, awards, etc. For example, I'm not sure if it's possible to trick the game into thinking it's September 18th 2015 to unlock the Vinewood Zombie shirt.

    That being said, you'd think it would at least be possible to edit the shirts onto your character with a skin changer, but I've tried all the mod menus and none of them have any of the special tops.
    yeah i tried all menus and chose unlock all clothing but nothing happened.
    hope someday the creator have ways to make this come. like this tool, no one ever published this before and kinda impossible to have dev t-shirt but now we have it. what a genius! lol

    - - - Updated - - -

    Quote Originally Posted by JhamaicanHD View Post
    what ddl injetcor to use for this mod? pls reply
    i use extreme injector v3 and it works perfectly.
    Last edited by Amicu19; 11-25-2015 at 06:15 AM.

Page 4 of 4 FirstFirst ... 234

Similar Threads

  1. [Project] Let's bring up the old Developer mode
    By bhfff in forum League of Legends Discussions
    Replies: 0
    Last Post: 01-26-2015, 01:55 PM
  2. Windows 8 Developer Mode help
    By sanjupatadia in forum General
    Replies: 24
    Last Post: 09-20-2011, 07:57 PM
  3. does Dev mode still work?
    By MC˛ in forum Crysis 2 Discussions
    Replies: 0
    Last Post: 04-16-2011, 08:11 PM
  4. [Share]Hidden Dev Mode[Konami]
    By NextGen1 in forum Legacy OSes
    Replies: 0
    Last Post: 11-24-2010, 09:49 AM
  5. Developer's Mode // GPS for those who requested it.
    By KenCat in forum WarRock - International Hacks
    Replies: 22
    Last Post: 04-11-2007, 08:50 PM