0

I have a c# solution with three projects in it. Lets call them 1,2,3.

Their dependency hierarchy is 1 depends on 2 and 2 depends on 3.

Project 1 is a Windows application so it has an executable output. The others (2&3) are class library projects with DLL outputs.

I have obfuscated all the outputs (the exe from project 1 and the other two DLLs from 2&3) using Confuser.

The problem is when I run the confused exe allong with the other Confused DLLs, the exe can't get the methods from the DLLs.

I get an exception of kind : "Bad Storage property: '_memberName' on member '2.User.memberName'"

Any solution?

Community
  • 1
  • 1
antew
  • 949
  • 8
  • 17
  • merge them all together before obfuscating... or use an obfuscation tool that at least leaves the public interfaces/properties etc. unchanged... – Yahia Oct 01 '13 at 11:25
  • Can you suggest merging tool? – antew Oct 01 '13 at 11:34
  • see this: http://stackoverflow.com/a/8079242/847363 – Yahia Oct 01 '13 at 11:40
  • We use the community edition of PreEmptive Dotfuscator - we have multiple assemblies (most are DLLs), everything is obfuscated, we keep the DLLs separate, and everything runs just fine. – Surfbutler Oct 01 '13 at 12:15
  • @Yahia - I used ILMerger to merge the exe and DLLs but when using Confuser to obfuscate the resulting exe I still get the "Bad Storage property" Exception. Any ideas? – antew Oct 01 '13 at 13:55
  • Then your code is using some reflection and/or serialization technique which is not compatible with you obfuscation settings... either change your code or the obfuscation settings or use a more sophisticated obfuscation tool which is able to recognize these dependencies... – Yahia Oct 01 '13 at 14:15
  • Yes you are right! There was a linq to sql dbml file there which stores attributes to columns as strings which are not recognized as dependencies. Thanks a lot! – antew Oct 01 '13 at 18:45

0 Answers0