Home - Forums-.NET - Spices.Net - Works in GUI, has errors resolving some assemblies in comman

Spices.Net

NET code security, tools to protect, obfuscate, tamper defense, code and data safety, recover, convert, optimize, explore, browse and analyze .Net software.

This forum related to following products: Spices.Net Suite, Spices.Net Obfuscator, Spices.Net Decompiler

Works in GUI, has errors resolving some assemblies in comman
Link Posted: 11-Apr-2007 09:22
I've created an ilproj file to obfuscate 2 assemblies.  When I obfuscate using the GUI, it works fine.  However when I try to use the command line tool NRObfuscator.exe it pops up \"Resolver\" dialogs saying \"Following assembly cannot be resolved\" for the following assembly names: PresentationFramework PresentationCore WindowsBase System.Drawing mscorlib

If I click \"Don't Resolve\" it proceeds to obfuscate the assembly just fine, but this means the command line tool can't be used in an automated fashion. Toggling the \"silent mode\" with the Y option seems to have no effect. The errors only happen for the assembly that uses the .net 3.0 Windows Presentation Foundation.
Link Posted: 12-Apr-2007 10:25
Spices.Obfuscator Console can automatically resolve references to the assemblies, but you should specify paths where Spices.Obfuscator can find referenced assemblies in the /PATHS argmuent. Example of usage this argument you can find in the command line helper (run NRObfuscator without any argument).
Spices.Obfuscator GUI has internal path-finder and assembly resolutions manager that collects paths to resolved assemblies and system assemblies.
Link Posted: 16-Apr-2007 04:24
All of these assemblies are located in the GAC.  It did work when I added /PATHS=C:\\Windows\\assembly

It however seems extremely poor that it it incapable of finding references in the GAC, and has to be explicitly pointed to it.
Link Posted: 16-Apr-2007 04:46
I take that back, it doesn't work at all if I specify /PATHS=C:\\Windows\\assembly

The obfuscater begins to obfuscate types and then freezes there. I believe I'm going to email the obfuscated assembly to you guys as this appears to just be a bug of not handling the .net 3.0 assemblies.
Link Posted: 16-Apr-2007 06:36
Yes, you haven't specified paths to the system assemblies, usually these paths are:
C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\
C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322\\
Instead of Spices.Obfuscator, console version doesn't automatically resolves references to system .Net (and .Net 3.0) assemblies, you should specify paths to these assemblies in the /PATHS parameter of command line.
Link Posted: 16-Apr-2007 08:29
I found I had to specify:
\"/PATHS=C:\\WINDOWS\\Microsoft.NET\\Framework\\v3.0\\;C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\;C:\\Program Files\\Reference Assemblies\\Microsoft\\Framework\\v3.0\"


Out of all of this what annoyed me the most though? the command line utility could not be made silent.  There should be some way to make it not pop up any dialogs, if it comes across an error in silent mode it should merely print out the error and either fail or continue. Popping up a dialog that must be responded to before it continues is the complete opposite of silent mode.
Link Posted: 16-Apr-2007 16:42
Out of all of this what annoyed me the most though? the command line utility could not be made silent.

Yes, but you can upgrade Console version to the Spices.Obfuscator GUI that automatically resolves references to the system assemblies and manage assembly resolutions.
Link Posted: 17-Apr-2007 03:37
Can the GUI be run automatically in a nightly build setup? This usually means being able to run it in a silent fashion with command line parameters supplying the project and an option to obfuscate.

Your own help answers the question of running the obfuscation with command line parameters by saying to use NRObfuscator.exe and yet as you've even confirmed, this does not have a silent mode and does not have all of the functionality of the GUI spices.exe