Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import binutils
- from binutils import Convention
- engine = binutils.find_binary('bin/engine')
- Cmd_ExecuteCommand = engine.find_signature('\x55\x8B\xEC\x53\x8B\x5D\x08\x56\x8B\x33').make_function(Convention.CDECL, 'pii)v')
- def hook(args):
- print
- print 'm_nArgc', args[0].get_int()
- argvsize = args[0].get_int(4)
- print 'm_nArgv0Size', argvsize
- print 'm_pArgSBuffer:', args[0].get_string(8, False)
- print 'm_pArgSBuffer:', args[0].get_string(520, False)
- for x in xrange(argvsize):
- print x, 'm_ppArgv', getArg(args[0].get_ptr(1032), x)
- print
- def getArg(ptr, index):
- return ptr.get_string(index*4, False)
- Cmd_ExecuteCommand.add_pre_hook(hook)
- def unload():
- Cmd_ExecuteCommand.remove_pre_hook(hook)
Advertisement
Add Comment
Please, Sign In to add comment