yck1509 / ConfuserEx

An open-source, free protector for .NET applications
http://yck1509.github.io/ConfuserEx/
Other
3.56k stars 1.61k forks source link

A few ideas on the code base #227

Open lextm opened 9 years ago

lextm commented 9 years ago

I am the current maintainer of Obfuscar, another open source obfuscator under MIT license. I always thought that Confuser was under GPL, till recently noticed that ConfuserEx has been relicensed under MIT. Then it would be less useful to have two separate projects. I might further review this project to see whether there is something useful in Obfuscar that might be moved here (via pull requests of course).

Below are a few issues I found and hope someone can fix them (if possible).

  1. This project seems to target Visual Studio 2010 (from Confuser2.sln), which is quite strange. Microsoft has released Visual Studio 2013 Community Edition for free, so a modern open source project like this should consider moving to that version.
  2. There is surprisingly no unit test cases at all. I fully understand that it might not be easy to keep unit test cases for an obfuscation tool, but Obfuscar has some so that debugging through test cases and running regression is not too hard.
  3. This page talks about WP support. I think .NET Native might also be mentioned, as if in use then obfuscation is less necessary in those scenarios.
XenocodeRCE commented 9 years ago

I don't see any issue there; just personal stuff you would like to be done.

  1. Why shall ConfuserEX move onto VS13CE ? When VS10 is lighter, faster. Furthermore there is absolutely no problem since you can upgrade the sln file / the project yourself or via VS itself.
  2. Unit test would be useless here, since there are dozen of people who are using ConfuserEX everyday with an infinite number of special case where people use .net 2 / 4 / 4.5 / 4.5.1 or 3rd part libs or already-obfuscated stuff and so on. I think that the Github's issue tab is here for such a thing, 'bug report' ;)
  3. .NET Native won't make .net assembly less crackable or whatever; Reflection is still there, Reflection, metadata too. It's like VC++ assembly; you can still explore them.
yck1509 commented 9 years ago

Hello, Thanks for your idea. Here's my thought about them:

  1. Indeed VS2013 has a free community version. However, I don't think there is any urgent need to upgrade to solution to VS2013, since the project is using .NET 4 features only.
  2. I'll admit the lack of tests is the biggest trouble since the beginning of the project. However, I do have test cases here, but just rarely run. Later I might introduces some tests into the project.
  3. .NET Native is still a beta product IIRC, so I'll wait for it to be mature and decide what to do with it. Also, if it is used, then this obfuscator is no longer relevant, since the .NET code is convert to native code and the tool can't process them.