Refactor emulator_object (#673)

This PR refactors `emulator_object` to make future support easier.
This commit is contained in:
Maurice Heumann
2026-01-02 22:09:54 +01:00
committed by GitHub
2 changed files with 5 additions and 16 deletions

View File

@@ -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<memory_manager_wrapper>().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<T> shift(const int64_t offset) const
{
return emulator_object<T>(*this->memory_, this->address_ + offset);

View File

@@ -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);