zelos.engine module¶
-
class
zelos.engine.
Engine
(config=None, api=None)¶ Bases:
object
-
STACK_SIZE
= 589824¶
-
set_log_level
(log_level)¶
-
log_api
(args, isNative=False)¶
-
log_api_dbg
(args)¶
-
hexdump
(address: int, size: int) → None¶
-
property
current_process
¶
-
property
emu
¶
-
property
memory
¶
-
property
scheduler
¶
-
property
thread_manager
¶
-
property
current_thread
¶
-
property
loader
¶
-
property
modules
¶
-
property
handles
¶
-
set_mem_limit
(limit_in_mb: int) → None¶
-
set_writetrace
(target)¶
-
parse_file
(filename)¶
-
load_executable
(module_path, entrypoint_override=None)¶ This method simply loads the executable, without starting the emulation
-
property
helpers
¶ Helpers are the first layer in the components hierarchy, which mainly deal with providing help to developers.
-
load_library
(module_name)¶
-
disas
(address: int, size: int)¶ Disassemble code at the given address, for up to size bytes
-
step
(count: int = 1) → None¶ Steps one assembly level instruction
-
step_over
(count: int = 1) → None¶ Steps on assembly level instruction up to count instructions
-
start
(count=0, timeout=0, swap_threads=True) → None¶ Starts execution of the program at the given offset or entry point.
-
close
() → None¶ Handles the end of the run command
-
set_trace_on
(val)¶
-
set_verbose
(should_set_verbose: bool) → None¶ Used to set the verbosity level, and change the hooks. This prevents two types of issues:
- Running block hooks when printing individual instructions
This will cause the annotations that are printed to be the values at the end of the block’s execution
- Running instruction hooks when not printing instructions
This will slow down the emulation (sometimes considerably)
-
set_hook_granularity
(granularity: zelos.enums.HookType.EXEC)¶
-