Beware other apps that hook D3D11 menu

Shout-Out

User Tag List

Results 1 to 7 of 7
  1. #1
    Hyru's Avatar Active Member
    Reputation
    39
    Join Date
    Jun 2008
    Posts
    39
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Beware other apps that hook D3D11

    I'm converting my shit over from D3D9 and spent almost a day \/ trying to figure out why hooking CDXGISwapChainBase::Present was crashing randomly. Turns out EVGA Precision X launches a version of RivaTuner which by default hooks D3D11 and doesn't play nicely.

    I haven't tried it, but you'll probably get the same issues with tools like dxtory and fraps.

    Beware other apps that hook D3D11
  2. #2
    ~Unknown~'s Avatar Contributor
    Reputation
    193
    Join Date
    Jan 2009
    Posts
    211
    Thanks G/R
    0/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hyru View Post
    I'm converting my shit over from D3D9 and spent almost a day \/ trying to figure out why hooking CDXGISwapChainBase::Present was crashing randomly. Turns out EVGA Precision X launches a version of RivaTuner which by default hooks D3D11 and doesn't play nicely.

    I haven't tried it, but you'll probably get the same issues with tools like dxtory and fraps.
    Yeah, I've actually found this issue a lot with D3D hooks, because a lot of video card softwares and even some other overlay programs (fraps comes to mind) hook some of the same functions. If you browse around here enough, there are some posted solutions.

  3. #3
    dashja's Avatar Private
    Reputation
    1
    Join Date
    Feb 2013
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Simple solution:
    Hook an engine function like CGxDevice::Push, remove the hook after 1 call and continue your bot logic with EventSetTimer.

  4. #4
    DarthTon's Avatar Contributor
    Reputation
    171
    Join Date
    Apr 2010
    Posts
    108
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hook an engine function like CGxDevice::Push, remove the hook after 1 call and continue your bot logic with EventSetTimer.
    You don't event have to call it from hook, just copy TLS slots from main thread to your before making call to EventSetTimer.

  5. #5
    Master674's Avatar Elite User
    Reputation
    487
    Join Date
    May 2008
    Posts
    578
    Thanks G/R
    2/23
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarthTon View Post
    You don't event have to call it from hook, just copy TLS slots from main thread to your before making call to EventSetTimer.
    EventSetTimer is shit. I wrote a small timer dispatcher myself:

    https://code.google.com/p/d3dshark/s...erDispatcher.h

    Just hook into the mainthread loop and call DispatchTimers every frame.
    Also you shouldn't copy TLS slots because EventSetTimer is probably not threadsafe.

    Code:
    myTimer.AddTimer(0, [=] (const Utils::STimerDispatchEvt&) {
            std::cout << "this is getting called every 300 ms..." << std::endl;
            return 300;
    });
    Last edited by Master674; 02-21-2013 at 09:32 AM.

  6. #6
    guizmows's Avatar Banned
    Reputation
    57
    Join Date
    Feb 2008
    Posts
    414
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sorry if I look stupid but :
    Why don't you stay hooked on CGxDevice::Push and do you stuff inside?

    It's not Endscene but it shoud be safe insn't it?
    Last edited by guizmows; 02-21-2013 at 12:33 PM.

  7. #7
    guizmows's Avatar Banned
    Reputation
    57
    Join Date
    Feb 2008
    Posts
    414
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I used to hook this function but I experiences some crashes, especially when I tried to call function like CastSpell.

    I didn't managed to find why, that's why I'm asking why it is not safe to execute our code into this function.

Similar Threads

  1. [How-To] Any fix for Parellel Space or other app?
    By wittyinvention in forum Pokemon GO Hacks|Cheats
    Replies: 0
    Last Post: 09-13-2016, 10:36 PM
  2. Replies: 1
    Last Post: 08-04-2016, 09:52 AM
  3. [Probably] Trick other players that Razza spawnd
    By vvvat in forum World of Warcraft Exploits
    Replies: 4
    Last Post: 02-19-2009, 03:10 PM
  4. Trick other players that Razza spawnd..
    By spiratesss in forum World of Warcraft Exploits
    Replies: 8
    Last Post: 08-03-2008, 05:28 AM
  5. HELP!! GLider or that other 1!!(open bot!)
    By hallerz in forum World of Warcraft General
    Replies: 2
    Last Post: 08-06-2007, 06:58 AM
All times are GMT -5. The time now is 11:02 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search