Red Gate forums :: View topic - Public properties of merged DLLs don't get obfuscated
Return to www.red-gate.com RSS Feed Available

Search  | Usergroups |  Profile |  Messages |  Log in  Register 
Go to product documentation
SmartAssembly 6
SmartAssembly 6 forum

Public properties of merged DLLs don't get obfuscated

Search in SmartAssembly 6 forum
Post new topic   Reply to topic
Jump to:  
Author Message
claus.net



Joined: 26 May 2011
Posts: 6

PostPosted: Tue Apr 29, 2014 9:45 am    Post subject: Public properties of merged DLLs don't get obfuscated Reply with quote

According to your documentation it should be possible to obfuscate public properties of merged DLLs as they are turned to "internal".

But this doesn't happen in my project. They remain "public" and don't get obfuscated, only the class name itself is obfuscated but this isn't enough.

What could be the reason for this behavior?
Back to top
View user's profile Send private message
Chris.Allen



Joined: 12 Mar 2009
Posts: 594

PostPosted: Wed Apr 30, 2014 11:16 am    Post subject: Reply with quote

Could you have any of these properties labelled as "internals-visible-to "?
Back to top
View user's profile Send private message
claus.net



Joined: 26 May 2011
Posts: 6

PostPosted: Wed Apr 30, 2014 11:25 am    Post subject: Reply with quote

No, they aren't labelled that way.
Back to top
View user's profile Send private message
Chris.Allen



Joined: 12 Mar 2009
Posts: 594

PostPosted: Wed Apr 30, 2014 1:26 pm    Post subject: Reply with quote

Put smartassembly in debug mode and we can inspect the resulting log. It shouls tell us why it has excluded anything form obfuscation.


http://documentation.red-gate.com/display/SA6/Log+file+for+SmartAssembly
Back to top
View user's profile Send private message
claus.net



Joined: 26 May 2011
Posts: 6

PostPosted: Wed Apr 30, 2014 3:41 pm    Post subject: Reply with quote

I generated the log.

The relevant properties aren't listed in the log file.


The only entries for a relevant class (as an example) I could find in the log are the following:

2014-04-30 15:19:05,045 TRACE SmartAssembly.ObfuscationAnalyzer: Method [NAMESPACE]NAMESPACE.Accommodation::instance System.Void .ctor(valuetype [mscorlib]System.Guid) excluded from obfuscation: RtSpecialName

2014-04-30 15:19:05,045 TRACE SmartAssembly.ObfuscationAnalyzer: Method [NAMESPACE]NAMESPACE.Accommodation::instance System.Void .ctor() excluded from obfuscation: RtSpecialName

The properties of "Accommodation" stay public and don't get obfuscated.
Back to top
View user's profile Send private message
Chris.Allen



Joined: 12 Mar 2009
Posts: 594

PostPosted: Thu May 01, 2014 1:50 pm    Post subject: Reply with quote

So, my reading of this is that smartassemlby has excluded this from processing simply because it has been labelled with rtspecialname- indicating it has significance at the global level.

If you look at the IL for that method- has it been labelled with rtspecialname?
Back to top
View user's profile Send private message
claus.net



Joined: 26 May 2011
Posts: 6

PostPosted: Mon May 05, 2014 1:11 pm    Post subject: Reply with quote

Yes, the two constructors are labelled with "rtspecialname".

Nothing else in the class, though.
Back to top
View user's profile Send private message
RobotGizmo



Joined: 26 May 2014
Posts: 1

PostPosted: Mon May 26, 2014 7:18 pm    Post subject: Reply with quote

Are there any updates on this? We're having the exact same issue, our merged assembly is still marked as public.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic All times are GMT + 1 Hour
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group