Здравствуйте, Krylatij, Вы писали:
K>Насколько я знаю, обфускаторы в основном изменяют разные название переменных и классов K>на неудобоваримые. И для данного случаю вполне могут подойти.
А могут и не подойти, т.к. мн-во символов, разрешенных к использованию в идетификаторах в C# отлично от оного набора в CLR.
Здравствуйте, sergunok, Вы писали:
S>Уважаемые, а сущестует ли такой софт? S>Если друг (в смысле, заказчик) оказался вдруг S>А исходники хочет.
А по какому праву он их хочет? Если хочет — то всё равно не отделаешься. Исходники — это то, что нельзя запутывать, он потом на тебя ещё в суд подаст...
Здравствуйте, FDSC, Вы писали:
FDS>А по какому праву он их хочет? Если хочет — то всё равно не отделаешься. Исходники — это то, что нельзя запутывать, он потом на тебя ещё в суд подаст...
Чего-чего? Можно ссылочку на закон?
RE: запутывание C# кода
От:
Аноним
Дата:
26.10.06 23:37
Оценка:
Уважаемые, а сущестует ли такой софт?
Если друг (в смысле, заказчик) оказался вдруг
А исходники хочет.
есть oбфускaтoры нaпр:
9rays, dotfuscator. пoследний в кaчестве comunity edition встрoен в студию
Обфускатором вы ничего не сделаете. Получите некомпилируемый код. Я даже готов гарантировать, что некомпилируемый код получится даже после обычного перегона Рефлектором НЕобфусцированного кода в C# (имеется ввиду приложение сколь либо отличное от HelloWorld). Я бы запихал сырцы в неуправляемую сборку в качестве ресурсов, предварительно зашифровав. Код управляемого распаковщика придется отдать
Можно и в управляемую. Но тут вопрос как вы ее получать будете... В принципе можно по тому же PostBuild Event однажды скомпилировать, а затем удалить из проекта и перебросить ссылки на вновь сгенерированную сборку.
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, Krylatij, Вы писали:
K>>Насколько я знаю, обфускаторы в основном изменяют разные название переменных и классов K>>на неудобоваримые. И для данного случаю вполне могут подойти.
L>А могут и не подойти, т.к. мн-во символов, разрешенных к использованию в идетификаторах в C# отлично от оного набора в CLR.
а после декомпилаяции сам код будет оптимизированным выглядеть и, возможно, даже лучше, не считая имен
Здравствуйте, Красин, Вы писали:
К>Здравствуйте, FDSC, Вы писали:
FDS>>А по какому праву он их хочет? Если хочет — то всё равно не отделаешься. Исходники — это то, что нельзя запутывать, он потом на тебя ещё в суд подаст...
К>Чего-чего? Можно ссылочку на закон?
Дело не в законе, а в том, что исходники по договору подразумеваются читаемыми, а не зашифрованными по алгоритму RSA . Просто данный пункт является значимым в договоре и он должен быть выполнен как надо. Впрочем, если нет требований к исходникам... всё может быть
Здравствуйте, eisernWolf, Вы писали:
W>Обфускатором вы ничего не сделаете. Получите некомпилируемый код. Я даже готов гарантировать, что некомпилируемый код получится даже после обычного перегона Рефлектором НЕобфусцированного кода в C# (имеется ввиду приложение сколь либо отличное от HelloWorld).
вы сильно глубоко заблуждаетесь Жаль что нельзя с вами на чтонить поспорить
Я неоднократно декомпилил рефлектором код размером более мегабайта, разбитый на десяток сборок, использующий unmanaged вызовы и т.п., полученный код отлично компилился компилятором обратно и работал без ошибок... (разумеется нужно было вручную добавить нужные using и произвести мелкую рихтовку namespace'ов)
Для корректной декомпиляции такого большого кода, специально доработал существующий в инете плагин, доработка заключалась в добавлении namespace'ов, также был добавлен декомпилятор ресурсов
Тот кто знает не говорит, тот кто говорит не знает.
Перечитывал подборку MSDN Magazine и вот на какой интересный вопрос наткнулся (самый последний).
т.е. я думаю что можно попытатся какой-нить кусок твоего приложения перенести в сборку на managed С++ и скомпилить с #pragma unmanaged.
... << RSDN@Home 1.2.0 alpha rev. 659>>
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
Здравствуйте, sergunok, Вы писали:
S>Уважаемые, а сущестует ли такой софт? S>Если друг (в смысле, заказчик) оказался вдруг S>А исходники хочет.
смысла никакого не давать исходники нет, любой их и так может посмотреть рефлектором
так что если exe уже отдали, считайте что исходники уже у заказчика есть — его интересуют только коментарии к ним...
Тот кто знает не говорит, тот кто говорит не знает.
Здравствуйте, eisernWolf, Вы писали:
W>Ребята, я придумал! ILDASM рулит Сырцы-то будут. А вот толку... Если что, скажете, у нас бывший асмовец работает, убежденный фанат и т.д.
бред, вы больше времени потратите на декомпиляцию ildasm'ом, чем заказчик на просмотр кода на C# (VB/MC++/etc кому как удобнее) в рефлекторе
Лучше бы время потраченное на безуспешные попытки скрыть исходники пустили на разработку чегото нового, это было бы гораздо полезнее...
Тот кто знает не говорит, тот кто говорит не знает.
W>>Обфускатором вы ничего не сделаете. Получите некомпилируемый код. Я даже готов гарантировать, что некомпилируемый код получится даже после обычного перегона Рефлектором НЕобфусцированного кода в C# (имеется ввиду приложение сколь либо отличное от HelloWorld).
С>вы сильно глубоко заблуждаетесь Жаль что нельзя с вами на чтонить поспорить
С>Я неоднократно декомпилил <...>
Я даже готов гарантировать что после перегона рефлектором необфусцированного кода (изначально написанного на C#, без применения специальные меры против декомпиляции) в C# он будет компилируемым и работоспособным.
Тот кто знает не говорит, тот кто говорит не знает.