Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import memory
- from memory import Convention
- from memory import Argument
- from memory import Return
- from memory.hooks import PreHook
- from memory.hooks import PostHook
- tier0 = memory.find_binary('bin/tier0')
- DevMsg = tier0['DevMsg'].make_function(
- Convention.CDECL,
- (Argument.INT, Argument.STRING,),
- Return.VOID
- )
- # CLoggingSystem::LogDirect(int,LoggingSeverity_t,Color,char const*)
- LogDirect = tier0[b'\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x14\x8B\x45\x08'].make_function(
- Convention.THISCALL,
- (Argument.POINTER, Argument.INT, Argument.INT, Argument.POINTER, Argument.STRING),
- Return.VOID
- )
- idk = tier0[b'\x55\x8B\xEC\x8B\x45\x08\x85\xC0\x78\x2A\x3B\x01'].make_function(
- Convention.THISCALL,
- (Argument.POINTER, Argument.INT, Argument.INT),
- Return.INT
- )
- def is_channel_enabled(this, channel, severity):
- if channel < 0 or channel >= this.get_int():
- return 0
- if severity < this.get_int(channel * 0x34 + 0x0C):
- return 0
- return 1
- def set_channel_enabled(this, channel, value):
- this.set_int(channel * 0x34 + 0x0C, value)
- @PreHook(idk)
- def pre_idk(args):
- #args[2] = 4
- print('Enabled1:', is_channel_enabled(*args))
- set_channel_enabled(args[0], args[1], 0)
- print('Enabled2:', is_channel_enabled(*args))
- @PostHook(idk)
- def post_idk(args, return_value):
- print('Post:', return_value)
- print()
- #@PreHook(LogDirect)
- def pre_log_direct(args):
- """
- print('Pre hook called')
- for arg in args:
- print('\t', repr(arg))
- print('Pre hook end')
- """
- #print((args[1], args[2], args[4]))
- return 0
- DevMsg(0, 'test123\n')
- DevMsg(1, 'test123\n')
- DevMsg(2, 'test123\n')
- DevMsg(3, 'test123\n')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement