From 4da3e1304c6adbbaedbe6a4612583512b18f03f8 Mon Sep 17 00:00:00 2001 From: Willem Melching Date: Mon, 27 Jun 2022 16:12:39 +0200 Subject: [PATCH] guess stackpointer register --- src/pcode_architecture.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/pcode_architecture.cpp b/src/pcode_architecture.cpp index fe43a56..f147522 100644 --- a/src/pcode_architecture.cpp +++ b/src/pcode_architecture.cpp @@ -238,6 +238,19 @@ class PcodeArchitecture : public Architecture { return "$U" + ss.str(); } + uint32_t find_register_by_name(std::string register_name) { + for (auto const& [num, name] : m_register_names) { + if (name == register_name) { + return num; + } + } + LogError("Register %s not found", register_name.c_str()); + return 0; + } + + virtual uint32_t GetStackPointerRegister() override { + return find_register_by_name("sp"); + } bool GetInstructionInfo(const uint8_t* data, uint64_t addr, size_t maxLen, InstructionInfo& result) override { std::lock_guard guard(m_sleigh_mutex);