aboutsummaryrefslogtreecommitdiff
path: root/client/src/injection/mapper.cpp
diff options
context:
space:
mode:
authorauth12 <[email protected]>2020-07-22 12:40:54 -0700
committerauth12 <[email protected]>2020-07-22 12:40:54 -0700
commit27543e1ad39c4a06ec381df2b5bb8cb48377e33b (patch)
treeed8fee85487565527868b9aaeea013f989522a55 /client/src/injection/mapper.cpp
parentAdded wolfssl as a submodule (diff)
downloadloader-27543e1ad39c4a06ec381df2b5bb8cb48377e33b.tar.xz
loader-27543e1ad39c4a06ec381df2b5bb8cb48377e33b.zip
Injection and server changes.
Diffstat (limited to 'client/src/injection/mapper.cpp')
-rw-r--r--client/src/injection/mapper.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/client/src/injection/mapper.cpp b/client/src/injection/mapper.cpp
index 7fcb8b3..570155e 100644
--- a/client/src/injection/mapper.cpp
+++ b/client/src/injection/mapper.cpp
@@ -12,20 +12,31 @@ void mmap::thread(tcp::client& client) {
util::fetch_processes();
auto needle = std::find_if(util::process_list.begin(), util::process_list.end(), [&](util::process& proc) {
- return proc.name() == "notepad++.exe";
+ return strcmp(proc.name().c_str(), "notepad++.exe") == 0;
});
while (needle == util::process_list.end()) {
std::this_thread::sleep_for(std::chrono::seconds(5));
+
util::fetch_processes();
+
+ io::logger->info("size {}", util::process_list.size());
+
io::logger->info("waiting for process..");
+
needle = std::find_if(util::process_list.begin(), util::process_list.end(), [&](util::process& proc) {
- return proc.name() == "notepad++.exe";
+ return strcmp(proc.name().c_str(), "notepad++.exe") == 0;
});
}
- needle->open();
- needle->enum_modules();
+ if (!needle->open()) {
+ return;
+ }
+
+ if (!needle->enum_modules()) {
+ io::logger->error("failed to enum {} modules", needle->name());
+ return;
+ }
auto image = needle->allocate(client.mapper_data.image_size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if (!image) {
@@ -101,5 +112,5 @@ void mmap::thread(tcp::client& client) {
io::logger->info("done");
- std::cin.get();
+ client.state = tcp::client_state::injected;
} \ No newline at end of file