Alright, that was a ton of work, but hopefully you learned something. Now let's use a pre-built shellcode generator to do this for us, like MSFvenom.
Modify your Python generation script to use MSFvenom to generate shellcode, save it to the header files, and then compile the C with the shellcode.
Test this using 64-bit reverse shell shellcode and your previously created activate/catch script.
With MSFvenom and shellcode execution working, we are a pretty fully-featured shellcode runner right now. Unfortunately, shellcode execution still looks pretty odd when random processes that have been dormant forever try to call out, and if application whitelisting is implemented, you're gonna get stopped. For that, you're going to need to figure out shellcode injection. That is really hard though, so we are going to save it for the end of this course.