I have a rather simple project that performs file backups at regular timed intervals.
There are check boxes for Monday, Tuesday etc.
There are properties that correspond: bool RunOnMonday, etc.
Checking the checkbox changes the property
Changing the property check/unchecks the checkbox.
The settings are saved in the registry and when read back at program launch they set the properties.
All this works great when the application in not obfuscated.
The obfuscated version can save settings, but not load them.
It turns out that the property is NOT obfuscating the 'get' method, but is dropping the set method entirely
Am I just stupid? Doesn't this attribute read like it is supposed to keep the entire property from being obfuscated? Exclude true, apply to members true.
Expand|Select|Wrap|Line Numbers
- [Category("CustomValues"),
- Obfuscation(Exclude = true, StripAfterObfuscation = false, ApplyToMembers = true)]
- public bool RunOnMonday
- {
- set
- {
- chkMonday.Checked = value;
- }
- get
- {
- return chkMonday.Checked;
- }
- }
In the Dofuscator project the "Honor Obfuscation Attributes" property is set to true.
If I uncomment the attribute for the entire assembly it gets honored, meaning the entire assembly is NOT obfuscated and the application runs fine. But then all my code is visible to the world.
I should be able to just keep the one property unobfuscated for both the get and set methods and can't seem to figure out how.
Does anyone else have some experience with Dotfuscator or obfuscation in general that can lend me a hand?