Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Macros | |
#define | CMP(x, y) (st64)((st64)x - ((PE64_RUNTIME_FUNCTION *)y)->EndAddress) |
#define | READ_AT(address, buf, size) dbg->iob.read_at(dbg->iob.io, address, buf, size) |
Functions | |
static int | is_pc_inside_module (const void *value, const void *list_data) |
static bool | init_module_runtime_functions (RzDebug *dbg, RzVector *functions, ut64 module_base) |
static ut64 | read_register (RzDebug *dbg, ut64 at) |
static ut32 | read_slot32 (RzDebug *dbg, PE64_UNWIND_INFO *info, int *index) |
static ut16 | read_slot16 (RzDebug *dbg, PE64_UNWIND_INFO *info, int *index) |
static ut64 | get_frame_base (const PE64_UNWIND_INFO *info, const struct context_type_amd64 *context, const ut64 function_address) |
static PE64_UNWIND_INFO * | read_unwind_info (RzDebug *dbg, ut64 at) |
static bool | unwind_function (RzDebug *dbg, RzDebugFrame *frame, PE64_RUNTIME_FUNCTION *rfcn, struct context_type_amd64 *context, const ut64 module_address, const ut64 function_address) |
static bool | backtrace_windows_x64 (RZ_IN RzDebug *dbg, RZ_INOUT RzList **out_frames, RZ_INOUT struct context_type_amd64 *context) |
#define CMP | ( | x, | |
y | |||
) | (st64)((st64)x - ((PE64_RUNTIME_FUNCTION *)y)->EndAddress) |
Definition at line 14 of file windows-x64.c.
Definition at line 15 of file windows-x64.c.
|
static |
Definition at line 273 of file windows-x64.c.
References rz_debug_frame_t::addr, PE64_RUNTIME_FUNCTION::BeginAddress, CMP, dbg, free(), init_module_runtime_functions(), is_pc_inside_module(), memcpy(), regress::modules, NULL, read_register(), rz_debug_t::reg, rz_debug_modules_list(), rz_list_append(), rz_list_find(), rz_list_free(), rz_list_iter_get_data(), rz_list_newf(), rz_list_pop(), RZ_NEW0, rz_reg_get_bytes(), RZ_REG_TYPE_GPR, rz_vector_fini(), rz_vector_index_ptr(), rz_vector_init(), rz_vector_len(), rz_vector_upper_bound, rz_debug_frame_t::size, rz_debug_frame_t::sp, unwind_function(), and ut64().
Referenced by rz_debug_dmp_frames(), and rz_debug_winkd_frames().
|
inlinestatic |
Definition at line 87 of file windows-x64.c.
References i, info(), PE64_UNW_FLAG_CHAININFO, ut64(), and UWOP_SET_FPREG.
Referenced by unwind_function().
|
inlinestatic |
Definition at line 17 of file windows-x64.c.
References PE64_RUNTIME_FUNCTION::BeginAddress, patch_major_os_version::e_lfanew, PE64_RUNTIME_FUNCTION::EndAddress, free(), malloc(), NULL, PE_IMAGE_DIRECTORY_ENTRY_EXCEPTION, READ_AT, rz_offsetof, rz_read_le32(), rz_vector_fini(), rz_vector_init(), rz_vector_push(), rz_vector_reserve(), PE64_RUNTIME_FUNCTION::UnwindData, UT32_MAX, and ut64().
Referenced by backtrace_windows_x64().
Definition at line 8 of file windows-x64.c.
References pc, ut64(), and value.
Referenced by backtrace_windows_x64().
Definition at line 68 of file windows-x64.c.
References dbg, rz_io_bind_t::io, rz_debug_t::iob, rz_io_bind_t::read_at, and rz_read_le64().
Referenced by backtrace_windows_x64(), and unwind_function().
|
inlinestatic |
Definition at line 80 of file windows-x64.c.
References info(), and rz_read_le16().
Referenced by unwind_function().
|
inlinestatic |
Definition at line 74 of file windows-x64.c.
References info(), and rz_read_le32().
Referenced by unwind_function().
|
inlinestatic |
Definition at line 114 of file windows-x64.c.
References free(), info(), NULL, READ_AT, realloc(), RZ_NEW0, rz_offsetof, and autogen_x86imm::tmp.
Referenced by unwind_function().
|
inlinestatic |
Definition at line 131 of file windows-x64.c.
References rz_debug_frame_t::bp, dbg, free(), get_frame_base(), i, info(), PE64_UNW_FLAG_CHAININFO, PFMT32d, PFMT64x, READ_AT, read_register(), read_slot16(), read_slot32(), read_unwind_info(), RZ_LOG_ERROR, rz_offsetof, rz_read_le32(), rz_debug_frame_t::size, rz_debug_frame_t::sp, PE64_RUNTIME_FUNCTION::UnwindInfoAddress, ut64(), UWOP_ALLOC_LARGE, UWOP_ALLOC_SMALL, UWOP_PUSH_MACHFRAME, UWOP_PUSH_NONVOL, UWOP_SAVE_NONVOL, UWOP_SAVE_NONVOL_FAR, UWOP_SAVE_XMM128, UWOP_SAVE_XMM128_FAR, UWOP_SET_FPREG, UWOP_UNKNOWN1, and UWOP_UNKNOWN2.
Referenced by backtrace_windows_x64().