-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_gen_header.py
More file actions
149 lines (143 loc) · 10.2 KB
/
_gen_header.py
File metadata and controls
149 lines (143 loc) · 10.2 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#!/usr/bin/env python3
"""Generate shellcode_bytes.h from embedded hex data."""
raw = (
"0x48 0x81 0xec 0x88 0x1 0x0 0x0 0x48 0xb8 0xf2 0xde 0xbc 0x9a 0x78 0x56 0x34 "
"0x12 0x48 0x89 0x44 0x24 0x20 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x0 0x48 0x63 "
"0x40 0x3c 0x48 0x8b 0x4c 0x24 0x20 0x48 0x3 0x1 0x48 0x89 0x84 0x24 0xd8 0x0 "
"0x0 0x0 0x48 0x8b 0x84 0x24 0xd8 0x0 0x0 0x0 0x48 0x83 0xc0 0x18 0x48 0x89 "
"0x44 0x24 0x60 0x48 0x8b 0x44 0x24 0x60 0x8b 0x40 0x10 0x48 0x8b 0x4c 0x24 "
"0x20 0x48 0x3 0x1 0x48 0x89 0x84 0x24 0x68 0x1 0x0 0x0 0xb8 0x8 0x0 0x0 0x0 "
"0x48 0x6b 0xc0 0x1 0x48 0x8b 0x4c 0x24 0x60 0x83 0x7c 0x1 0x74 0x0 0xf 0x84 "
"0x92 0x1 0x0 0x0 0xb8 0x8 0x0 0x0 0x0 0x48 0x6b 0xc0 0x1 0x48 0x8b 0x4c 0x24 "
"0x60 0x8b 0x44 0x1 0x70 0x48 0x8b 0x4c 0x24 0x20 0x48 0x3 0x1 0x48 0x89 0x44 "
"0x24 0x38 0x48 0x8b 0x44 0x24 0x38 0x83 0x78 0xc 0x0 0xf 0x84 0x64 0x1 0x0 "
"0x0 0x48 0x8b 0x44 0x24 0x38 0x8b 0x40 0xc 0x48 0x8b 0x4c 0x24 0x20 0x48 0x3 "
"0x1 0x48 0x89 0x84 0x24 0xe0 0x0 0x0 0x0 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b "
"0x40 0x10 0x48 0x89 0x84 0x24 0xe8 0x0 0x0 0x0 0x48 0x8b 0x8c 0x24 0xe0 0x0 "
"0x0 0x0 0xff 0x94 0x24 0xe8 0x0 0x0 0x0 0x48 0x89 0x84 0x24 0x90 0x0 0x0 0x0 "
"0x48 0x8b 0x44 0x24 0x38 0x8b 0x0 0x48 0x8b 0x4c 0x24 0x20 0x48 0x3 0x1 0x48 "
"0x89 0x44 0x24 0x30 0x48 0x8b 0x44 0x24 0x38 0x8b 0x40 0x10 0x48 0x8b 0x4c "
"0x24 0x20 0x48 0x3 0x1 0x48 0x89 0x44 0x24 0x58 0x48 0x83 0x7c 0x24 0x30 0x0 "
"0x75 0xa 0x48 0x8b 0x44 0x24 0x58 0x48 0x89 0x44 0x24 0x30 0xeb 0x1c 0x48 0x8b "
"0x44 0x24 0x30 0x48 0x83 0xc0 0x8 0x48 0x89 0x44 0x24 0x30 0x48 0x8b 0x44 0x24 "
"0x58 0x48 0x83 0xc0 0x8 0x48 0x89 0x44 0x24 0x58 0x48 0x8b 0x44 0x24 0x30 0x48 "
"0x83 0x38 0x0 0xf 0x84 0xa9 0x0 0x0 0x0 0x48 0x8b 0x44 0x24 0x30 0x48 0xb9 "
"0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x48 0x8b 0x0 0x48 0x23 0xc1 0x48 0x85 0xc0 "
"0x74 0x3b 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 0x18 0x48 0x89 0x84 0x24 "
"0xf0 0x0 0x0 0x0 0x48 0x8b 0x44 0x24 0x30 0x48 0x8b 0x0 0x48 0x25 0xff 0xff "
"0x0 0x0 0x48 0x8b 0xd0 0x48 0x8b 0x8c 0x24 0x90 0x0 0x0 0x0 0xff 0x94 0x24 "
"0xf0 0x0 0x0 0x0 0x48 0x8b 0x4c 0x24 0x58 0x48 0x89 0x1 0xeb 0x4f 0x48 0x8b "
"0x44 0x24 0x20 0x48 0x8b 0x0 0x48 0x8b 0x4c 0x24 0x30 0x48 0x3 0x1 0x48 0x89 "
"0x84 0x24 0xf8 0x0 0x0 0x0 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 0x18 0x48 "
"0x89 0x84 0x24 0x0 0x1 0x0 0x0 0x48 0x8b 0x84 0x24 0xf8 0x0 0x0 0x0 0x48 0x83 "
"0xc0 0x2 0x48 0x8b 0xd0 0x48 0x8b 0x8c 0x24 0x90 0x0 0x0 0x0 0xff 0x94 0x24 "
"0x0 0x1 0x0 0x0 0x48 0x8b 0x4c 0x24 0x58 0x48 0x89 0x1 0xe9 0x2c 0xff 0xff "
"0xff 0x48 0x8b 0x44 0x24 0x38 0x48 0x83 0xc0 0x14 0x48 0x89 0x44 0x24 0x38 "
"0xe9 0x8d 0xfe 0xff 0xff 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 0x50 0x48 "
"0x89 0x84 0x24 0x8 0x1 0x0 0x0 0x48 0x8b 0x44 0x24 0x60 0x8b 0x50 0x38 0x48 "
"0x8b 0x44 0x24 0x20 0x48 0x8b 0x8 0xff 0x94 0x24 0x8 0x1 0x0 0x0 0x48 0x8b "
"0x44 0x24 0x20 0x48 0x8b 0x40 0x28 0x48 0x89 0x44 0x24 0x70 0xc7 0x44 0x24 "
"0x28 0x0 0x0 0x0 0x0 0xeb 0xa 0x8b 0x44 0x24 0x28 0xff 0xc0 0x89 0x44 0x24 "
"0x28 0x48 0x8b 0x44 0x24 0x70 0x8b 0x0 0x39 0x44 0x24 0x28 0xf 0x83 0xf1 0x0 "
"0x0 0x0 0x8b 0x44 0x24 0x28 0x48 0x6b 0xc0 0x18 0x48 0x8b 0x4c 0x24 0x70 0x48 "
"0x8b 0x54 0x24 0x20 0x48 0x8b 0x12 0x48 0x39 0x54 0x1 0x18 0x74 0x2 0xeb 0xc7 "
"0x8b 0x44 0x24 0x28 0x48 0x6b 0xc0 0x18 0x48 0x8b 0x4c 0x24 0x70 0x83 0x7c "
"0x1 0x24 0x0 0x74 0x5 0xe9 0xba 0x0 0x0 0x0 0x8b 0x4 0x25 0x30 0x3 0xfe 0x7f "
"0x89 0x44 0x24 0x48 0x8b 0x44 0x24 0x48 0x83 0xe0 0x3f 0x89 0x44 0x24 0x50 "
"0x8b 0x44 0x24 0x48 0x48 0x89 0x84 0x24 0x98 0x0 0x0 0x0 0x8b 0x44 0x24 0x50 "
"0xf 0xb6 0xc8 0x48 0x8b 0x84 0x24 0x98 0x0 0x0 0x0 0x48 0xd3 0xe8 0x8b 0x4c "
"0x24 0x50 0xf7 0xd9 0x48 0x8b 0x94 0x24 0x98 0x0 0x0 0x0 0x48 0xd3 0xe2 0x48 "
"0x8b 0xca 0x48 0xb 0xc1 0x48 0x89 0x84 0x24 0x10 0x1 0x0 0x0 0x48 0x8b 0x84 "
"0x24 0x10 0x1 0x0 0x0 0x48 0x89 0x84 0x24 0x20 0x1 0x0 0x0 0x48 0x8b 0x44 "
"0x24 0x20 0x48 0x8b 0x40 0x48 0x48 0x89 0x84 0x24 0x18 0x1 0x0 0x0 0x33 0xc9 "
"0xff 0x94 0x24 0x18 0x1 0x0 0x0 0x8b 0x44 0x24 0x28 0x48 0x6b 0xc0 0x18 0x48 "
"0x8b 0x4c 0x24 0x70 0x48 0x8b 0x94 0x24 0x20 0x1 0x0 0x0 0x48 0x89 0x54 0x1 "
"0x10 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 0x48 0x48 0x89 0x84 0x24 0x28 "
"0x1 0x0 0x0 0xb9 0x1 0x0 0x0 0x0 0xff 0x94 0x24 0x28 0x1 0x0 0x0 0x90 0xe9 "
"0xf4 0xfe 0xff 0xff 0xb8 0x8 0x0 0x0 0x0 0x48 0x6b 0xc0 0x9 0x48 0x8b 0x4c "
"0x24 0x60 0x48 0x8d 0x44 0x1 0x70 0x48 0x89 0x84 0x24 0x88 0x0 0x0 0x0 0x48 "
"0x8b 0x84 0x24 0x88 0x0 0x0 0x0 0x83 0x78 0x4 0x0 0xf 0x84 0xc6 0x2 0x0 0x0 "
"0x48 0x8b 0x84 0x24 0x88 0x0 0x0 0x0 0x83 0x38 0x0 0xf 0x84 0xb5 0x2 0x0 0x0 "
"0x48 0x83 0x7c 0x24 0x20 0x0 0x74 0xc 0x48 0x8b 0x44 0x24 0x20 0x48 0x83 0x78 "
"0x30 0x0 0x75 0x11 0x48 0xc7 0x84 0x24 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xe9 "
"0xb7 0x0 0x0 0x0 0x65 0x48 0x8b 0x4 0x25 0x30 0x0 0x0 0x0 0x48 0x89 0x84 0x24 "
"0x30 0x1 0x0 0x0 0x48 0x8b 0x84 0x24 0x30 0x1 0x0 0x0 0x48 0x89 0x84 0x24 "
"0xa0 0x0 0x0 0x0 0x48 0x83 0xbc 0x24 0xa0 0x0 0x0 0x0 0x0 0x75 0xe 0x48 0xc7 "
"0x84 0x24 0xa8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xeb 0x14 0x48 0x8b 0x84 0x24 "
"0xa0 0x0 0x0 0x0 0x48 0x8b 0x40 0x60 0x48 0x89 0x84 0x24 0xa8 0x0 0x0 0x0 "
"0x48 0x8b 0x84 0x24 0xa8 0x0 0x0 0x0 0x48 0x89 0x84 0x24 0xb0 0x0 0x0 0x0 "
"0x48 0x83 0xbc 0x24 0xb0 0x0 0x0 0x0 0x0 0x75 0xe 0x48 0xc7 0x84 0x24 0x80 "
"0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xeb 0x40 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 "
"0x30 0x48 0x89 0x84 0x24 0x38 0x1 0x0 0x0 0xb8 0x1 0x0 0x0 0x0 0x48 0x69 0xc0 "
"0x88 0x0 0x0 0x0 0x4c 0x8b 0xc0 0xba 0x8 0x0 0x0 0x0 0x48 0x8b 0x84 0x24 "
"0xb0 0x0 0x0 0x0 0x48 0x8b 0x48 0x30 0xff 0x94 0x24 0x38 0x1 0x0 0x0 0x48 0x89 "
"0x84 0x24 0x80 0x0 0x0 0x0 0x48 0x8b 0x84 0x24 0x80 0x0 0x0 0x0 0x48 0x89 "
"0x44 0x24 0x40 0x48 0x83 0x7c 0x24 0x40 0x0 0xf 0x84 0xc0 0x1 0x0 0x0 0x48 "
"0x8b 0x44 0x24 0x40 0x48 0x8b 0x4c 0x24 0x20 0x48 0x8b 0x9 0x48 0x89 0x48 "
"0x30 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 0x40 0x48 0x89 0x84 0x24 0x40 "
"0x1 0x0 0x0 0x48 0x8b 0x4c 0x24 0x40 0xff 0x94 0x24 0x40 0x1 0x0 0x0 0x48 0x8b "
"0x84 0x24 0x88 0x0 0x0 0x0 0x8b 0x0 0x48 0x8b 0x4c 0x24 0x20 0x48 0x3 0x1 "
"0x48 0x89 0x84 0x24 0x48 0x1 0x0 0x0 0x48 0x8b 0x84 0x24 0x48 0x1 0x0 0x0 "
"0x48 0x8b 0x40 0x18 0x48 0x89 0x44 0x24 0x68 0xeb 0xe 0x48 0x8b 0x44 0x24 "
"0x68 0x48 0x83 0xc0 0x8 0x48 0x89 0x44 0x24 0x68 0x48 0x83 0x7c 0x24 0x68 0x0 "
"0x74 0x35 0x48 0x8b 0x44 0x24 0x68 0x48 0x83 0x38 0x0 0x74 0x2a 0x48 0x8b 0x44 "
"0x24 0x68 0x48 0x8b 0x0 0x48 0x89 0x84 0x24 0x50 0x1 0x0 0x0 0x45 0x33 0xc0 "
"0xba 0x1 0x0 0x0 0x0 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x8 0xff 0x94 0x24 "
"0x50 0x1 0x0 0x0 0x90 0xeb 0xb5 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 0x20 "
"0x48 0x8b 0x0 0x48 0x89 0x44 0x24 0x78 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 "
"0x20 0x48 0x39 0x44 0x24 0x78 0x74 0x41 0x48 0x8b 0x44 0x24 0x78 0x48 0x89 "
"0x84 0x24 0xb8 0x0 0x0 0x0 0x48 0x8b 0x84 0x24 0xb8 0x0 0x0 0x0 0x48 0x8b 0x4c "
"0x24 0x40 0x48 0x39 0x48 0x38 0x75 0x12 0x48 0x8b 0x84 0x24 0xb8 0x0 0x0 0x0 "
"0x48 0xc7 0x40 0x38 0x0 0x0 0x0 0x0 0xeb 0xf 0x48 0x8b 0x44 0x24 0x78 0x48 "
"0x8b 0x0 0x48 0x89 0x44 0x24 0x78 0xeb 0xaf 0x48 0x83 0x7c 0x24 0x40 0x0 0x74 "
"0x14 0x48 0x83 0x7c 0x24 0x20 0x0 0x74 0xc 0x48 0x8b 0x44 0x24 0x20 0x48 0x83 "
"0x78 0x38 0x0 0x75 0x5 0xe9 0x97 0x0 0x0 0x0 0x65 0x48 0x8b 0x4 0x25 0x30 0x0 "
"0x0 0x0 0x48 0x89 0x84 0x24 0x58 0x1 0x0 0x0 0x48 0x8b 0x84 0x24 0x58 0x1 0x0 "
"0x0 0x48 0x89 0x84 0x24 0xc0 0x0 0x0 0x0 0x48 0x83 0xbc 0x24 0xc0 0x0 0x0 0x0 "
"0x0 0x75 0xe 0x48 0xc7 0x84 0x24 0xc8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xeb 0x14 "
"0x48 0x8b 0x84 0x24 0xc0 0x0 0x0 0x0 0x48 0x8b 0x40 0x60 0x48 0x89 0x84 0x24 "
"0xc8 0x0 0x0 0x0 0x48 0x8b 0x84 0x24 0xc8 0x0 0x0 0x0 0x48 0x89 0x84 0x24 "
"0xd0 0x0 0x0 0x0 0x48 0x83 0xbc 0x24 0xd0 0x0 0x0 0x0 0x0 0x75 0x2 0xeb 0x2c "
"0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x40 0x38 0x48 0x89 0x84 0x24 0x60 0x1 0x0 "
"0x0 0x4c 0x8b 0x44 0x24 0x40 0x33 0xd2 0x48 0x8b 0x84 0x24 0xd0 0x0 0x0 0x0 "
"0x48 0x8b 0x48 0x30 0xff 0x94 0x24 0x60 0x1 0x0 0x0 0x90 0x48 0x8b 0x84 0x24 "
"0x68 0x1 0x0 0x0 0x48 0x89 0x84 0x24 0x70 0x1 0x0 0x0 0x45 0x33 0xc0 0xba 0x1 "
"0x0 0x0 0x0 0x48 0x8b 0x44 0x24 0x20 0x48 0x8b 0x8 0xff 0x94 0x24 0x70 0x1 "
"0x0 0x0 0x48 0x8b 0x44 0x24 0x20 0xc6 0x40 0x8 0x1 0x48 0x81 0xc4 0x88 0x1 "
"0x0 0x0 0xc3"
)
tokens = raw.split()
bv = [int(t, 16) for t in tokens]
lines = []
lines.append("#pragma once")
lines.append("// ============================================================================")
lines.append("// shellcode_bytes.h - Raw shellcode bytes extracted from original binary")
lines.append("// Original: sub_140003E50, size 0x67D (1661 bytes)")
lines.append("//")
lines.append("// Contains a single placeholder value (0x123456789ABCDEF2) at offset 9")
lines.append("// which is patched with the address of a ShellcodeContext structure before")
lines.append("// injection into the target process.")
lines.append("// ============================================================================")
lines.append("")
lines.append("#include <cstdint>")
lines.append("")
lines.append(f"static constexpr size_t SHELLCODE_SIZE = 0x{len(bv):X}; // {len(bv)} bytes")
lines.append("")
lines.append("static constexpr size_t PLACEHOLDER_OFFSET = 9;")
lines.append("")
lines.append("alignas(16) static const uint8_t g_ShellcodeBytes[SHELLCODE_SIZE] = {")
for i in range(0, len(bv), 16):
chunk = bv[i:i+16]
hex_str = ", ".join(f"0x{b:02X}" for b in chunk)
comment = f" // 0x{i:04X}"
if i + 16 < len(bv):
lines.append(f" {hex_str},{comment}")
elif i + 16 == len(bv):
lines.append(f" {hex_str},{comment}")
else:
lines.append(f" {hex_str} {comment}")
lines.append("};")
lines.append("")
with open(r"C:\Users\Amru\code_3-2-2026\shellcode_bytes.h", "w") as f:
f.write("\n".join(lines))
print(f"Generated shellcode_bytes.h with {len(bv)} bytes")