Re[5]: Зачем нужно .NET?
От: L.Long  
Дата: 17.06.07 10:03
Оценка:
Здравствуйте, игппук, Вы писали:

P>>Ну если у тебя пароли захардкожены в программе то ССЗБ


И>паролю не обязательно нужно быть закардкоженным.


И что ты тогда из кода вытащишь? И вообще, нахрена хранить пароль-то?
Чем совершеннее технически средство, тем более примитивные, никчемные и бесполезные сведения при его помощи передаются.(с)Станислав Лем
Re[6]: Зачем нужно .NET?
От: игппук Беларусь  
Дата: 17.06.07 10:57
Оценка: :)
Здравствуйте, L.Long, Вы писали:

LL>И что ты тогда из кода вытащишь? И вообще, нахрена хранить пароль-то?


из кода я могу вытащить, собственно, сам исходный код, в удобночитаемом виде. а с ним, и логику всяких там защитных механизмов. это я и имел ввиду, что, с этой точки зрения, безопасность NET не на высоте. конечно, любую программу можно дизассемблировать, но читается и понимается это гораздо сложнее.
проклятый антисутенерский закон
Re[7]: Зачем нужно .NET?
От: L.Long  
Дата: 17.06.07 11:10
Оценка:
Здравствуйте, игппук, Вы писали:

LL>>И что ты тогда из кода вытащишь? И вообще, нахрена хранить пароль-то?


И>из кода я могу вытащить, собственно, сам исходный код, в удобночитаемом виде...


Есть такое слово — обфускация.
Чем совершеннее технически средство, тем более примитивные, никчемные и бесполезные сведения при его помощи передаются.(с)Станислав Лем
Re[8]: Зачем нужно .NET?
От: игппук Беларусь  
Дата: 17.06.07 11:28
Оценка:
Здравствуйте, L.Long, Вы писали:

LL> Есть такое слово — обфускация.


Плюсы и минусы

Плюсы:

1. Обфускаторы делают дизассемблированный код тяжелым для изучения, превращая IsLicensed() в x().
2. Некоторые обфускаторы используют баги ILDASM для защиты от дизассемблинга в нем (Salamander).
3. Некоторые обфускаторы даже конвертируют код в native код, делая бесполезным дизассемблинг (Salamander).
4. Некоторые обфускаторы шифруют и пакуют ваш exe и иже с ним referenced сборки в один exe-файл, так что размер проги может уменьшиться 2-4 раза и не поддается дизассемблингу (Thinstall).

Минусы

1. Продукт остается дизассемблируемым.
2. Собрать сборку после дизассемблинга не составит труда.
3. IL код – доступный для чтения и понимания по сравнению c ассемблерным.
4. «Защита» обфускаторов, которые используют баги ILDASM будут бессильны перед дизассемблерами других разработчиков.
5. Защита обфускаторов, которые используют шифрование символьной части метаданных, строковых и бинарных ресурсов мешает пользователям продукта, отлаживать и тестировать свои продукты. Кроме этого – это риск, так как некоторые символьные данные используются в Reflection – для получения типа (GetType(“MyType”)), или загрузки ресурса (GetManifestResourceStream(“MyResource”)).
6. Зачастую обфускаторы имеют кучу настроек, непонятных или сложных для понимания обычному юзеру. Неинформированность юзера может привести к тому что его обфусцированная прога будет работать не так как хотелось и иногда приводить к крэшу, да еще и не отлавливаемому отладчиком.
7. Цена – порядок цен – от 40 до 1500 долларов за программу. И цена может ничего не говорить о качестве обфускации. Может так статься что 40-долларовый обфускатор защитит ваш куда лучше чем более дорогой.
8. Насчет 4-его плюса. Защищенная таким образом прога «жестко привязана» к используемому .Net Framework, и сервис-пак установленный вами, «порушит» корректность работы защищенной программы. Да и такая защита возможна только для Intel-процессоров.
9. Насчет 5-го плюса. Да действительно защита сильна и лишена недостатков 4-го плюса. Продукт загружает из ресурса нужные сборки в память и managed exe файл и передает ему управление, занимаясь только разруливанием проблем со сборками, типами, ресурсами (через AssemblyResolve, TypeResolve, ResourceResolve). Но – не все сборки нужны сразу, загрузка их требует дешифровки и распаковки – дополнительного времени и нагрузки на процессор. Не все производят exe-файлы. А Thinstall будет работать только с exe, так как dll-сборки уже не имеют как раньше процессорного DllMain, из которой это было возможно производить. Но – взломать ее проблем также не составляет труда. Есть такая программа ProcDump – она может продампить запущенный процесс и соответственно легко получить расшифрованными и распакованными защищенный exe и referenced сборки. Thinstall будет иметь проблемы с загрузкой в память managed C++ сборки.
10. Некоторые обфускаторы создают замкнутую систему обфусцированных сборок, где необфусцированными остаются сборки сторонних производителей и MS-вские. Но и здесь все далеко от совершенства – обфускатор не знает как используются ресурсы сборки, поэтому может привести вашу прогу к нерабочему состоянию. Хотя в данном случае качество обфускации становится идеальным – ни к чему не подкопаться. Опять же – это возможно только для exe-прог. Если вам необходимо защищать библиотеку классов, то вам необходимо будет оставлять необфусцированными публичные члены классов и публичные классы – отсюда крэкер может начать свою работу.


и напоследок вопрос: как часто вы используете эту технологию?
проклятый антисутенерский закон
Re[9]: Зачем нужно .NET?
От: L.Long  
Дата: 17.06.07 11:57
Оценка: +1
Здравствуйте, игппук, Вы писали:

LL>> Есть такое слово — обфускация.


И>Плюсы и минусы


А еще есть люди, не задумывающиеся о том, что они, собственно, пишут. А в результате они пишут в плюсах:

3. Некоторые обфускаторы даже конвертируют код в native код, делая бесполезным дизассемблинг (Salamander).
4. Некоторые обфускаторы шифруют и пакуют ваш exe и иже с ним referenced сборки в один exe-файл, так что размер проги может уменьшиться 2-4 раза и не поддается дизассемблингу (Thinstall).


А в минусах, прямо следом:

1. Продукт остается дизассемблируемым.


К вопросу — лично я никак не использую обфускацию, ибо мне незачем, но если оно нужно — что мешает ее использовать?

Да, очень мне понравилось вот это:

6. Зачастую обфускаторы имеют кучу настроек, непонятных или сложных для понимания обычному юзеру.


Так и вижу обычного юзера, например, секретаршу, занятую настройкой обфускации...

Напоследок — значит, с тезисом о паролях мы разобрались?
Чем совершеннее технически средство, тем более примитивные, никчемные и бесполезные сведения при его помощи передаются.(с)Станислав Лем
Re[10]: Зачем нужно .NET?
От: игппук Беларусь  
Дата: 17.06.07 13:20
Оценка:
Здравствуйте, L.Long, Вы писали:

LL>Напоследок — значит, с тезисом о паролях мы разобрались?


про пароли все понятно. по видимому, я неправильно понял утверждение о том, что на NET безопасности больше. или у нас разное понимание.
просто я вспоминаю один наш проект, когда надо было написать свой модуль на шарпе, к уже готовому проекту. не смотря на то, что заказчик нам не дал нормальных примеров исходников, нам хватило рефлектора, чтобы разобраться, как работает уже откомпиллированный код (с обращением к базе данных) и написать нечто подобное, причем работающее.
проклятый антисутенерский закон
Re[7]: Зачем нужно .NET?
От: McSeem2 США http://www.antigrain.com
Дата: 17.06.07 23:40
Оценка: 1 (1) +5
Здравствуйте, игппук, Вы писали:

И>из кода я могу вытащить, собственно, сам исходный код, в удобночитаемом виде. а с ним, и логику всяких там защитных механизмов. это я и имел ввиду, что, с этой точки зрения, безопасность NET не на высоте. конечно, любую программу можно дизассемблировать, но читается и понимается это гораздо сложнее.


Если обеспечение безопасности построено на некой секретной логике защитных механизмов, то это не безопасность, а фуфло. Нормальная безопасность обеспечивается при абсолютно открытой логике. См., например, PGP: все алгоритмы известны и открыты, а вломать — фигушки.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[2]: Зачем нужно .NET?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.06.07 21:05
Оценка:
Здравствуйте, anton_warlock, Вы писали:

_>P.S. может .NET так и использовать(позиционировать) — как язык для домохозяек, а С++ — это язык, который позволяет создавать большие сложные системы очень гибко?


Сори, а ты понимаешь чем отличается платформа от языка? Если, да, то попытайся объяснить как можно сравнивать платформу на кторой в том числе реализован С++-компилятор на 95% совместимый со стандартом ISO, с языком?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Зачем нужно .NET?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.06.07 21:06
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Это проблема подробно обсуждалась тут

А>http://www.sql.ru/forum/actualthread.aspx?bid=34&amp;tid=241745&amp;hl=%ed%e0%ea%ee%e9
А>Пришли к выводу что на.. не нужен.

Собралось блабо-ламерьё и поют песни о том, в чем ни ухом ни рылом. Потом еще выводы делают.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Зачем нужно .NET?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.06.07 21:30
Оценка: :)
Здравствуйте, L.Long, Вы писали:

LL>И что ты тогда из кода вытащишь? И вообще, нахрена хранить пароль-то?


А в друг кто спросит, а у нас нет паролей...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Зачем нужно .NET?
От: aka50 Россия  
Дата: 19.06.07 22:15
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, L.Long, Вы писали:


LL>>И что ты тогда из кода вытащишь? И вообще, нахрена хранить пароль-то?


VD>А в друг кто спросит, а у нас нет паролей...


Не, это стандартный метод защиты "софта не дельфях". Когда делается навороченная система пользователей и правил, а в схему к ораклу все под одинм паролем (да еще и владельцем схемы) ходют. Ну а пароль ясен пень в exe. И правила доступа тоже в exe (типа меню неактивно — значиццо защищено). Вот об этих методах "защиты" походу товарищь нам и поведал. Для таких систем — да. Java и .Net не годяться (хотя C++ и Delphi тоже )
Re[8]: Зачем нужно .NET?
От: ADK  
Дата: 20.06.07 13:23
Оценка:
Тред как обычно скатился в никуда. А на конкретные вопросы автора так никто и не ответил. Я вот тоже с 2002-го думаю — нах мне этот .NET И пока что вполне счастлив без него.
Independent software developer
Re[9]: Зачем нужно .NET?
От: aka50 Россия  
Дата: 20.06.07 13:39
Оценка: +1
Здравствуйте, ADK, Вы писали:

ADK>Тред как обычно скатился в никуда. А на конкретные вопросы автора так никто и не ответил. Я вот тоже с 2002-го думаю — нах мне этот .NET И пока что вполне счастлив без него.


Потому, что объяснить владельцу ваз2106 зачем платить за автомобиль 30куе, когда можно купить за 5 — невозможно, пока он не попробует поездить на таком автомобиле.
Re[10]: Зачем нужно .NET?
От: ADK  
Дата: 20.06.07 13:50
Оценка: -1
Да, пробовали, голубчик.Без особо дикого восторга. Плюс никто так толком и не смог показать успешные проекты под .NET — о чем это говорит? Плюс кажется скоро версий фреймворков расплодится куча, уже 3.5 на носу. И все они вместе будут жрать дикие кучи ресурсов.
Independent software developer
Re[11]: Зачем нужно .NET?
От: Lloyd Россия  
Дата: 20.06.07 14:00
Оценка:
Здравствуйте, ADK, Вы писали:

ADK>Да, пробовали, голубчик.Без особо дикого восторга. Плюс никто так толком и не смог показать успешные проекты под .NET — о чем это говорит? Плюс кажется скоро версий фреймворков расплодится куча, уже 3.5 на носу. И все они вместе будут жрать дикие кучи ресурсов.


До кол-ва питонов .net-у еще далеко — только на официальном сайте аж 8 версий: 2.5.1, 2.4.4, 2.3.6, 2.2.3, 2.1.3, 2.0.1, 1.6.1, 1.5.2.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: Зачем нужно .NET?
От: ADK  
Дата: 20.06.07 14:46
Оценка:
И они несовместимы обратно?
Independent software developer
Re[11]: Зачем нужно .NET?
От: aka50 Россия  
Дата: 20.06.07 15:34
Оценка:
Здравствуйте, ADK, Вы писали:

ADK>Да, пробовали, голубчик.Без особо дикого восторга. Плюс никто так толком и не смог показать успешные проекты под .NET — о чем это говорит? Плюс кажется скоро версий фреймворков расплодится куча, уже 3.5 на носу. И все они вместе будут жрать дикие кучи ресурсов.


Ну так посмотри на Java. Ибо

Но я не понимаю, зачем все это нужно. Да, программировать на C# значительно легче,чем на плюсах, плюс отражение, сборки там всякие.Но что это позволяет решить такого, что раньше нельзя было?! Ведь можно же как и раньше катать все на С++, пусть сложнее, но что-то я не заметил в .NET ничего революционного.

можно отнести и к jvm. Успешные проекты на java надо показывать? Особенно на серверах (с клиентской стороной у java не очень).

ЗЫ: Распространиться ли .Net так же как java — отдельный вопрос. Но тенденция перехода на манаджед языки симптоматична. Java, .Net, erlang — это все менеджед среды, которые для определенных задач рвут С/С++ по нескольким показателям сразу (в том числе бывает и по производительности). А по скорости и безопасности разработки (я для java/erlang еще и переносимость) — можно даже не сравнивать. Это просто разный уровень.
Re[13]: Зачем нужно .NET?
От: Lloyd Россия  
Дата: 20.06.07 16:38
Оценка:
Здравствуйте, ADK, Вы писали:

ADK>И они несовместимы обратно?


Думаю что да. Track, например, работает только на определенной версии питона.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: Зачем нужно .NET?
От: aka50 Россия  
Дата: 20.06.07 17:56
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, ADK, Вы писали:


ADK>>И они несовместимы обратно?


L>Думаю что да. Track, например, работает только на определенной версии питона.


Питонов на машине может быть много и они не конфликтуют между собой.

rwxrwxrwx 1 root root 9 2007-05-06 22:12 /usr/bin/python -> python2.5
-rwxr-xr-x 1 root root 1026092 2007-04-13 01:04 /usr/bin/python2.4
-rwxr-xr-x 1 root root 1157044 2007-05-02 20:58 /usr/bin/python2.5
-rwxr-xr-x 1 root root 4119 2004-10-27 01:46 /usr/bin/python_count
Re[15]: Зачем нужно .NET?
От: anton_t Россия  
Дата: 20.06.07 19:07
Оценка:
Здравствуйте, aka50, Вы писали:

A>Здравствуйте, Lloyd, Вы писали:


L>>Здравствуйте, ADK, Вы писали:


ADK>>>И они несовместимы обратно?


L>>Думаю что да. Track, например, работает только на определенной версии питона.


A>Питонов на машине может быть много и они не конфликтуют между собой.


A>rwxrwxrwx 1 root root 9 2007-05-06 22:12 /usr/bin/python -> python2.5

A>-rwxr-xr-x 1 root root 1026092 2007-04-13 01:04 /usr/bin/python2.4
A>-rwxr-xr-x 1 root root 1157044 2007-05-02 20:58 /usr/bin/python2.5
A>-rwxr-xr-x 1 root root 4119 2004-10-27 01:46 /usr/bin/python_count

Дотнеты тоже не конфликтуют.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.