, .
. .
ILMerge. , , , ILMerge . ILMerge- , , Eazfuscator.NET.
, Eazfuscator.NET vs. direct ILMerge
Eazfuscator.NET Eazfuscator.NET Assistant. ILMerge, Eazfuscator.NET . ILMerge Eazfuscator.NET ILMerge , . ILMerge . Eazfuscator.NET ILMerge , ILMerge . .
.
, . .
IDE. ObfuscationSettings.cs( #) ObfuscationSettings.vb( Visual Basic.NET). ObfuscationSettings.cs ObfuscationSettings.vb ObfuscationSettings.cs content (#):
using System;
using System.Reflection;
[assembly: Obfuscation(Feature = "merge with XXXXXX.dll", Exclude = false)]
Visual Basic.NET ObfuscationSettings.vb :
Imports System
Imports System.Reflection
<Assembly: Obfuscation(Feature:="merge with XXXXXX.dll", Exclude:=False)>
XXXXXX.dll , .
, :
using System;
using System.Reflection;
[assembly: Obfuscation(Feature = "merge with Assembly1.dll", Exclude = false)]
[assembly: Obfuscation(Feature = "merge with AnotherAssembly2.dll", Exclude = false)]
…
, . , - , . .
ILMerge
ILMerge. , ILMerge. .
ILMerge
IDE. ObfuscationSettings.cs( #) ObfuscationSettings.vb( Visual Basic.NET). ObfuscationSettings.cs ObfuscationSettings.vb ObfuscationSettings.cs content (#):
using System;
using System.Reflection;
[assembly: Obfuscation(Feature = "ilmerge custom parameters: <parameters>", Exclude = false)]
Visual Basic.NET ObfuscationSettings.vb :
Imports System
Imports System.Reflection
<Assembly: Obfuscation(Feature:="ilmerge custom parameters: <parameters>", Exclude:=False)>
, . Eazfuscator.NET //ndebug , . - ILMerge .
. .
. , . . .
( )? . NGENed, (Windows Phone, Compact Framework ..). JIT- , . .
, . , , .
- , . ? , . NGENed, (Xbox, Windows Phone Compact Framefork). - ( , , ).
. , . , . , , - , .exe( .dll).
, . .
IDE. ObfuscationSettings.cs( #) ObfuscationSettings.vb( Visual Basic.NET). ObfuscationSettings.cs ObfuscationSettings.vb ObfuscationSettings.cs content (#):
using System;
using System.Reflection;
[assembly: Obfuscation(Feature = "embed XXXXXX.dll", Exclude = false)]
Visual Basic.NET ObfuscationSettings.vb :
Imports System
Imports System.Reflection
<Assembly: Obfuscation(Feature:="embed XXXXXX.dll", Exclude:=False)>
XXXXXX.dll , .
!
.
Eazfuscator.NET , . , script:
[assembly: Obfuscation(Feature = @"embed $(InputDir)\Lib\AssemblyToEmbed.dll", Exclude = false)]
, :
[assembly: Obfuscation(Feature = "embed Assembly1.dll", Exclude = false)]
[assembly: Obfuscation(Feature = "embed AnotherAssembly2.dll", Exclude = false)]
…
. , . , , .
:
[assembly: Obfuscation(Feature = "embed [flags] XXXXXX.dll", Exclude = false)]
[flags] - , .
.
no_compress no_encrypt no_satellites load_from_file Eazfuscator.NET . Location System.Reflection.Assembly .
.
4.24.
using System;
using System.Reflection;
[assembly: Obfuscation(Feature = "embed [no_compress no_encrypt] XXXXXX.dll", Exclude = false)]
4.25. ;
using System;
using System.Reflection;
[assembly: Obfuscation(Feature = "embed [no_encrypt] XXXXXX.dll", Exclude = false)]
4.26. ;
using System;
using System.Reflection;
[assembly: Obfuscation(Feature = "embed XXXXXX.dll", Exclude = false)]
4.27. ;
using System;
using System.Reflection;
[assembly: Obfuscation(Feature = "embed satellites", Exclude = false)]
. , . . Location System.Reflection.Assembly . Location System.Reflection.Assembly . , .
? , Location , . -, Location , .
. EscapedCodeBase. . , .
using System;
class Program
{
static string GetEulaPath()
{
var assembly = typeof(Program).Assembly;
string location = new Uri(assembly.EscapedCodeBase).LocalPath;
return Path.Combine(Path.GetDirectoryName(location), "EULA.rtf");
}
}