I made a repository of Windows Shellcode runners: cpp-shellcode.
Here are some introductions:

cpp-shellcode is A repository of Windows Shellcode runners. The applications load and execute Shellcode using various API calls or techniques.
❤️ THANKS @go-shellcode
The available Shellcode runners include:

  1. CreateFiber
  2. CreateRemoteThread
  3. CreateThread
  4. EtwpCreateEtwThread
  5. NtQueueApcThreadEx-Local

CreateFiber

This application leverages the Windows CreateFiber function from the Kernel32.dll to execute shellcode within this application’s process. This is usefull when you want to avoid remote process injection and want to avoid calling CreateThread.

CreateRemoteThread

This application leverages the Windows CreateRemoteThread function from Kernel32.dll to execute shellocde in a remote process. The application requires that the target process to inject into is already running. The program default injecting Explorer.exe

CreateThread

This application leverages the Windows CreateThread function from Kernel32.dll to execute shellcode within this application’s process. This is usefull when you want to avoid remote process injection.

EtwpCreateEtwThread

This application leverages the Windows EtwpCreateEtwThread function from ntdll.dll to execute shellcode within this application’s process. Original work by TheWover. This is usefull when you want to avoid remote process injection.

NtQueueApcThreadEx-Local

This application uses the undocumented NtQueueApcThreadEx to create a “Special User APC” in the current thread of the current process to execute shellcode. Because the shellcode is loaded and executed in the current process, it is “local”. This same technique can be used for a remote process. NOTE: This will only work on Windows 7 or later. Reference APC Series: User APC API.