¿Está buscando proteger el código debido a un requisito de propiedad intelectual que tiene la persona / compañía para la que está escribiendo el código? Entonces, supongo que escribirlo en C podría hacer que sea un poco más difícil de descompilar, pero alguien con la motivación y las habilidades requeridas lo resolvería mediante ingeniería inversa utilizando muchos de las herramientas disponibles; quizás un disemador como IDA: Wikipedia - Desensamblador interactivo
Por otro lado, si está buscando ocultar la lógica de su aplicación para dificultar la búsqueda de vulnerabilidades, está siguiendo el camino de "seguridad por oscuridad", que no tiene ningún valor desde la seguridad de la aplicación. perspectiva. Como dijo wireghoul, esta lógica implicaría que todas las aplicaciones de código cerrado serían seguras y que el software de código abierto sería un desastre. De hecho, ambos tienen las mismas familias de vulnerabilidades y fallas que son explotables.
En su lugar, lo invitaría a invertir algo de tiempo en las Guías de práctica de codificación segura y los Conceptos básicos de seguridad. Una rápida búsqueda en Google sobre esos temas lo guiará y también hay mucha buena literatura sobre este tema.