How does Warden detect injections/hooks? menu

User Tag List

Results 1 to 9 of 9
  1. #1
    Syltex's Avatar Sergeant Major
    Reputation
    23
    Join Date
    Jul 2010
    Posts
    174
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    How does Warden detect injections/hooks?

    Hello

    I read that if u stay private you can inject how much you want.
    But why is it different between private and public?
    Why cant private be detected and why does public onces?
    We all use the same Lua adress to inject?

    Got a theory about it, that warden guy downloads the bot/hack and looks @ the MD5 and sends the order to detect the MD5 to warden?

    How does Warden detect injections/hooks?
  2. #2
    whitekidney's Avatar Donator
    Reputation
    143
    Join Date
    Mar 2007
    Posts
    1,061
    Thanks G/R
    2/3
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    A private bot is more likely not to be added to warden's "hitlist"

    and afaik (i masy be wrong) warden ddoesnt detect injections, but what you do after you inject.

  3. #3
    Syltex's Avatar Sergeant Major
    Reputation
    23
    Join Date
    Jul 2010
    Posts
    174
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by whitekidney View Post
    A private bot is more likely not to be added to warden's "hitlist"

    and afaik (i masy be wrong) warden ddoesnt detect injections, but what you do after you inject.
    How come mimics and eBot got detected? Wasent it injection?

  4. #4
    -Ryuk-'s Avatar Elite User CoreCoins Purchaser Authenticator enabled
    Reputation
    529
    Join Date
    Nov 2009
    Posts
    1,028
    Thanks G/R
    38/51
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Syltex View Post


    How come mimics and eBot got detected? Wasent it injection?
    They got detected via injecting yes... but, not for injecting the dll - they check for what you do with the dll. They cant ban you because you injected a dll because fraps and many other legit programs do this. That being said, im sure im going to be corrected if im wrong ^^
    |Leacher:11/2009|Donor:02/2010|Established Member:09/2010|Contributor:09/2010|Elite:08/2013|

  5. #5
    Syltex's Avatar Sergeant Major
    Reputation
    23
    Join Date
    Jul 2010
    Posts
    174
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by -Ryuk- View Post


    They got detected via injecting yes... but, not for injecting the dll - they check for what you do with the dll. They cant ban you because you injected a dll because fraps and many other legit programs do this. That being said, im sure im going to be corrected if im wrong ^^
    Hm, im using EndSceen hook & injection for Lua, but im only using ASM to inject for lua.
    Isnt that pretty safe then?

  6. #6
    Cheatz0's Avatar Member
    Reputation
    14
    Join Date
    May 2009
    Posts
    36
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Syltex View Post


    Hm, im using EndSceen hook & injection for Lua, but im only using ASM to inject for lua.
    Isnt that pretty safe then?
    Am i wrong in assuming that you are using the ahook dll? If so, that is pretty public and would be quite easy to detect. If not, you should be relatively safe with only hooking endscene, and not modifying/patching other parts of memory.

  7. #7
    -Ryuk-'s Avatar Elite User CoreCoins Purchaser Authenticator enabled
    Reputation
    529
    Join Date
    Nov 2009
    Posts
    1,028
    Thanks G/R
    38/51
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Syltex View Post


    Hm, im using EndSceen hook & injection for Lua, but im only using ASM to inject for lua.
    Isnt that pretty safe then?
    Private hook? or using a public one like EasyHook/aHook?

    If is private; have fun, do you you like. Just beware if a public one is using the same method you can still get banned. if its a public one, I think you need to get working on your own
    |Leacher:11/2009|Donor:02/2010|Established Member:09/2010|Contributor:09/2010|Elite:08/2013|

  8. #8
    Syltex's Avatar Sergeant Major
    Reputation
    23
    Join Date
    Jul 2010
    Posts
    174
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by -Ryuk- View Post


    Private hook? or using a public one like EasyHook/aHook?

    If is private; have fun, do you you like. Just beware if a public one is using the same method you can still get banned. if its a public one, I think you need to get working on your own
    Im using a hook/injection made by (cant remeber his name, but he posted in the mem section)

    This will inject(lua) hook (endsceen)
    Code:
    ; get address of EndScene
    $pDevice = _MemoryRead("0x" & hex($pDevicePtr_1), $wow, "dword")
    $pEnd = _MemoryRead("0x" & hex($pDevice + $pDevicePtr_2), $wow, "dword")
    $pScene = _MemoryRead("0x" & hex($pEnd), $wow, "dword")
    $pEndScene = _MemoryRead("0x" & hex($pScene + $oEndScene), $wow, "dword")
    ; injected code
    Global $injected_code 
    
    ; check if already hooked   
    $orig = _MemoryRead( "0x" & hex($pEndScene), $wow, "byte[64]" )
    
    ; autoit is garbage
    $orig_ptr = DllStructCreate("byte[64]")
    DllStructSetData( $orig_ptr, 1, $orig )
    
    ; check for push xxxxxxxx/ret/nop
    ; 0x68, 0xC3, 0x90
    if DllStructGetData( $orig_ptr, 1, 1 ) == 104 and _
       DllStructGetData( $orig_ptr, 1, 6 ) == -61 and DllStructGetData( $orig_ptr, 1, 7 ) == -112 Then
       
      $injected_code = _MemoryRead( "0x" & hex($pEndScene + 1), $wow, "dword" ) 
    else
      ; allocate memory to store injected code
      $injected_code = _MemVirtualAllocEx( $wow[1], 0, 2048, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE )
    
      ; Generate the STUB to be injected
      $Asm = AsmInit()
      AsmReset($Asm)
      ; save regs
      AsmAdd($Asm, "pushad")
      AsmAdd($Asm, "pushfd")
      ; check if theres something to be run
      AsmAdd($Asm, "mov esi, " & hex( $injected_code + 256 ) & "h")
      AsmAdd($Asm, "cmp dword [esi], 0" )
      AsmAdd($Asm, "jz $+73" ) ; label exit:
      ; UpdateCurMgr
      AsmAdd($Asm, "mov edx, [" & hex($OM_CLIENT_CONNECTION) & "h]")
      AsmAdd($Asm, "mov edx, [ edx + " & hex( $OM_OFFSET_1 ) & "h]")
      AsmAdd($Asm, "mov eax, fs:[2Ch]")
      AsmAdd($Asm, "mov eax, [eax]")
      AsmAdd($Asm, "add eax, 0x10")
      AsmAdd($Asm, "mov [eax], edx")
      ; DoString
      AsmAdd($Asm, "mov esi, " & hex( $injected_code + 1024 ) & "h")
      AsmAdd($Asm, "push 0" )
      AsmAdd($Asm, "push esi" )
      AsmAdd($Asm, "push esi" )
      AsmAdd($Asm, "mov eax, " &$offset& "h" )
      AsmAdd($Asm, "call eax" )
      AsmAdd($Asm, "add esp, 0Ch" )
      ; check if theres something to be returned on
      AsmAdd($Asm, "mov esi, " & hex( $injected_code + 512 ) & "h")
      AsmAdd($Asm, "cmp dword [esi], 0" )
      AsmAdd($Asm, "jz $+2D" ) ; label exit: 
    
      ; copy return string
      AsmAdd($Asm, "mov esi, eax")
      AsmAdd($Asm, "mov edi, " & hex( $injected_code + 768 ) & "h")
      AsmAdd($Asm, "copy:")
      AsmAdd($Asm, "lodsb")
      AsmAdd($Asm, "stosb")
      AsmAdd($Asm, "cmp al, 0")
      AsmAdd($Asm, "jnz @copy")
      ; clean state busy flag
      AsmAdd($Asm, "exit:")
      AsmAdd($Asm, "xor eax, eax")
      AsmAdd($Asm, "mov edi, " & hex( $injected_code + 256 ) & "h")
      AsmAdd($Asm, "stosd")
      AsmAdd($Asm, "mov edi, " & hex( $injected_code + 512 ) & "h")
      AsmAdd($Asm, "stosd")
      ; restore regs
      AsmAdd($Asm, "popfd")
      AsmAdd($Asm, "popad")
    
      ; copy injected code
      _MemoryWrite( "0x" & hex( $injected_code ), $wow, AsmGetBinary($Asm), "byte[" & $Asm[2] & "]" )
    
      ; create hook jump
      $jmpto = AsmInit()
      AsmReset( $jmpto )
      AsmAdd( $jmpto, "push " & hex( $injected_code ) & "h" )
      AsmAdd( $jmpto, "ret")
      AsmAdd( $jmpto, "nop")
    
      ; save original instructions
      _MemoryWrite( "0x" & hex($injected_code + $Asm[2]), $wow, $orig, "byte[64]" )
        
      ; disasm original bytes
      $DecodeArray = DllStructCreate("byte[" & $sizeofDecodedInst * 64 & "]")
      $ret = distorm_decode(0,  DllStructGetPtr($orig_ptr), 64, $Decode32Bits, DllStructGetPtr($DecodeArray), 64)
    
      ; parse until we can jump back
      $sumsize = 0
      If $ret[0] == $DECRES_SUCCESS Then
        For $i = 0 To $ret[1] ; number of decoded instructions
          ; get size of 1 instruction
          $instr = DllStructCreate($tagDecodedInst, DllStructGetPtr($DecodeArray) + ($i * $sizeofDecodedInst))
          $sumsize += DllStructGetData($instr, "size")
    
          ; check if we copied enough instructions
          if $sumsize >= $jmpto[2] Then
          
            ; create jump back stub
            $jmpback = AsmInit()
            AsmReset( $jmpback )
            AsmAdd( $jmpback, "push " & hex($pEndScene + $sumsize) & "h" )
            AsmAdd( $jmpback, "ret")
            AsmAdd( $jmpback, "nop")
    
            ; write jump back 
            _MemoryWrite( "0x" & hex($injected_code + $Asm[2] + $sumsize), $wow, AsmGetBinary($jmpback), "byte[" & $jmpback[2] & "]" )
            ExitLoop
          Endif	
        Next
      Endif
        
      ; write jump hook
      _MemoryWrite( "0x" & hex($pEndScene), $wow, AsmGetBinary($jmpto), "byte[" & $jmpto[2] & "]" )

  9. #9
    Cheatz0's Avatar Member
    Reputation
    14
    Join Date
    May 2009
    Posts
    36
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Way too tired too look through it now, but assuming it's just a normal detour you should be relatively safe.

Similar Threads

  1. Replies: 12
    Last Post: 10-21-2016, 07:42 AM
  2. Does warden detect packet analyzing tools? [details inside]
    By pelz in forum World of Warcraft General
    Replies: 0
    Last Post: 08-26-2012, 07:59 AM
  3. Does Warden/WoW Detect Speedhacking?
    By xLeo123 in forum World of Warcraft General
    Replies: 1
    Last Post: 08-17-2009, 05:12 PM
  4. [Question] How does WoW detect memory editing?
    By miLl3niUm in forum WoW Memory Editing
    Replies: 1
    Last Post: 06-13-2009, 07:34 AM
  5. Maplestory detects Automouse clicker - so does warden?
    By afhouston in forum World of Warcraft General
    Replies: 4
    Last Post: 01-27-2007, 04:10 AM
All times are GMT -5. The time now is 07:36 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search