diff --git a/src/windows-emulator/module/module_manager.cpp b/src/windows-emulator/module/module_manager.cpp index 575ccc50..845d1505 100644 --- a/src/windows-emulator/module/module_manager.cpp +++ b/src/windows-emulator/module/module_manager.cpp @@ -65,6 +65,12 @@ namespace utils buffer.write(mod.size_of_image); buffer.write(mod.entry_point); + buffer.write(mod.machine); + buffer.write(mod.size_of_stack_reserve); + buffer.write(mod.size_of_stack_commit); + buffer.write(mod.size_of_heap_reserve); + buffer.write(mod.size_of_heap_commit); + buffer.write_vector(mod.exports); buffer.write_map(mod.address_names); @@ -83,6 +89,12 @@ namespace utils buffer.read(mod.size_of_image); buffer.read(mod.entry_point); + buffer.read(mod.machine); + buffer.read(mod.size_of_stack_reserve); + buffer.read(mod.size_of_stack_commit); + buffer.read(mod.size_of_heap_reserve); + buffer.read(mod.size_of_heap_commit); + buffer.read_vector(mod.exports); buffer.read_map(mod.address_names); diff --git a/src/windows-emulator/windows_objects.hpp b/src/windows-emulator/windows_objects.hpp index b6d2f96a..b4db799a 100644 --- a/src/windows-emulator/windows_objects.hpp +++ b/src/windows-emulator/windows_objects.hpp @@ -226,18 +226,19 @@ struct section : ref_counted_object { uint64_t entry_point_rva{}; uint64_t image_base{}; + uint64_t size_of_stack_reserve{}; + uint64_t size_of_stack_commit{}; + uint32_t size_of_code{}; + uint32_t loader_flags{}; + uint32_t checksum{}; uint16_t machine{}; uint16_t subsystem{}; uint16_t subsystem_major_version{}; uint16_t subsystem_minor_version{}; uint16_t image_characteristics{}; uint16_t dll_characteristics{}; - uint64_t size_of_stack_reserve{}; - uint64_t size_of_stack_commit{}; - uint32_t size_of_code{}; - uint32_t loader_flags{}; - uint32_t checksum{}; bool has_code{false}; + std::array _padding{}; }; std::optional cached_image_info{};