Assembly is the foundation for all kinds of applications, from mobile to desktop. This course is the full collection of x86 (32/64 bits) Assembly Adventures. It covers everything from the real basics to being an independent (and tough) Assembly programmer.
With that assembly knowledge we can create very small and powerful shellcodes, and learn how to inject through buffer/heap overflows while bypassing several security mechanisms (Linux/Windows).