Page 2 of 3 FirstFirst 123 LastLast
Results 16 to 30 of 40
  1. #16
    sn00x's Avatar
    Join Date
    Oct 2015
    Gender
    male
    Posts
    55
    Reputation
    10
    Thanks
    756
    Quote Originally Posted by erggrege54ty45 View Post
    It's pretty interesting though, it depends on what NETWORK_SESSION_KICK_PLAYER does. If it requests itself to be executed client side then it'd be easily countered. If not, the host would probably just assume that the client has been kicked and thwart all packet data. I think it might be the latter, since the native doesn't return anything and it'll assume the operation was successful.
    If the latter is the case, it's possibly possible to re-enter the session immediately. Thinking about hooking NETWORK::NETWORK_SESSION_ENTER and buffering the arguments. Then calling the original function with those buffered arguments as soon as a kick is beeing recognized. Something like that.

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

    erggrege54ty45 (11-26-2015)

  3. #17
    orcaninja's Avatar
    Join Date
    Nov 2015
    Gender
    male
    Posts
    22
    Reputation
    10
    Thanks
    6
    This is cool and all but now trolls are getting into SCTV and crashing and bombing everyone and we can't do anything about it.

  4. #18
    simms_'s Avatar
    Join Date
    Jun 2015
    Gender
    male
    Posts
    8
    Reputation
    10
    Thanks
    5
    Quote Originally Posted by erggrege54ty45 View Post
    Edit: oh and natives with more than one argument do go in ascending order

    cxt->Reverse();
    should fix that :0

  5. #19
    KiLLerBoy_001's Avatar
    Join Date
    Oct 2011
    Gender
    male
    Posts
    209
    Reputation
    10
    Thanks
    2,810
    Quote Originally Posted by orcaninja View Post
    This is cool and all but now trolls are getting into SCTV and crashing and bombing everyone and we can't do anything about it.
    If all menus would change they're menu to fit 34 players then you could still fuck ehm over.

    32 players +2 reserved sctv slots.

  6. #20
    gfSWEGwSEGwsegwegeg's Avatar
    Join Date
    Aug 2015
    Gender
    male
    Posts
    421
    Reputation
    57
    Thanks
    19,836
    Quote Originally Posted by KiLLerBoy_001 View Post
    If all menus would change they're menu to fit 34 players then you could still fuck ehm over.

    32 players +2 reserved sctv slots.
    Mine has 34 slots now. I also want to add that you're not completely invisible in SCTV mode, I was spectating a friend and he could see me using ESP box and name.

  7. #21
    FinnTheGuy's Avatar
    Join Date
    Nov 2015
    Gender
    male
    Posts
    15
    Reputation
    10
    Thanks
    1
    My Mood
    Cool
    should not be an overlayed shirt right? going to try this

  8. #22
    cool_username's Avatar
    Join Date
    Oct 2015
    Gender
    male
    Posts
    66
    Reputation
    25
    Thanks
    18
    Quote Originally Posted by FinnTheGuy View Post
    should not be an overlayed shirt right? going to try this
    Nope, it's the real deal Purchasable at any clothing store.

  9. #23
    sn00x's Avatar
    Join Date
    Oct 2015
    Gender
    male
    Posts
    55
    Reputation
    10
    Thanks
    756
    Just a quick update for those of you not following the discussion over at UC.
    Seems like more natives are shorter than 14 bytes than I expected. To hook those it's necessary to find free mem in a 2GB region around the native function, so that it's possible to use a shorter jump intruction. "MinHook" is a nice library which does exactly that.
    To be able to hook the aforementioned natives, add MinHook to your solution, adjust project settings (set runtime library to multi-threaded dll, etc.) and add the include/library path to your project.

    Example code:
    Code:
    #include "stdafx.h"
     
    #include <Windows.h>
    #include "MinHook.h"
     
    #pragma comment(lib, "libMinHook.x64.lib")
     
    template <typename T>
    bool hookNative(UINT64 hash, LPVOID hookFunction, T** trampoline)
    {
    	if (*reinterpret_cast<LPVOID*>(trampoline) != NULL)
    		return true;
     
    	auto originalFunction = GetNativeHandler(hash);
     
    	if (originalFunction != 0) {
    		MH_STATUS createHookStatus = MH_CreateHook(originalFunction, hookFunction, reinterpret_cast<LPVOID*>(trampoline));
    		if (
    			   ((createHookStatus == MH_OK) || (createHookStatus == MH_ERROR_ALREADY_CREATED))
    			&& (MH_EnableHook(originalFunction) == MH_OK)
    		)
    		{
    			Log::Debug("Hooked 0x%#p", hash);
    			return true;
    		}
    	}
     
    	return false;
    }
     
    NativeHandler ORIG_IS_DLC_PRESENT = NULL; 
    void* __cdecl MY_IS_DLC_PRESENT(NativeContext *cxt)
    {
    	Hash DlcHash = cxt->GetArgument<Hash>(0);
     
    	if (DlcHash == 2532323046) { // DEV
    		// game requested dev dlc -> return true;
    		cxt->SetResult(0, true);
    	}
    	else
    	{
    		ORIG_IS_DLC_PRESENT(cxt);
    	}
     
    	return cxt;
    }
     
    NativeHandler ORIG_CLEAR_PED_TASKS_IMMEDIATELY = NULL;
    void *__cdecl MY_CLEAR_PED_TASKS_IMMEDIATELY(NativeContext *cxt)
    {
    	if (cxt->GetArgument<Ped>(0) != PLAYER::PLAYER_PED_ID())
    	{
    		ORIG_CLEAR_PED_TASKS_IMMEDIATELY(cxt);
    	}
    	else
    	{
    		Log::Debug("Prevented CLEAR_PED_TASKS_IMMEDIATELY");
    	}
     
    	return cxt;
    }
     
    NativeHandler ORIG_CLEAR_PED_TASKS = NULL;
    void *__cdecl MY_CLEAR_PED_TASKS(NativeContext *cxt)
    {
    	if (cxt->GetArgument<Ped>(0) != PLAYER::PLAYER_PED_ID())
    	{
    		ORIG_CLEAR_PED_TASKS(cxt);
    	}
    	else
    	{
    		Log::Debug("Prevented CLEAR_PED_TASKS");
    	}
     
    	return cxt;
    }
     
    NativeHandler ORIG_CLEAR_PED_SECONDARY_TASK = NULL;
    void *__cdecl MY_CLEAR_PED_SECONDARY_TASK(NativeContext *cxt)
    {
    	if (cxt->GetArgument<Ped>(0) != PLAYER::PLAYER_PED_ID())
    	{
    		ORIG_CLEAR_PED_SECONDARY_TASK(cxt);
    	}
    	else
    	{
    		Log::Debug("Prevented CLEAR_PED_SECONDARY_TASK");
    	}
     
    	return cxt;
    }
     
    NativeHandler ORIG_CLONE_PED = NULL;
    void *__cdecl MY_CLONE_PED(NativeContext *cxt)
    {
    	if (cxt->GetArgument<Ped>(0) != PLAYER::PLAYER_PED_ID()) // seems to be actually asc order
    	{
    		ORIG_CLONE_PED(cxt);
    	}
    	else
    	{
    		Log::Debug("Prevented CLONE_PED");
    	}
     
    	return cxt;
    }
     
    NativeHandler ORIG_NETWORK_SESSION_KICK_PLAYER = NULL;
    void *__cdecl MY_NETWORK_SESSION_KICK_PLAYER(NativeContext *cxt)
    {
    	if (cxt->GetArgument<Player>(0) != PLAYER::PLAYER_ID()) {
    		ORIG_NETWORK_SESSION_KICK_PLAYER(cxt);
    	}
    	else
    	{
    		Log::Debug("Prevented NETWORK_SESSION_KICK_PLAYER");
    	}
     
    	return cxt;
    }
     
    NativeHandler ORIG_ADD_OWNED_EXPLOSION = NULL;
    void *__cdecl MY_ADD_OWNED_EXPLOSION(NativeContext *cxt)
    {
    	if (cxt->GetArgument<Ped>(0) != PLAYER::PLAYER_PED_ID())
    	{
    		ORIG_ADD_OWNED_EXPLOSION(cxt);
    	}
    	else
    	{
    		Log::Debug("Prevented ADD_OWNED_EXPLOSION");
    	}
     
    	return cxt;
    }
     
    bool AttemptHookNatives() {
    	static DWORD64 dwThreadCollectionPtr = 0;
     
    	if (!dwThreadCollectionPtr) {
    		// scan for GTA Thread Pool
    		dwThreadCollectionPtr = Pattern::Scan(g_MainModuleInfo, "48 8B 05 ? ? ? ? 8B CA 4C 8B 0C C8 45 39 51 08");
    	}
     
    	if (   !dwThreadCollectionPtr
    		|| !Pattern::Scan(g_MainModuleInfo, "76 61 49 8B 7A 40 48 8D 0D") // scan for Native Registration Table
    	) {
    		// too early. GetNativeHandler would log a fatal error and exit the process
    		return false;
    	}
     
    	return true
    //		&& hookNative(0x2D6859674806FDCE, &MY_IS_DLC_PRESENT, &ORIG_IS_DLC_PRESENT)
    		&& hookNative(0xC1A624FF5CF18419, &MY_NETWORK_SESSION_KICK_PLAYER, &ORIG_NETWORK_SESSION_KICK_PLAYER)
    		&& hookNative(0x1E2B48EE3EC55DCF, &MY_CLEAR_PED_TASKS_IMMEDIATELY, &ORIG_CLEAR_PED_TASKS_IMMEDIATELY)
    		&& hookNative(0x27CC98B7C879C320, &MY_CLEAR_PED_TASKS, &ORIG_CLEAR_PED_TASKS)
    		&& hookNative(0x4191220706130B86, &MY_CLEAR_PED_SECONDARY_TASK, &ORIG_CLEAR_PED_SECONDARY_TASK)
    		&& hookNative(0x237D19F4F17C2B85, &MY_CLONE_PED, &ORIG_CLONE_PED)
    		&& hookNative(0x0AEB0F5A0526E37F, &MY_ADD_OWNED_EXPLOSION, &ORIG_ADD_OWNED_EXPLOSION)
    		// add more hooks here
    		;
    }
     
    DWORD WINAPI lpHookNatives(LPVOID lpParam) {
    	Log::Debug("Initializing Hooks");
     
    	// Initialize MinHook.
    	if (MH_Initialize() != MH_OK)
    	{
    		Log::Fatal("Failed to initialize MinHook");
    	}
     
    	while (!AttemptHookNatives()) {
    		Sleep(100);
    	}
     
    	Log::Debug("Finished hooking");
     
    	return 0;
    }
     
    void SpawnHookNatives() {
    	CreateThread(0, 0, lpHookNatives, 0, 0, 0);
    }
    Keep in mind MinHook is under BSD license when redistributing.

    To make it clear: This post is just for developers who want to hook more natives. If you came for the Dev T-Shirts, simply download + inject the .dll from page 1

  10. #24
    Gwoxie's Avatar
    Join Date
    Dec 2012
    Gender
    male
    Posts
    8
    Reputation
    10
    Thanks
    1
    Is there any possible chance that the DEV mode can perhaps let you join online lobbies while banned?

  11. #25
    erggrege54ty45's Avatar
    Join Date
    Nov 2015
    Gender
    male
    Posts
    10
    Reputation
    10
    Thanks
    2
    Quote Originally Posted by Gwoxie View Post
    Is there any possible chance that the DEV mode can perhaps let you join online lobbies while banned?
    No. There's no way to bypass the ban. There never was a way to bypass the ban. There's never going to be a way to bypass the ban.
    Got banned? Tough luck. Wait or buy the game. It's on sale for $35.99 over at steam, get it while it lasts.

  12. #26
    GunVein's Avatar
    Join Date
    Jul 2015
    Gender
    male
    Posts
    2,821
    Reputation
    96
    Thanks
    155
    My Mood
    Drunk
    cool, not the overlayed one

  13. #27
    ChEeFo2000's Avatar
    Join Date
    Jan 2013
    Gender
    male
    Posts
    40
    Reputation
    10
    Thanks
    1
    My Mood
    Cold
    I cannot inject this
    Win 10
    Ima usin' Xtreme Injector and it shows me an error.
    Ima r33ly sad cuz of tht.
    When i want to change Injection Methode it shows me an error too but sometimes crash the game.

  14. #28
    Crankforfree's Avatar
    Join Date
    May 2014
    Gender
    male
    Posts
    5
    Reputation
    10
    Thanks
    0
    so im a bit curious about one thing, do the tshirts last forever, or only for the time where i have that developer mod thingy on?

  15. #29
    CarrotID's Avatar
    Join Date
    Nov 2015
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    I'm on widows 10 it works for me though. Check if you the latest stuff like extreme injector

  16. #30
    xray25's Avatar
    Join Date
    May 2015
    Gender
    male
    Posts
    1,751
    Reputation
    10
    Thanks
    18,300
    Quote Originally Posted by Crankforfree View Post
    so im a bit curious about one thing, do the tshirts last forever, or only for the time where i have that developer mod thingy on?
    Once you buy them they be yours forever















Page 2 of 3 FirstFirst 123 LastLast

Similar Threads

  1. [Outdated] DEVELOPER MODE v0.1: Dev T-Shirts | SCTV | Creator
    By sn00x in forum Grand Theft Auto 5 (GTA V) Hacks & Cheats
    Replies: 52
    Last Post: 11-25-2015, 06:14 AM
  2. Devs, want to test with multiple sources?
    By Stellar Spark in forum Realm of the Mad God Private Servers Tutorials/Source Code
    Replies: 15
    Last Post: 02-13-2015, 05:20 PM
  3. [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
  4. Windows 8 Developer Mode help
    By sanjupatadia in forum General
    Replies: 24
    Last Post: 09-20-2011, 07:57 PM
  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

Tags for this Thread