Aquí no se ha planteado ningún tema ilegal. El desarrollo de una hacktool y el desarrollo de algoritmos para "ocultar" un software no es ilegal, ahora, enviarle un software a otra persona para robarle información personal, eso sería lo ilegal.
Por "creación" de un keylogger te refieres a como crearlo mediante programas de terceros, o te estás refiriendo a cómo desarrollar el keylogger por ti mismo desde cero utilizando en "X" lenguaje?.
En caso de ser lo segundo, formula tus preguntas en la sección apropiada para dicho lenguaje de programación que sea.
Si estás programando en C# o Vb.Net, puedes aprovechar un algoritmo completo de keylogger que desarrollé en Vb.Net utilizando técnicas modernas (RawInput):
Eso sería la base del programa, el core, el corazón, la herramienta necesaria para llevar a cabo el diseño de un Keylogger.
PD: Leyendo los comentarios del código fuente podrías aprender algo.
Sobre como "ocultar" el keylogger, la frase se puede interpretar de varias maneras, como por ejemplo ocultar la ventana, ocultar el proceso en la lista de procesos del administrador de tareas, o evadir la heurística de los algoritmos de los AntiVirus (aunque eso no sería "ocultar"), para esto último practicamente se poco.
Intenta ser más concreto, y sobre todo indicar cual es el lenguaje en el que estás trabajando; si no estás utilizando ningún lenguaje entonces para la "ocultación" puedes recurrir a cripters/packers de terceros.
Saludos