Supongo que hablas de desarrollo de malware para Windows.
Quien no.
Ahi te va.
Lista de imprescindibles:
Loader de Windows. Linker de Windows. Compiladores, ensambladores y enlazadores. Ejecutables. Shellcodes. Formato PE/COFF. Estructuras TEB y PEB. Enlazadores dinamicos. Enlazadores estaticos. Lenguaje ensablador. Lenguaje C. Ensamblador "inline". Relocalizaciones. Librerias dinamicas. APIs.
Si logras manejar a un nivel medio-avanzado todos los conceptos anteriormente mencionados, tarde o temprano conectaras los puntos y podras hacer lo que quieras.
Aunque estaras demasiado harto y te daras cuenta de que en realidad no es tan excitante aunque habras aprendido la leccion.