https://github.com/Cracked5pider/ShellcodeTemplate

Preface

Notes from hasherezade

We can create PIC shellcode if the .text section of the PE or object file is self contained; that is, all instructions are relative to that section. Everything must be inline, that is to say, local functions, locally defined variables, etc. No global variables (that stuff is stored in another PE section).

For external dependencies/libraries, we will need to load them in manually. PEB→Ldr→InMemoryModuleList, find kernel32 to find LoadLibraryA and GetProcAddress.

Code Analysis

Include
|__Core.h
|__Macros.h
|__Utils.h
|__Win32.h

Source
|__Entry.c
|__Utils.c
|__Win32.c
|__Asm
	 |__x64
	    |__asm.s
	 |__x86
	    |__asm.s

Include

Source