Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_core.h>
#include <rz_debug.h>
#include <dmp_specs.h>
#include <dmp64.h>
#include <pe_specs.h>
#include <winkd.h>
#include "common_winkd.h"
#include "native/bt/windows-x64.c"
#include "native/bt/generic-all.c"
#include "native/reg/windows-x64.h"
#include "native/reg/windows-arm64.h"
#include "native/reg/windows-arm.h"
#include "native/reg/windows-x86.h"
Go to the source code of this file.
Typedefs | |
typedef RzList *(* | RzDebugFrameCallback) (RzDebug *dbg, ut64 at) |
Functions | |
static bool | rz_debug_dmp_init (RzDebug *dbg, void **user) |
static int | rz_debug_dmp_attach (RzDebug *dbg, int pid) |
static RzList * | rz_debug_dmp_pids (RzDebug *dbg, int pid) |
static int | rz_debug_dmp_select (RzDebug *dbg, int pid, int tid) |
static bool | is_kernel_address_present (WindCtx *ctx, ut64 at) |
static int | rz_debug_dmp_reg_read (RzDebug *dbg, int type, ut8 *buf, int size) |
static char * | rz_debug_dmp_reg_profile (RzDebug *dbg) |
static RzList * | rz_debug_dmp_threads (RzDebug *dbg, int pid) |
static RzList * | dmp_get_modules (DmpCtx *ctx) |
static RzList * | rz_debug_dmp_modules (RzDebug *dbg) |
static RzList * | rz_debug_dmp_maps (RzDebug *dbg) |
static bool | rz_debug_dmp_kill (RzDebug *dbg, int pid, int tid, int sig) |
static int | is_pc_inside_windmodule (const void *value, const void *list_data) |
RzList * | rz_debug_dmp_frames (RzDebug *dbg, ut64 at) |
Variables | |
RzDebugPlugin | rz_debug_plugin_dmp |
RZ_API RzLibStruct | rizin_plugin |
Definition at line 514 of file debug_dmp.c.
Definition at line 420 of file debug_dmp.c.
References DMP_DUMPTYPE_TRIAGE, rz_bin_dmp64_obj_t::drivers, mod(), NULL, rz_list_append(), rz_list_free(), rz_list_newf(), RZ_NEW0, strdup(), winkd_list_modules(), and winkd_windmodule_free().
Referenced by rz_debug_dmp_frames(), and rz_debug_dmp_modules().
Definition at line 508 of file debug_dmp.c.
References pc, ut64(), and value.
Referenced by rz_debug_dmp_frames().
Definition at line 223 of file debug_dmp.c.
References dbg, DMP_DUMPTYPE_TRIAGE, WindThread::ethread, free(), rz_debug_t::pid, rz_debug_t::plugin_data, process(), rz_vector_foreach_prev, rz_debug_t::tid, ut64(), winkd_get_process_at(), winkd_get_thread_at(), and winkd_read_ptr_at().
Definition at line 516 of file debug_dmp.c.
References rz_core_bind_t::applyBinInfo, backtrace_generic(), backtrace_windows_x64(), rz_core_t::bin, rz_core_bind_t::cfgGet, rz_core_bind_t::cmdf, rz_core_bind_t::core, rz_debug_t::corebind, dbg, dmp_get_modules(), free(), is_pc_inside_windmodule(), regress::modules, NULL, rz_debug_t::plugin_data, rz_bin_open(), rz_list_find(), rz_list_free(), rz_list_iter_get_data(), ut64(), and winkd_download_module_and_pdb().
Definition at line 15 of file debug_dmp.c.
References rz_debug_t::analysis, b, dmp_driver_desc::base, rz_bin_file_load_options_t::baseaddr, rz_core_t::bin, rz_bin_object_t::bin_obj, rz_debug_t::bits, rz_core_bind_t::cfgGet, rz_core_bind_t::cfgSetI, rz_core_bind_t::cmd, rz_core_bind_t::cmdf, rz_core_bind_t::core, rz_debug_t::corebind, rz_bin_t::cur, rz_io_desc_t::data, dbg, desc, rz_io_t::desc, WindProc::dir_base_table, DMP_DUMPTYPE_TRIAGE, rz_bin_dmp64_obj_t::drivers, WindThread::ethread, dmp_driver_desc::file, free(), i, info(), rz_bin_object_t::info, rz_core_t::io, rz_debug_t::iob, regress::m, malloc(), map(), mod(), regress::modules, NULL, rz_core_bind_t::numGet, rz_bin_file_t::o, rz_bin_object_t::opts, PE_IMAGE_FILE_MACHINE_AMD64, PE_IMAGE_FILE_MACHINE_ARM64, PE_IMAGE_FILE_MACHINE_ARMNT, PFMT32d, PFMT32u, rz_debug_t::plugin_data, process(), rz_bin_info_t::rclass, rz_bin_object_t::regstate, rz_buf_free(), rz_buf_new_with_io(), rz_buf_read_le32_at, rz_buf_read_le64_at, rz_file_basename(), rz_hex_str2bin(), rz_io_map_del(), rz_io_map_get(), rz_io_map_new(), rz_io_map_remap(), RZ_LOG_ERROR, RZ_LOG_WARN, rz_offsetof, RZ_PERM_R, rz_str_endswith(), rz_str_newf(), rz_str_replace(), rz_type_db_struct_member_offset(), rz_vector_foreach, rz_vector_push(), dmp_driver_desc::size, strdup(), TARGET_BACKEND, TARGET_KERNEL, dmp_driver_desc::timestamp, rz_analysis_t::typedb, WindThread::uniqueid, ut64(), winkd_build_profile(), winkd_download_module_and_pdb(), winkd_get_process_at(), winkd_get_profile(), winkd_get_sp(), winkd_get_thread_at(), winkd_list_modules(), and winkd_read_ptr_at().
Definition at line 504 of file debug_dmp.c.
Definition at line 473 of file debug_dmp.c.
References dbg, regress::m, map(), maps(), NULL, rz_debug_t::plugin_data, rz_debug_map_free(), rz_file_dos_basename(), rz_list_append(), rz_list_free(), rz_list_newf(), RZ_NEW0, RZ_PTR_MOVE, strdup(), and winkd_list_maps().
Definition at line 446 of file debug_dmp.c.
References dbg, dmp_get_modules(), regress::m, mod(), regress::modules, NULL, rz_debug_t::plugin_data, rz_debug_map_free(), rz_file_dos_basename(), rz_list_append(), rz_list_free(), rz_list_newf(), RZ_NEW0, RZ_PTR_MOVE, and strdup().
Definition at line 257 of file debug_dmp.c.
References dbg, NULL, p, rz_debug_pid_t::path, rz_debug_pid_t::pid, rz_debug_t::plugin_data, process(), procs, rz_debug_pid_t::runnable, rz_debug_pid_free(), rz_list_append(), rz_list_free(), rz_list_newf(), RZ_NEW0, rz_vector_fini(), rz_vector_foreach, rz_vector_foreach_prev, rz_vector_init(), rz_vector_push(), rz_debug_pid_t::status, strdup(), ut64(), winkd_list_process(), and winkd_read_ptr_at().
|
static |
Definition at line 331 of file debug_dmp.c.
References _DmpCtx::context, _DmpCtx::context_sz, dbg, DMP_DUMPTYPE_TRIAGE, is_kernel_address_present(), _DmpCtx::KiProcessorBlock, _DmpCtx::kprcb_context_offset, _DmpCtx::kthread_switch_frame_offset, memcpy(), PFMT64x, rz_debug_t::plugin_data, regs, RZ_LOG_WARN, RZ_MIN, rz_vector_foreach, _DmpCtx::type, ut64(), _DmpCtx::windctx, and winkd_read_ptr_at().
Definition at line 302 of file debug_dmp.c.
References dbg, DMP_DUMPTYPE_TRIAGE, rz_debug_t::pid, pid, rz_debug_t::plugin_data, RZ_LOG_ERROR, TARGET_PHYSICAL, TARGET_VIRTUAL, rz_debug_t::tid, and winkd_set_target().
Definition at line 395 of file debug_dmp.c.
References dbg, free(), NULL, rz_debug_pid_t::pid, rz_debug_t::plugin_data, rz_debug_pid_t::runnable, WindThread::runnable, rz_list_append(), rz_list_free(), rz_list_newf(), RZ_NEW0, rz_debug_pid_t::status, WindThread::status, threads, WindThread::uniqueid, and winkd_list_threads().
RZ_API RzLibStruct rizin_plugin |
Definition at line 583 of file debug_dmp.c.
RzDebugPlugin rz_debug_plugin_dmp |
Definition at line 564 of file debug_dmp.c.