Addressed Comments

This commit is contained in:
Rohan Gupta
2022-09-24 15:02:25 +05:30
parent 9366a7dea7
commit b35cb90f33
+23 -99
View File
@@ -56,114 +56,45 @@ class Callback_Functions():
"""
@staticmethod
def read_mem_2_args(ql, user_data):
def read_mem(ql, *args):
user_data = args[-1]
buff = ql.mem.read(user_data["address"], user_data["bytes_size"])
ql.log.info(f"Hook was triggered at -> {user_data['address']}")
ql.log.info(buff)
@staticmethod
def read_mem_4_args(ql, address=0, size=0, user_data=None):
buff = ql.mem.read(user_data["address"], user_data["bytes_size"])
ql.log.info(f"Hook was triggered at -> {user_data['address']}")
ql.log.info(buff)
@staticmethod
def read_mem_6_args(ql, address=0, size=0, access=1, value=0, user_data=None):
buff = ql.mem.read(user_data["address"], user_data["bytes_size"])
ql.log.info(f"Hook was triggered at -> {user_data['address']}")
ql.log.info(buff)
@staticmethod
def read_reg_2_args(ql,user_data):
def read_reg(ql, *args):
user_data = args[-1]
buff = ql.reg.read(user_data["register_name"])
ql.log.info(f"Hook was triggered at -> {user_data['register_name']}")
ql.log.info(buff)
@staticmethod
def read_reg_4_args(ql, address=0, size=0, user_data=None):
buff = ql.reg.read(user_data["register_name"])
ql.log.info(f"Hook was triggered at -> {user_data['register_name']}")
ql.log.info(buff)
@staticmethod
def read_reg_6_args(ql, address=0, size=0, access=1, value=0, user_data=None):
buff = ql.reg.read(user_data["register_name"])
ql.log.info(f"Hook was triggered at -> {user_data['register_name']}")
ql.log.info(buff)
@staticmethod
def write_mem_2_args(ql, user_data):
def write_mem(ql, *args):
user_data = args[-1]
buff = ql.mem.write(user_data["address"], user_data["value"])
ql.log.info(f"Hook was triggered at -> {user_data['address']}")
ql.log.info(buff)
@staticmethod
def write_mem_4_args(ql, address=0, size=0, user_data=None):
buff = ql.mem.write(user_data["address"], user_data["value"])
ql.log.info(f"Hook was triggered at -> {user_data['address']}")
ql.log.info(buff)
@staticmethod
def write_mem_6_args(ql, address=0, size=0, access=1, value=0, user_data=None):
buff = ql.mem.write(user_data["address"], user_data["value"])
ql.log.info(f"Hook was triggered at -> {user_data['address']}")
ql.log.info(buff)
@staticmethod
def write_reg_2_args(ql,user_data):
def write_reg(ql, *args):
user_data = args[-1]
buff = ql.reg.write(user_data["register_name"], user_data["value"])
ql.log.info(f"Hook was triggered at -> {user_data['register_name']}")
ql.log.info(buff)
@staticmethod
def write_reg_4_args(ql, address=0, size=0, user_data=None):
buff = ql.reg.write(user_data["register_name"], user_data["value"])
ql.log.info(f"Hook was triggered at -> {user_data['register_name']}")
ql.log.info(buff)
@staticmethod
def write_reg_6_args(ql, address=0, size=0, access=1, value=0, user_data=None):
buff = ql.reg.write(user_data["register_name"], user_data["value"])
ql.log.info(f"Hook was triggered at -> {user_data['register_name']}")
ql.log.info(buff)
@staticmethod
def emu_start_2_args(ql, user_data):
def emu_start(ql, *args):
user_data = args[-1]
ql.emu_start(begin=user_data["start"], end=user_data["end"])
@staticmethod
def emu_start_4_args(ql, address=0, size=0, user_data=None):
ql.emu_start(begin=user_data["start"], end=user_data["end"])
@staticmethod
def emu_start_6_args(ql, address=0, size=0, access=1, value=0, user_data=None):
ql.emu_start(begin=user_data["start"], end=user_data["end"])
@staticmethod
def emu_stop_2_args(ql, user_data=None):
def emu_stop(ql, *args):
ql.log.info('killer switch found, stopping')
ql.emu_stop()
@staticmethod
def emu_stop_4_args(ql, address=0, size=0, user_data=None):
ql.log.info('killer switch found, stopping')
ql.emu_stop()
@staticmethod
def emu_stop_6_args(ql, address=0, size=0, access=1, value=0, user_data=None):
ql.log.info('killer switch found, stopping')
ql.emu_stop()
@staticmethod
def save_2_args(ql, user_data=None):
ql.save()
@staticmethod
def save_4_args(ql, address=0, size=0, user_data=None):
ql.save()
@staticmethod
def save_6_args(ql, address=0, size=0, access=1, value=0, user_data=None):
def save(ql, *args):
ql.save()
def env_arg(value):
@@ -197,14 +128,17 @@ def read_file(fname: str):
return content
def log(string, color):
"""
Function to beautify terminal output
"""
if colored:
if colored:
def log(string, color):
"""
Function to beautify terminal output
"""
six.print_(colored(string, color))
else:
else:
def log(string, color):
"""
Function to beautify terminal output
"""
six.print_(string)
@@ -726,18 +660,8 @@ def hook(ql):
hook_dictionary["end"] = end
if user_data:
args.append(user_data)
hook_dictionary["user_data"] = user_data
if hook_type in ['hook_code', 'hook_block']:
operation += '_4_args'
elif hook_type in ['hook_mem_read', 'hook_mem_write']:
operation += '_6_args'
else:
operation += '_2_args'
getattr(ql, hook_type)(getattr(Callback_Functions, operation), *args)
getattr(ql, hook_type)(getattr(Callback_Functions, operation), *args, user_data=user_data)
return hook_dictionary