No es tan dificil hacer un binder. Primero utilizas GetBinaryType para verificar que sea un archivo PE. Luego extraes el icono prederminado usando la función ExtractIcon y lo guardas.
Una vez hecho esto agregas el archivo que querés ocultar al final de tu ejecutable y guardas la posición de inicio en alguna parte de tu programa, podrías crear una sección nueva pero a menudo los AVs lo detectan .
Para terminar le cambias el icono al programa usando las funciones BeginUpdateResource y UpdateResource.
También podrías cifrar el ejecutable que ocultas para que sea menos alevoso. Luego pongo un ejemplo de esto último.
Cabe destacar que es mucho más divertido hacer todo lo anterior pero leyendo directamente el ejecutable , sin usar las funciones de Windows. Por eso es muy necesario conocer la estructura que nombraba en un post anterior.
Saludos.