How can we help you today? How can we help you today?
Paul.Martin
The option to use "Automatic reporting (without UI)" is mostly designed for use where a dialog box might not be appropriate, for instance a command line tool or a Windows service. / comments
The option to use "Automatic reporting (without UI)" is mostly designed for use where a dialog box might not be appropriate, for instance a command line tool or a Windows service.
0 votes
I've sent you a PM. No the field name managling shouldn't make any different in this case. / comments
I've sent you a PM. No the field name managling shouldn't make any different in this case.
0 votes
If you (or anyone else reading this forum) want it: There is a full list of all the 15 attributes you can apply in the SmartAssembly.Attributes.cs or SmartAssembly.Attributes.vb which are in the "Attributes" folder where you installed SmartAssembly ("C:\Program Files\Red Gate\SmartAssembly 5\Attributes" by default). DoNotObfuscateAttribute - Don't rename the element (class, method, field, etc) DoNotObfuscateTypeAttribute - Don't rename the type or any element within it (method, field, nested class, etc) ObfuscateToAttribute( string ) - Obfuscate the element to the name you specify ObfuscateNamespaceToAttribute( string ) - Obfuscate the namespace of the type to the name you specify DoNotPruneAttribute - Don't prune the element DoNotPruneTypeAttribute - Don't prune the type or any element within it. DoNotObfuscateControlFlowAttribute - Don't change the IL code within a method ObfuscateControlFlowAttribute - In the project setting page you can specify two different levels of control flow obfuscation. Methods with this attribute will have control flow obfuscation applied at the level you specify for "flagged" methods, other methods will have the standard level applied, unless they have [DoNotObfuscateControlFlow] applied. DoNotCaptureVariablesAttribute - Don't capture variable information for the Automatic Error reporting from this method DoNotCaptureFieldsAttribute - Don't capture field information for the Automatic Error reporting from this type DoNotSealTypeAttribute - Don't seal this class ReportExceptionAttribute - Effectively adds a try/catch/ReportException block to the method. This means that you only get the part of the stack trace between the error and this method in the Error Report. Benefit is that the stack is not fully unwound so that you can continue with the control flow in the calling method. DoNotEncodeStringsAttribute - Don't encode the strings in the element this is applied to. EncodeStringsAttribute - Do encode the strings in the element this is applied to. ExcludeFromMemberRefsProxyAttribute - Don't use Member Reference Proxy for this element. / comments
If you (or anyone else reading this forum) want it: There is a full list of all the 15 attributes you can apply in the SmartAssembly.Attributes.cs or SmartAssembly.Attributes.vb which are in the "A...
0 votes
You can obfuscate any pure .NET assembly, you just need to create a new SmartAssembly project for the plugin assembly and build it with the protection you want to apply. If your plugin is a library (.dll) then SmartAssembly will leave all public interfaces, types and methods visible. If your plugin is an executable (.exe) then SmartAssembly will obfuscate (effectively hiding) everything by default. You can override the default behavior by using the <ExcludePublicMembers> attribute in the SmartAssembly project file (*.saproj). This enables you to treat EXE files in a similar way to DLL files. To exclude public members from obfuscation, specify a value of '1' for the project file: &lt;Obfuscation ExcludePublicMembers="1" Obfuscate="1"&gt;... &lt;/Obfuscation&gt; As long as your main exe references the plugin you can embed or merge the plugin. If you don't have a reference to the plugin in the executable and can't add one (for instance if you want dynamically choose which plugins to load at runtime) then it is not currently possible to embed or merge the the plugin using SmartAssembly. If you can't embed the plugin you can manually do it, see http://www.codeproject.com/KB/DLL/EmbedAssemblyAsResource.aspx, although this is more of a pain to do and doesn't do any encryption or compression on the embedded plugin assembly. / comments
You can obfuscate any pure .NET assembly, you just need to create a new SmartAssembly project for the plugin assembly and build it with the protection you want to apply. If your plugin is a library...
0 votes
Yes, in the SmartAssembly settings specify to create a PDB file and make sure the Obfuscate document URLs check box is unticked. If you then build it and run, then just use Attach to Process in your debugger. / comments
Yes, in the SmartAssembly settings specify to create a PDB file and make sure the Obfuscate document URLs check box is unticked. If you then build it and run, then just use Attach to Process in you...
0 votes