From 25a1898747eec306f3e0567b982b90326e142e30 Mon Sep 17 00:00:00 2001 From: Tau Date: Wed, 28 Nov 2018 11:49:10 -0500 Subject: [PATCH] Add j_printf spike flavor --- util/spike.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/util/spike.c b/util/spike.c index 826bf22..820c519 100644 --- a/util/spike.c +++ b/util/spike.c @@ -26,6 +26,17 @@ static void spike_fn_fputs(const char *msg) OutputDebugStringA(msg); } +static void spike_fn_printf(const char *fmt, ...) +{ + char line[512]; + va_list ap; + + va_start(ap, fmt); + vsprintf_s(line, _countof(line), fmt, ap); + strcat(line, "\n"); + OutputDebugStringA(line); +} + static void spike_fn_vprintf( const char *proc, int line_no, @@ -167,6 +178,12 @@ void spike_hook_init(const char *path) spike_insert_jmp((ptrdiff_t) rva, spike_fn_vwprintf); } + match = sscanf(line, "j_printf %i", &rva); + + if (match == 1) { + spike_insert_jmp((ptrdiff_t) rva, spike_fn_printf); + } + match = sscanf(line, "j_puts %i", &rva); if (match == 1) {