diff --git a/src/emulator/emulator.hpp b/src/emulator/emulator.hpp index 05ee17cf..cf5cad1b 100644 --- a/src/emulator/emulator.hpp +++ b/src/emulator/emulator.hpp @@ -18,6 +18,8 @@ class emulator : public cpu_interface, public memory_interface, public hook_inte emulator(emulator&&) = delete; emulator& operator=(emulator&&) = delete; + virtual std::string get_name() const = 0; + virtual void serialize_state(utils::buffer_serializer& buffer, bool is_snapshot) const = 0; virtual void deserialize_state(utils::buffer_deserializer& buffer, bool is_snapshot) = 0; }; diff --git a/src/icicle-emulator/icicle_x64_emulator.cpp b/src/icicle-emulator/icicle_x64_emulator.cpp index 8e6aa4b0..06622586 100644 --- a/src/icicle-emulator/icicle_x64_emulator.cpp +++ b/src/icicle-emulator/icicle_x64_emulator.cpp @@ -416,6 +416,11 @@ namespace icicle return false; } + std::string get_name() const override + { + return "icicle-emu"; + } + private: std::list> storage_{}; std::unordered_map> hooks_{}; diff --git a/src/unicorn-emulator/unicorn_x64_emulator.cpp b/src/unicorn-emulator/unicorn_x64_emulator.cpp index c4840092..cd8a94cb 100644 --- a/src/unicorn-emulator/unicorn_x64_emulator.cpp +++ b/src/unicorn-emulator/unicorn_x64_emulator.cpp @@ -678,6 +678,11 @@ namespace unicorn return this->has_violation_; } + std::string get_name() const override + { + return "Unicorn Engine"; + } + private: mutable bool has_snapshots_{false}; uc_engine* uc_{};