How can we help you today? How can we help you today?
ApocDev

Activity overview

Latest activity by ApocDev

Simon C wrote: Just to be clear, you're specifying ExcludePublicMembers on dlls that are being merged in, and you want public members of those merged dlls to still be accessible in the resulting exe? Correct. We do some runtime compiling of C# files (more or less a plugin system) so we expose quite a bit of our API via the .exe, instead of a stack of dlls. This also ties into the IronPython usage we have for other things. We tried marking the main exe with ExcludePublicMembers as well, but that had no effect on anything. Simon C wrote: Is this because those members are accessed from other assemblies once they are in the merged exe, or as a shortcut to exclude them from obfuscation? What was the previous SA version you were using? Yes to both. As I explained above, its to provide support for our runtime compiling, and IronPython usage. We also use it as a shortcut to exclude any public classes/members from obfuscation. When you start providing a few hundred public classes, that grows daily (mostly wrappers around other things to hide away implementation details), it becomes incredibly difficult to maintain the attributes for manual exclusion. (This also applies to any class members, or methods) Our previous project has been reverted back to v5.5 of SA to ensure we're not breaking anything for end-users. (At the risk of less protection) As far as I'm aware, 6.2 was working as intended as well, and 6.5 was hit and miss. (We assumed it had something to do with clashing names, so we shrugged it off as a minor issue, and just tagged those classes manually) With 6.6, its almost entirely ignored on every level. I'm positive that 5.5 is working, and 90% sure 6.2 was working. (Again, 6.5 was hit and miss) / comments
Simon C wrote: Just to be clear, you're specifying ExcludePublicMembers on dlls that are being merged in, and you want public members of those merged dlls to still be accessible in the resulting...
0 votes
ExcludePublicMembers no longer works?
In previous versions (pre-6.6.x) we were able to tag assemblies in the .saproj with <Obfuscation Obfuscate="1" ExcludePublicMembers="1"> We merge roughly 8-10 DLLs into our main exe, and th...
4 followers 8 comments 0 votes
Bug with unsafe (fixed buffer) structs
For performance reasons, we have a few structures that use fixed-buffer arrays to align padding, and provide quicker array access (via pointer usage) instead of the typical [MarshalAs] approach. Ex...
2 followers 4 comments 0 votes
Bug - Resources with case-conflicts
When obfuscating assemblies with resources using different casing (eg; zh-Hans and zh-hans) SA will overwrite one of them, causing them to be useless. We have roughly 20 projects that are merged in...
2 followers 3 comments 0 votes
SmartAssembly and InishTech SLP
I've been trying to get SA and InishTech SLP Code Protector (basically a licensing tool, with code-protection aspects) to play nice together. The SLP Code Protector requires the names not change, w...
2 followers 2 comments 0 votes