uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Eckart de Castilho <richard.eck...@gmail.com>
Subject Re: Uima and Proguard obfuscation
Date Sun, 28 Jul 2013 10:37:30 GMT

uimaFIT uses a lot of reflection to inject parameter values. 
I can well imagine that you have to be quite careful here.
Probably better not touch annotations and annotated fields at all
and restrict obfuscation to logic, such as the process() method.

It may be even better to extract the core logic that you want to
obfuscate entirely from the UIMA components and leave the UIMA
wrappers for your logic unobfuscated.

That said, the obfuscator may have "optimized" 
> private String outputDirectory

away, because the value is never changed in the code known
to the obfuscator. It cannot know that uimaFIT changes this
field using reflection.

-- Richard

Am 28.07.2013 um 12:27 schrieb swirl <swirlobt@yahoo.com>:

> Hi!
> I was trying to create a obfuscated API library based on Uima/Uimafit.
> My project was in Maven so I used the Proguard plugin: 
> http://pastebin.com/T3N3JgVv
> When tried to use the obfuscated jar in a separate application, an Uima 
> parameter "PARAM_OUTDIR" was strangely nullified. 
> For an un-obfuscated jar, looking through a decompiler:
> http://pastebin.com/JnQkV2mJ
> When I looked at the jar through a decompiler, this is what I see:
> http://pastebin.com/B0ZJpaFk
> Notice the line "private String outputDirectory;" is totally removed in the 
> obfuscated jar.
> Is Proguard compatible with Uima/Uimafit? 
> Is my plugin config incorrect?

View raw message