-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathsdk.h
More file actions
64 lines (43 loc) · 1.45 KB
/
sdk.h
File metadata and controls
64 lines (43 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#pragma once
#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
__attribute__((sysv_abi))
void destroy_code(int32_t len);
#define VIRTUALIZATION_MARKER_END 0xeef021ee
#define HIDDEN_CODE_END 0xe4c41970
#define BYTECODE_END 0xc0deedddc0deeddd
#ifdef ENABLE_PROTECTION
#define JMP_OUT(id) \
__asm volatile(".4byte 0x65646f63\n"); \
__asm volatile(".4byte 0x6b72616d\n"); \
__asm volatile(".4byte 0x" #id "\n"); \
__asm volatile("jmp $-0xAAAA\n");
#define PACKER_PROTECTION_START \
JMP_OUT(dec00000)
#define PACKER_PROTECTION_END \
__asm volatile(".4byte 0xe4c41970\n"); \
destroy_code(16);
#define ENCRYPTION_PROTECTION_START \
JMP_OUT(dec41970)
#define ENCRYPTION_PROTECTION_END \
__asm volatile(".4byte 0xe4c41970\n"); \
destroy_code(16);
#define VIRTUALIZATION_PROTECTION_START \
JMP_OUT(def02145)
#define VIRTUALIZATION_PROTECTION_END \
__asm volatile(".4byte 0xeef021ee\n")
#define MAX_PROTECTION_START \
JMP_OUT(def02777)
#define MAX_PROTECTION_END \
__asm volatile(".4byte 0xeef021ee\n")
#else
#define PACKER_PROTECTION_START
#define PACKER_PROTECTION_END
#define ENCRYPTION_PROTECTION_START
#define ENCRYPTION_PROTECTION_END
#define VIRTUALIZATION_PROTECTION_START
#define VIRTUALIZATION_PROTECTION_END
#define MAX_PROTECTION_START
#define MAX_PROTECTION_END
#endif