Advertisement
Ayuto

CS:GO hooking console output

Jul 31st, 2015
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.76 KB | None | 0 0
  1. import memory
  2.  
  3. from memory import Convention
  4. from memory import Argument
  5. from memory import Return
  6.  
  7. from memory.hooks import PreHook
  8. from memory.hooks import PostHook
  9.  
  10. tier0 = memory.find_binary('bin/tier0')
  11.  
  12. DevMsg = tier0['DevMsg'].make_function(
  13.     Convention.CDECL,
  14.     (Argument.INT, Argument.STRING,),
  15.     Return.VOID
  16. )
  17.  
  18.  
  19. # CLoggingSystem::LogDirect(int,LoggingSeverity_t,Color,char  const*)
  20. LogDirect = tier0[b'\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x14\x8B\x45\x08'].make_function(
  21.     Convention.THISCALL,
  22.     (Argument.POINTER, Argument.INT, Argument.INT, Argument.POINTER, Argument.STRING),
  23.     Return.VOID
  24. )
  25.  
  26. idk = tier0[b'\x55\x8B\xEC\x8B\x45\x08\x85\xC0\x78\x2A\x3B\x01'].make_function(
  27.     Convention.THISCALL,
  28.     (Argument.POINTER, Argument.INT, Argument.INT),
  29.     Return.INT
  30. )
  31.  
  32. def is_channel_enabled(this, channel, severity):
  33.     if channel < 0 or channel >= this.get_int():
  34.         return 0
  35.        
  36.     if severity < this.get_int(channel * 0x34 + 0x0C):
  37.         return 0
  38.        
  39.     return 1
  40.    
  41. def set_channel_enabled(this, channel, value):
  42.     this.set_int(channel * 0x34 + 0x0C, value)
  43.    
  44. @PreHook(idk)
  45. def pre_idk(args):
  46.     #args[2] = 4
  47.     print('Enabled1:', is_channel_enabled(*args))
  48.     set_channel_enabled(args[0], args[1], 0)
  49.     print('Enabled2:', is_channel_enabled(*args))
  50.    
  51. @PostHook(idk)
  52. def post_idk(args, return_value):
  53.     print('Post:', return_value)
  54.     print()
  55.  
  56. #@PreHook(LogDirect)
  57. def pre_log_direct(args):
  58.     """
  59.    print('Pre hook called')
  60.    for arg in args:
  61.        print('\t', repr(arg))
  62.        
  63.    print('Pre hook end')
  64.    """
  65.     #print((args[1], args[2], args[4]))
  66.     return 0
  67.    
  68. DevMsg(0, 'test123\n')
  69. DevMsg(1, 'test123\n')
  70. DevMsg(2, 'test123\n')
  71. DevMsg(3, 'test123\n')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement