Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_debug.h>
#include <winkd.h>
#include <kd.h>
#include "common_winkd.h"
#include "common_windows.h"
#include "mdmp_windefs.h"
#include "native/reg/windows-x86.h"
#include "native/reg/windows-x64.h"
#include "native/bt/windows-x64.c"
#include "native/bt/generic-all.c"
Go to the source code of this file.
Macros | |
#define | O_(n) kdctx->windctx.profile->f[n] |
Variables | |
static KdCtx * | kdctx = NULL |
RzDebugPlugin | rz_debug_plugin_winkd |
RZ_API RzLibStruct | rizin_plugin |
|
static |
Definition at line 52 of file debug_winkd.c.
References dbg, WindProc::eprocess, ET_ApcProcess, WindThread::ethread, free(), kdctx, O_, rz_debug_t::pid, proc, _WindCtx::read_at_kernel_virtual, _WindCtx::target, _WindCtx::target_thread, rz_debug_t::tid, WindProc::uniqueid, WindThread::uniqueid, ut64(), _KdCtx::windctx, winkd_get_process_at(), winkd_get_thread_at(), and winkd_read_ptr_at().
Referenced by rz_debug_winkd_attach(), and rz_debug_winkd_wait().
Definition at line 122 of file debug_winkd.c.
References addr, kdctx, _WindCtx::read_at_kernel_virtual, rz_read_le16(), rz_read_le32(), _WindCtx::user, and _KdCtx::windctx.
Referenced by rz_debug_winkd_attach().
|
static |
Definition at line 155 of file debug_winkd.c.
References WindModule::addr, rz_debug_t::analysis, rz_debug_t::arch, rz_debug_t::bits, rz_core_bind_t::cfgGet, rz_core_bind_t::cfgSetI, rz_core_bind_t::cmdf, rz_core_bind_t::core, rz_debug_t::corebind, dbg, desc, rz_io_t::desc, ET_ApcProcess, WindThread::ethread, get_current_process_and_thread(), get_module_timestamp(), rz_io_bind_t::io, rz_debug_t::iob, K_OffsetKThreadApcProcess, kdctx, _WindCtx::KdDebuggerDataBlock, _KdCtx::kernel_module, mod(), regress::modules, NULL, O_, rz_debug_t::pid, _WindCtx::profile, rz_list_free(), RZ_LOG_ERROR, RZ_LOG_INFO, RZ_LOG_VERBOSE, rz_read_le16(), WindModule::size, strdup(), _WindCtx::target_thread, WindModule::timestamp, rz_analysis_t::typedb, _KdCtx::windctx, winkd_build_profile(), winkd_download_module_and_pdb(), winkd_get_bits(), winkd_read_at(), winkd_read_ver(), and winkd_sync().
Referenced by rz_debug_winkd_reg_profile().
|
static |
Definition at line 249 of file debug_winkd.c.
References b, kdctx, RZ_NEWS0, test-lz4-versions::tag, and winkd_bkpt().
|
static |
Definition at line 48 of file debug_winkd.c.
References kdctx, and winkd_continue().
|
static |
|
static |
Definition at line 389 of file debug_winkd.c.
References backtrace_generic(), backtrace_windows_x64(), dbg, _KdCtx::desc, _WindCtx::is_64bit, _WindCtx::is_arm, kdctx, NULL, _KdCtx::syncd, and _KdCtx::windctx.
|
static |
Definition at line 265 of file debug_winkd.c.
|
static |
Definition at line 403 of file debug_winkd.c.
References kdctx, regress::m, map(), maps(), NULL, rz_debug_map_free(), rz_file_dos_basename(), rz_list_append(), rz_list_free(), rz_list_newf(), RZ_NEW0, RZ_PTR_MOVE, strdup(), _KdCtx::windctx, and winkd_list_maps().
|
static |
Definition at line 358 of file debug_winkd.c.
References _KdCtx::desc, kdctx, regress::m, mod(), regress::modules, NULL, rz_debug_map_free(), rz_list_append(), rz_list_free(), rz_list_newf(), RZ_NEW0, RZ_PTR_MOVE, _KdCtx::syncd, _KdCtx::windctx, and winkd_list_modules().
|
static |
Definition at line 269 of file debug_winkd.c.
References _KdCtx::desc, kdctx, NULL, p, rz_debug_pid_t::path, rz_debug_pid_t::pid, _KdCtx::plist_cache, rz_debug_pid_t::runnable, rz_debug_pid_free(), rz_list_append(), rz_list_free(), rz_list_newf(), RZ_NEW0, rz_debug_pid_t::status, strdup(), _KdCtx::syncd, _KdCtx::windctx, and winkd_list_process().
|
static |
Definition at line 233 of file debug_winkd.c.
References rz_debug_t::arch, rz_debug_t::bits, dbg, NULL, rz_debug_winkd_attach(), RZ_SYS_BITS_32, and RZ_SYS_BITS_64.
|
static |
Definition at line 15 of file debug_winkd.c.
References kdctx, and winkd_read_reg().
|
static |
Definition at line 23 of file debug_winkd.c.
References dbg, flags, _WindCtx::is_64bit, _WindCtx::is_arm, kdctx, rz_debug_t::reg, _KdCtx::windctx, and winkd_write_reg().
Definition at line 303 of file debug_winkd.c.
References _KdCtx::context_cache_valid, eprintf, kdctx, NULL, PFMT64x, pid, rz_list_free(), _KdCtx::tlist_cache, ut64(), _KdCtx::windctx, winkd_get_target(), winkd_get_target_base(), winkd_get_target_thread(), and winkd_set_target().
|
static |
Definition at line 326 of file debug_winkd.c.
References _KdCtx::desc, free(), kdctx, NULL, rz_debug_pid_t::pid, 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, _KdCtx::syncd, threads, _KdCtx::tlist_cache, WindThread::uniqueid, _KdCtx::windctx, and winkd_list_threads().
|
static |
Definition at line 77 of file debug_winkd.c.
References rz_debug_reason_t::addr, _KdCtx::cpu, dbg, DbgKdExceptionStateChange, DbgKdLoadSymbolsStateChange, WindThread::ethread, free(), get_current_process_and_thread(), if(), KD_E_BREAK, KD_E_MALFORMED, KD_E_OK, KD_PACKET_TYPE_STATE_CHANGE64, kdctx, NULL, rz_debug_t::reason, rz_cons_sleep_begin(), rz_cons_sleep_end(), RZ_DEBUG_REASON_ERROR, RZ_DEBUG_REASON_NEW_LIB, RZ_DEBUG_REASON_UNKNOWN, RZ_FREE, rz_debug_reason_t::signum, _WindCtx::target, _WindCtx::target_thread, rz_debug_reason_t::tid, rz_debug_reason_t::type, WindProc::uniqueid, WindThread::uniqueid, _KdCtx::windctx, windows_exception_to_reason(), windows_print_exception_event(), winkd_lock_enter(), winkd_lock_leave(), winkd_set_cpu(), and winkd_wait_packet().
Definition at line 13 of file debug_winkd.c.
Referenced by get_current_process_and_thread(), get_module_timestamp(), rz_debug_winkd_attach(), rz_debug_winkd_breakpoint(), rz_debug_winkd_continue(), rz_debug_winkd_detach(), rz_debug_winkd_frames(), rz_debug_winkd_maps(), rz_debug_winkd_modules(), rz_debug_winkd_pids(), rz_debug_winkd_reg_read(), rz_debug_winkd_reg_write(), rz_debug_winkd_select(), rz_debug_winkd_threads(), and rz_debug_winkd_wait().
RZ_API RzLibStruct rizin_plugin |
Definition at line 457 of file debug_winkd.c.
RzDebugPlugin rz_debug_plugin_winkd |
Definition at line 433 of file debug_winkd.c.