que he leído de la página de la herramienta apta que uno puede crear AnnotationProcessors a generate new derived files (source files, class files, deployment descriptors, etc.). Estoy buscando por ejemplo para hacerlo.¿Cómo usar las anotaciones Java para modificar el código fuente antes de la compilación final?
Mi necesidad es codificar todas las cadenas anotados en tiempo de compilación, por lo que la lectura del archivo de clase no permite la lectura de las cadenas estáticas:
código Base:
String message = (@Obfuscated "a string that should not be readable in class file");
deberán ser reciclados como:
String message = new ObfuscatedString(new long[] {0x86DD4DBB5166C13DL, 0x4C79B1CDC313AE09L, 0x1A353051DAF6463BL}).toString();
Basado en el ObfuscatedString.obfuscate(String)
method of the TrueLicense framework estático, el procesador puede generar el código para reemplazar la cadena anotada. De hecho, este método genera la cadena "new ObfuscatedString ([numeric_code]). ToString()". En tiempo de ejecución el método toString() de ObfuscatedString es capaz de devolver la cadena codificada en el código numérico.
Alguna idea sobre cómo escribir el método() de la AnnotationProcessor para editar el código anotado proceso?
Gracias de antemano,
Eso es exactamente ** ** ** lo hacen ofuscadores después ** has compilado tu código fuente. Use la herramienta correcta para el trabajo. –
Proguard no es compatible con la ofuscación de cadenas. ¿Conoces algunos otros ofuscadores libres que manejan esta característica? – Martin