Files
youssefnoob003-SindriKit/include/sindri/injection/classic/chain.h
T
sibouzitoun aea2eb6cfb Release v1.1.0: Process Injection & Architecture Hardening
- Implement complete cross-process injection engine via snd_inj_ctx_t
- Track explicit remote_entry_point for safe thread hijacking and PE execution
- Refactor standalone syscall resolvers into a unified pipeline (scan/sort)
- Perfect status code system by purging generic fallbacks in favor of highly-specific, domain-aware error codes
- Fix minor pointer validation and parsing bugs in the reflective loader
2026-06-28 14:14:54 +01:00

38 lines
1.3 KiB
C

#ifndef SND_INJECTION_CLASSIC_CHAIN_H
#define SND_INJECTION_CLASSIC_CHAIN_H
#include <sindri/common/macros.h>
#include <sindri/injection/classic/engine.h>
#include <sindri/injection/context.h>
SND_BEGIN_EXTERN_C
// Forward declare the loader context so we don't have to include the loader module
typedef struct _snd_ldr_pe_ctx snd_ldr_pe_ctx_t;
/**
* @brief Executes the full classic injection pipeline.
*
* Runs: open_target -> alloc_remote -> write_payload -> set_protections -> execute.
*
* @param ctx Initialized injection context with target_pid, payload, and proc_api set.
* @return SND_OK on success, otherwise the failing stage status.
*/
snd_status_t snd_inj_classic_shell(snd_inj_ctx_t *ctx);
/**
* @brief High-level orchestrator that links a loader context and an injection context.
*
* The user initializes both contexts with their desired API backends, and this
* chain handles the inter-context data marshaling and execution flow.
*
* @param ldr_ctx Initialized PE loader context with raw_source, mem_api, and mod_api set.
* @param inj_ctx Initialized injection context with target_pid, and proc_api set.
* @return SND_OK on success, otherwise the failing stage status.
*/
snd_status_t snd_inj_classic_pe(snd_ldr_pe_ctx_t *ldr_ctx, snd_inj_ctx_t *inj_ctx);
SND_END_EXTERN_C
#endif // SND_INJECTION_CLASSIC_CHAIN_H