This release includes a great set of the new features:
- Assemblies embedding with encryption and compression. Assembly's dependencies can be embedded into the assembly itself, this is a great way for creating single-file deployed applications
- Debugging. Eazfuscator.NET now handles .pdb files, so you can debug your code after obfuscation
- String compression. Large strings are compressed during obfuscation. Compressed strings are decompressed on demand during the run time. The decompression algorithm is incredibly fast, so there is no performance penalty observed — the actual decompression speed comes very close to the speed of a simple memory copy. String compression and the corresponding decisions are the parts of an automatic process, so you don't have to put any efforts here; Eazfuscator.NET does this all for you.
There is a lot of ongoing work for better WPF, Silverlight and Windows Phone support, plus some other new great features are being developed and evaluated and will find their ways in new Eazfuscator.NET releases.
I would like to thank all those who made a feedback on Eazfuscator.NET and helped to make it better. Thank you!
Get your copy right now!
I just want to say thanks for this great application. I'm using it for a while on my own small freeware project.
ReplyDeleteRegards
Kevin
Your donation to the software community is highly appreciated. Thank you for it. I would send you a copy of the software for free, for the help soon.
ReplyDeleteVijay S
Hi,
ReplyDeleteFirstly, thanks for a great piece of software, It's great to see that it is alive and kicking in 2011.
However, I think it is a mistake to require .Net 4.0 in order to use it. I myself have .Net 4.0 but I target my libraries to 2.0 because so much of the business community are still stuck with that version.
For this reason, I've had to download version 2.8.
What worries me though is that any future bug fixes will only be made to 3.x. Is this correct?
I also have a suggestion for a rule to ignore certain method renames.
Often, I will implement the methods: ResetXXX and ShouldSerializeXXX which deal with the default values of a property called XXX.
To avoid intellisense clutter, I also set these methods as private, but because they are private, eazfuscator will rename them.
You could implement a simple rule that looked for ResetXXX and ShouldSerializeXXX and if a property also exists called XXX, don't rename them.
Hope that helps, and thanks again for the library.
Actually, I just need to correct the second part of my post.
ReplyDeleteIf XXX is found, it shouldn't be marked as not rename, but instead your obfuscator should ensure that the renameing of the property and two methods are all synchronized.
For instance, if a property was renamed to QYUIY, then the methods should be renamed to ResetQYUIY and ShouldSerializeQYUIY.
Good tip, ActiveFish. As far as I understand you are talking about designable components.
ReplyDeleteRegarding .NET 4.0. You don't have to worry here, Eazfuscator instantly supports multi-targeting. For example, if you assemblies targeted to .NET 2.0 then they will remain in this state after obfuscation. Visual Studio acts the same.
So you are in safety. NET 4.0 is only required to run the Eazfuscator 2.9+ as a prerequisite. The target framework versions of processed assembles remain the same, of course.
Ah, I see, that's great to hear!
ReplyDeleteI think you understand what I was referring to in the other part of my post, but to be sure, here's a link to msdn:
http://msdn.microsoft.com/en-us/library/53b8022e.aspx
Hi ActiveFinish. The support of designable components has been improved as you suggested. You can try a new beta (3.1.31) and evaluate the improvement:
ReplyDeletehttp://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/BetaPreview.aspx
That's excellent. I'll test it next time I'm on my .Net 4 machine, and report back with the results.
ReplyDeleteI have a quick question. Is it possible to temporarily disable all obfuscation with the assembly level attribute? I've tried but that didn't work.
I know I can perform this task quickly with your .Net assistant, but, unfortunately, I can't use that because I've had to set up my project file manually. (The reason I manually edit the project file is because I have multiple 'Release' configurations that need obfuscating, not just one.)
Thanks
Oops, a code line above didn't print, I should always use preview!
ReplyDeleteIt should have said: ...I've tried:
<Assembly: Obfuscation(Feature:="all", Exclude:=True)>, but it didn't work...
ActiveFinish, there are two ways to go:
ReplyDelete1. Eazfuscator Assistant. Click options, and then set a checkbox for "Disable obfuscation"
2. Or you can do this:
[assembly: Obfuscation(Feature = "Apply to *: all", Exclude =
true, ApplyToMembers = true)]
Hi Oleksiy,
ReplyDeleteGreat work on this product. I just made a donation to your project from the donation link on your homepage and I highly recommend everyone else using this for a commercial project do the same to support this product and your efforts (C'mon guys, it won't break the bank to send Oleksiy $10 or more, and you know it's worth it).
In other news... I was excited to see your debugging support in this version, but upon digging into it wasn't exactly what I was expecting. We create modules that plugin to an ERP system, so when a user runs into an unexpected error we can't alway recreate it because we can't get their entire environment in-house to debug it. We used to output the top five items from the Call Stack so we could identify exactly where the issue was occurring, but with obfuscation we can't do that. Do you have any ideas on how we might be able to log the exception call stack in an obfuscated assembly? Even if we have to send them a PDB for debugging purposes or something.
Thanks for all the great work!
Hi Jeffrey,
ReplyDeleteYou can use stack trace encryption to get the original stack traces (but without line numbers), please refer to documentation for details. This will give you an ability to output the items from Call Stack as you did before, and this might be enough for your purposes.
.pdb files can be used as well, this will give the line numbers at the customer's side, but it is not secure for now. Security aspect of .pdb files will be improved in the next versions of Eazfuscator, thus allowing safe .pdb files redistribution.
Perfect, just what I was looking for! Just a thought, it'd be convenient if this could be done as a command line parameter to eazfuscator, something like this:
ReplyDelete--EncryptSymbolsPW "MyPassword"
Not complaining though, this is great! Thank you.
Отличная программа!!!Советую всем, давно искал хороший обфускатор. This is the best programm of all freeware soft.Good!Thanks a lot!!!
ReplyDeleteI just want to say thanks for this great application. I'm using it for a while on my own small freeware project.
ReplyDeleteexellent program!! and free!! thats just too much. thanks for the great program. works like a charm
ReplyDeleteShady_Lancer, Assembly Machine, Anonymous - thank you! I'm really pleased to hear that it works for you.
ReplyDeletethanks for your program. everyone should use it! :)
ReplyDeleteAfter tried your tool not worked my application, the issue I found that is obfuscating enumerators and serial data, is it possible exclude some types, enums or serialized data and etc?
ReplyDeleteHi Demo. You can add exclusions with [Obfuscation] attribute. Please refer to documentation for details.
ReplyDeleteIt works perfectly now with Silverlight applications. Much thanks, your work is amazing.
ReplyDelete