You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
> [!WARNING]
4
4
> **Beta Testing Stage** – This repository is currently in beta. Expect bugs, incomplete features, and breaking changes. Use at your own risk.
5
5
6
-
EPIC (*Extensible Position Independent Code*) – PIC shellcode development and building framework designed for developer experience, predictability, and modularity. *Write code, EPIC will take care of the rest!*
6
+
EPIC (*Extensible Position Independent Code*) – PIC shellcode development and building toolkit designed for developer experience, predictability, and modularity. *Write code, EPIC will take care of the rest!*
7
7
8
8

9
9
@@ -43,7 +43,7 @@ epic init project/
43
43
44
44
# 3. Compile PIC code
45
45
mkdir output/
46
-
epic pic-compile project/ -o output/ -m hello
46
+
epic pic-compile project/ -o output/
47
47
48
48
# 4. Link PIC code into standalone payload.bin
49
49
epic pic-link output/ -o output/ -m hello
@@ -119,6 +119,7 @@ Compiles your project into a standard non-PIC executable (called a "monolith" in
119
119
Flags:
120
120
121
121
-`-o / --output <path>`[required] - Output path for the monolith executable.
@@ -130,6 +131,7 @@ The following optional flags can be used with any command:
130
131
-`--mingw-w64-objcopy <path>` – Specify path to MinGW-w64 objcopy.
131
132
-`--no-banner` - Disable EPIC banner.
132
133
-`--no-color` - Disable colored output.
134
+
-`--version / -v` – Show EPIC version.
133
135
134
136
---
135
137
@@ -365,7 +367,7 @@ To work around this, I use the MinGW-w64 toolchain (`gcc`) with a custom linker
365
367
366
368
### Do I have to manually align the stack before calling Windows API?
367
369
368
-
No, MinGW handles stack alignment automatically. However, you must mark every Windows API function with the `WINAPI` macro.
370
+
No, MinGW handles stack alignment and required calling convention automatically. For x86_64 you can even omit the default `WINAPI` macro before the WinAPI function header. It’s harmless to include but not required for correctness.
369
371
370
372
### Why is the entry point called `__main_pic` and not simply `main()`?
0 commit comments