mirror of
https://github.com/qilingframework/qiling.git
synced 2026-10-12 02:21:40 +00:00
Addressed Comments
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user