diff options
Diffstat (limited to 'server/src')
| -rw-r--r-- | server/src/image/pe.h | 3 | ||||
| -rw-r--r-- | server/src/main.cpp | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/server/src/image/pe.h b/server/src/image/pe.h index 1ccd91f..fdd8a97 100644 --- a/server/src/image/pe.h +++ b/server/src/image/pe.h @@ -153,6 +153,9 @@ class image { auto j = nlohmann::json::parse(imports.data()); for (auto &[mod, funcs] : m_imports) { for (auto &func : funcs) { + if(j[func.name].is_null()) { + continue; + } *reinterpret_cast<uint32_t *>(image.data() + func.rva) = j[func.name]; } } diff --git a/server/src/main.cpp b/server/src/main.cpp index 963fe00..8db6f87 100644 --- a/server/src/main.cpp +++ b/server/src/main.cpp @@ -234,7 +234,7 @@ int main(int argc, char* argv[]) { img.relocate(image, alloc); img.fix_imports(image, imports); - client.write(tcp::packet_t(j.dump(), tcp::packet_type::write, + client.write(tcp::packet_t("ready", tcp::packet_type::write, session, tcp::packet_id::image)); if(client.stream(image)) { |