[Question] General external hack detection practices menu

User Tag List

Results 1 to 9 of 9
  1. #1
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    [Question] General external hack detection practices

    Greetings.

    Today I'm wondering, what are some of the common (or even better; uncommon) methods which are used to detect external hacks? Not only by Warden, but other anti-cheats as well. For example, installing a driver to hook NtReadVirtualMemory or scanning other processes for certain strings or hashes.

    I'm specifically interested in which ways it would be possible to detect a cheat which only obtains a privileged handle to the process and then reads from memory.

    Any replies will be helpful.

    [Question] General external hack detection practices
  2. #2
    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)
    Most obvious things that came to mind:

    1. Signature match. Can be anything susceptible to hashing - strings, code section parts, initialized static data.
    2. Debugger presence detection.
    3. Search for open handles to current process/threads.
    4. Global hook of NtRead/NtWrite VM via dll or single process hook using debugger and Debug Events.
    5. Ring0 hook of NtRead/NtWrite VM or MmCopyVirtualMemory. I don't know how this is implemented in 'official' software; IIRC there are no documented callbacks for those routines and you can't simply disable PatchGuard there

    As protection from NtReadVirtualMemory detection - use one of these: NtWow64ReadProcessMemory64(can be detected just like RPM itself), manual sysenter or int2E(int2E is preferable because it can't be traced by hooking KiFastSystemCallRet) in ring3 or write your own RPM implementation in ring0.
    Last edited by DarthTon; 09-16-2013 at 02:18 AM.

  3. #3
    ~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)
    You might want to take a look on google scholar for some academic papers on this question. Just a simple search can be seen: Here

    I reasonable paper mentions the type of detection (behavioral) that honorbuddy users have been suggesting happened a bit ago: Here

    While there are these methods available, I bet most here would agree that not a lot of companies employ the more "intrusive" methods for risk of false positives. However, you do see a higher proliferation in anticheat techniques since gaming is quite a popular market (Look at all the anti-cheat systems out there).

  4. #4
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ~Unknown~ View Post
    You might want to take a look on google scholar for some academic papers on this question. Just a simple search can be seen: Here

    I reasonable paper mentions the type of detection (behavioral) that honorbuddy users have been suggesting happened a bit ago: Here

    While there are these methods available, I bet most here would agree that not a lot of companies employ the more "intrusive" methods for risk of false positives. However, you do see a higher proliferation in anticheat techniques since gaming is quite a popular market (Look at all the anti-cheat systems out there).
    I'm more interested in memory-based detections rather than heuristics like this paper seems to focus on. Still an interesting read however, thanks for the link.

  5. #5
    sitnspinlock's Avatar Elite User CoreCoins Purchaser
    Reputation
    398
    Join Date
    Sep 2010
    Posts
    439
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarthTon View Post
    I don't know how this is implemented in 'official' software; IIRC there are no documented callbacks for those routines and you can't simply disable PatchGuard there
    Windows x64 system service hooks and advanced debugging - CodeProject


    patchguard 'api' in a nutshell ;p


    edit -

    you can also use ObCallbacks in x64

    and jadd, your question is difficult to answer because you are going 2 different directions with your initial question. In the first part of your question you seem to be touching upon detection, whereas the latter half seems to suggest a more prevention based approach. you should be more descriptive so we can suite you with better answers
    Last edited by sitnspinlock; 09-17-2013 at 10:16 PM.

  6. #6
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by everdox View Post
    Windows x64 system service hooks and advanced debugging - CodeProject


    patchguard 'api' in a nutshell ;p


    edit -

    you can also use ObCallbacks in x64

    and jadd, your question is difficult to answer because you are going 2 different directions with your initial question. In the first part of your question you seem to be touching upon detection, whereas the latter half seems to suggest a more prevention based approach. you should be more descriptive so we can suite you with better answers
    Thanks for the read.

    I think I'm being pretty clear, but to clarify; I'm looking to see which ways (used by common anti-cheats, probably nothing exceedingly intrusive) it is possible to detect these things, such as memory reads, so I can avoid using these methods.

    I'm not so interested in prevention, rather avoiding detection - the reason I'm asking is I've been interested to code some external hacks for a while, which have no conflicts with the anti-cheat. That's the whole point of being external.

  7. #7
    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)
    Windows x64 system service hooks and advanced debugging - CodeProject
    Looks interesting, I should write myself a kernel debugger after all...
    you can also use ObCallbacks in x64
    But isn't ObRegisterCallbacks used only to filter access during process/thread handle creation and duplication? It does not provide enough information for heuristic detection I think.

  8. #8
    DarkLinux's Avatar Former Staff
    CoreCoins Purchaser Authenticator enabled
    Reputation
    1627
    Join Date
    May 2010
    Posts
    1,846
    Thanks G/R
    193/539
    Trade Feedback
    16 (100%)
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    You missed the point, you can use the callback from user-mode. No need to write a kernel debugger...

  9. #9
    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)
    Yeah, I got that. But that doesn't remove my desire to write a kernel debugger

Similar Threads

  1. Confirmation Of Korean Or Chinese Hacks Detected
    By FusionStream in forum Overwatch Exploits|Hacks
    Replies: 2
    Last Post: 08-05-2016, 10:21 PM
  2. Some important questions about bot/hack detection
    By JoshRMT in forum SWTOR Bots and Programs
    Replies: 8
    Last Post: 01-05-2012, 04:15 PM
  3. A few questions about bots/hacks and their detection
    By UNREST in forum WoW Bots Questions & Requests
    Replies: 2
    Last Post: 02-01-2011, 12:08 PM
  4. [Question] About water breath hack detection?
    By Ellenor in forum World of Warcraft Emulator Servers
    Replies: 3
    Last Post: 02-20-2008, 08:02 AM
  5. General Wow hacking question
    By aqua200546 in forum World of Warcraft General
    Replies: 2
    Last Post: 01-26-2007, 03:52 PM
All times are GMT -5. The time now is 03:05 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