Estoy escribiendo una clase para manejar la seguridad en mi ejecutable (verificando publicaciones seriadas, verificación de fecha de prueba, etc.). Después de compilar el ejecutable (incluso en Release build, con toda la generación de depuración y RTTI desactivadas), cuando lo abro en el Bloc de notas y busco el nombre del método en los datos brutos, puedo ver todos los nombres de los métodos que ensamblan mi clase . No hay miembros publicados en ninguna clase en la base de código.Delphi: Impedir que los nombres de los métodos aparezcan en ejecutables
Esto es malo para la protección. ¿Hay alguna manera de decirle a Delphi que no almacene nombres de métodos en el ejecutable? ¿Por qué los almacena en absoluto si no se necesita RTTI y no hay explosión de COM? ¿Hay alguna opción de compilación que controle esto?
Puede ser que CUALQUIER método de CUALQUIER clase en el ejecutable de destino se almacene dentro del ejecutable en forma de texto. Al parecer, esto se debe a la prolongada RTTI está activada de forma predeterminada para todas las clases en Delphi 2010.
@FractalizeR -. no toman a mal pero si basa (parte de) su seguridad en la ofuscación, está tomando el enfoque equivocado. Sé poco o nada sobre la seguridad, pero lo suficiente como para saber que no debe intentar dispositivo su propio esquema 'irrompible'. Sugiero que busque una solución comercial o de código abierto para manejar el aspecto de seguridad de su aplicación. –
Si desea ver qué símbolos (por ejemplo, nombres de procedimientos y funciones) permanecen en su exe, una buena prueba sería cargar el exe en Ida (The Interactive Disassembler): http://www.hex-rays.com/idapro/versiones de evaluación y freeware están disponibles. – Remko
@Lieven Estoy planeando utilizar Themida protector sobre mi exe, pero incluso en este caso uno tiene que eliminar toda la información excesiva de exe para reforzar la protección. –