На vx.netlug.org есть статья Windows Hooks.Part 1 и Part 2 Там описывается написание кейлоггера на асме и приводиться его исходник