diff --git a/src/windows-emulator/emulator_utils.hpp b/src/windows-emulator/emulator_utils.hpp index c1f992fc..225ed092 100644 --- a/src/windows-emulator/emulator_utils.hpp +++ b/src/windows-emulator/emulator_utils.hpp @@ -66,8 +66,6 @@ class emulator_object public: using value_type = T; - emulator_object() = default; - emulator_object(const x64_emulator_wrapper& wrapper, const uint64_t address = 0) : emulator_object(wrapper.get(), address) { @@ -84,6 +82,11 @@ class emulator_object { } + emulator_object(utils::buffer_deserializer& buffer) + : emulator_object(buffer.read().get()) + { + } + uint64_t value() const { return this->address_; @@ -175,11 +178,6 @@ class emulator_object this->address_ = address; } - void set_memory_interface(memory_interface& memory) - { - this->memory_ = &memory; - } - emulator_object shift(const int64_t offset) const { return emulator_object(*this->memory_, this->address_ + offset); diff --git a/src/windows-emulator/process_context.cpp b/src/windows-emulator/process_context.cpp index 3db7cb0b..ed761c71 100644 --- a/src/windows-emulator/process_context.cpp +++ b/src/windows-emulator/process_context.cpp @@ -453,15 +453,6 @@ void process_context::deserialize(utils::buffer_deserializer& buffer) buffer.read_optional(this->process_params32); buffer.read(this->kusd); - if (this->peb32.has_value()) - { - this->peb32->set_memory_interface(*this->peb64.get_memory_interface()); - } - if (this->process_params32.has_value()) - { - this->process_params32->set_memory_interface(*this->peb64.get_memory_interface()); - } - buffer.read(this->is_wow64_process); buffer.read(this->ntdll_image_base); buffer.read(this->ldr_initialize_thunk);