Tricks: Як зашифрувати MSIL?
оли розроблялась платформа .NET, одним з найважливіших лозунгів МS була можливість використання коду знову і знову, без того, щоб багато разів його переписувати. Отже, коли ви пишете б-я код на .NET, компілюєте, викладаєте вашу програму (dll, exe) для відкритого закачування, ви можете на 100 % бути впевненим, що якщо захоче користувач, він зможе знову використати ваш код :).
Така вже технологія – що дозволяє „розкомпілювати” ваш код. Не зовсім приємно, коли до випуску готується комерційна програма. Швидко і зручно переглянути сорси ваших конкурентів вам допоможе програма: .NET Reflector.
http://www.red-gate.com/products/reflector/
Скромний лозунг у них: Explore, browse, and analyze .NET assemblies
Але це для Вас, щоб аналізувати чужий код. А як же захистити свій власний?
1. Використання обфускаторів.
Дивне це слово :). Що ж вони роблять?
Аналізують ваш код та змінюють назви, назви, назви.
До:
private void CalcPayroll(SpecialList employeeGroup)
{
while (employeeGroup.HasMore())
{
employee = employeeGroup.GetNext(true);
employee.UpdateSalary();
DistributeCheck(employee);
}
}
Після:
private void _1(_1 _2)
{
while (_2._1())
{
_1 = _2._1(true);
_1._1();
_1(_1);
}
}
Детальніше про обфускацію: http://www.aspnetmania.com/Articles/Article/33.html
2. Використання .NET Reactor
Що він робить – дивіться власними очима:
До:
Після:
Знайти цей тул можна тут: http://www.eziriz.com/
3. Винесення найважливіших частин коду в сервіси чи аналогічні варіанти...
Щоб ваша інтелектуальна власність зберігалась віддалено від „кривих” та неприємних конкурентів.
Вибирайте та користуйтесь;).