J'essaie de réduire, d'optimiser et d'obfusquer mon application avec ProGuard. Tout fonctionne bien sauf les annotations GSON. J'ai quelque chose comme ça dans ma demande:Est-il possible d'obscurcir les chaînes dans les annotations GSON lors de l'utilisation de ProGuard?
@Expose
@SerializedName("testbla")
private String test;
Et quand im en utilisant ProGuard il se transforme en quelque chose comme ceci:
@com.google.a.a.a
@c(a="testbla")
private String a;
Donc, il y a une sorte de faux-fuyants, mais le « testbla » est toujours lisible . J'ai lu dans la documentation que les constantes String ne sont pas obfusquées par ProGuard (par exemple, https://www.guardsquare.com/en/proguard/faq#encrypt). Néanmoins, je veux obscurcir ces cordes s'il y a une option. Donc, il y a une possibilité alors s'il vous plaît faites le moi savoir!
Merci pour votre aide!
Je suppose que cela n'a pas de sens. Comment Gson sait-il comment mapper les propriétés JSON et vos champs POJO? ProGuard le fait bien. Si vous voulez vraiment les obscurcir, vous devez ré-implémenter votre propre 'ReflectiveTypeAdapterFactory'. –
Je ne suis pas sûr à propos d'Android, mais dans "plain vanilla" Java, vous pouvez également créer un chargeur de classe personnalisé afin d'appliquer un décryptage pour les classes qui ont été traitées avec ProGuard. C'est vraiment facile à implémenter en Java, et probablement Android. –