M>>Я читал описание одной такой программы. Её урезанную версию обещают вставить в VS2003. У них остроумный подход: переименовать как можно большее количество свойств, типов, методов и др. метаданных в однобуквенные. Причем, желательно все одной и той же буквой. Сам можешь представить, какой это подлом
VM>Если методы а1,а2,а3, то никакой это не подлом, если покопаться то наверняка можно даже будет спокойно откомпилировать такую сборку вскрыа ее и изменив.
Во-первых, в C# и в ILASM разные ограничения на пространства имён. Например, в ILASM можно объявить и метод, и поле с названием "a". Во-вторых, ILASM разрешает существование двух методов, отличающихся только типом результата, а в C# перегрузка может быть только по параметрам.
Так что перекомпилировать через anakrino/C# не получится. Через ILDASM/ILASM, конечно, получится.
Во-вторых, представь себе такой код:
class a
{
b a(c a)
{
if( a.a(12) )
return null;
else
return new b(a.a);
}
}
Разве не приятно будет в таком покопаться?

По статистике тех ребят, у них в среднем 70% идентификаторов преобразовываются в "a".
M>>Кроме того, можно запрашивать пароль для расшифровки основной программы непосредственно у пользователя.
VM>Каждый раз при запуске
. Не смахивает ли это на serial.txt?
Конечно, смахивает. Но нам же надо не от запуска защищать, а от декомпиляции. Естественно, при расшифровке ничего не должно сохраняться на диск, прямо из памяти должно работать.
Если ещё вступительный расшифровывающий код реализовать через native, и ключ перед использованием как-нибудь трансформировать там, будет прилично напрягать хакеров.
... << RSDN@Home 1.0 beta 6a >>