Understanding the Windows DLL injection flaws