Przeczytałem na stronie narzędzia apt, że można utworzyć AnnotationProcessors na generate new derived files (source files, class files, deployment descriptors, etc.). Szukam na to przykładu.Jak używać adnotacji java do modyfikowania kodu źródłowego przed ostateczną kompilacją?
Moja potrzeba kodować wszystkie adnotacją ciągi w czasie kompilacji, dzięki czemu czytanie plik klasy nie zezwala przeczytaniu statyczne ciągi:
kod bazowy:
String message = (@Obfuscated "a string that should not be readable in class file");
Powinny być przerobione jak:
String message = new ObfuscatedString(new long[] {0x86DD4DBB5166C13DL, 0x4C79B1CDC313AE09L, 0x1A353051DAF6463BL}).toString();
Na podstawie statycznego ObfuscatedString.obfuscate(String)
method of the TrueLicense framework procesor może wygenerować kod zastępujący łańcuch z adnotacjami. Rzeczywiście, ta metoda generuje ciąg "new ObfuscatedString ([numeric_code]). ToString()". W czasie wykonywania metoda toString() z ObfuscatedString może zwrócić ciąg znaków zakodowany w kodzie numerycznym.
Każdy pomysł, jak napisać metodę process() AnnotationProcessor, aby edytować kod z adnotacjami?
Dzięki z góry,
To ** ** dokładnie co zrobić obfuscators ** po ** skompilowałeś swój kod źródłowy. Użyj odpowiedniego narzędzia do zadania. –
Program Proguard nie obsługuje obfuskacji ciągów. Czy znasz innych darmowych obfuscatorów obsługujących tę funkcję? – Martin