How can we help you today? How can we help you today?
Simon C
Hi smuda, jasonauk. I've just had a look at this, and 6.6.1.31 has the same behaviour as 6.6.2.35: - by default, FlagsAttribute is removed from enums by pruning if they aren't publically accessible on a dll. This is because it doesn't affect the operation of the attribute (apart from ToString) and gives information away about how the attribute is meant to be used - DoNotPruneAttribute specified on a type stops all attributes from being removed from that type, including FlagsAttribute - Obfuscation does not affect FlagsAttribute The fix that went into 6.6.1.31 was that SA was removing attributes even when DoNotPrune was specified. If this is different to what you are experiencing, do let us know. In particular, project settings or exclusions and whether it's a dll or an exe could be affecting the behaviour. If that is the case, please do email support and they'll have a closer look at what's going on. With regards to the current behaviour, what do you think SA should do? Should it not remove FlagsAttribute at all (and thus leak information about how it is used), should it try and work out when ToString is used on an enum, similar to the heuristics we use to guess when an enum shouldn't be obfuscated, or some other behaviour? / comments
Hi smuda, jasonauk. I've just had a look at this, and 6.6.1.31 has the same behaviour as 6.6.2.35: - by default, FlagsAttribute is removed from enums by pruning if they aren't publically accessible...
0 votes