А вообще, если копнуть поглубже, то можно напороться на ... кибернетику, как бы банально это не звучало. Програмируя на чистом ООП вы, сами того не подозревая, строите нейронные сети, а не кодируете вашего железного друга. Объекты - это элементарные(неделимые) понятия, соотвественно аппаратный уровень(т.е. реальный) разрушает основу ООП и кибернетики для персоналок.
Остапа несло (с) )
Если ты их не используешь, не умеешь использовать или считаешь неэфективными, то это не значит, что их нкито не использует.
Имеется ввиду подавляющее большинство, некоторые люди (меньше 1 используют, так же как и дельфийские библиотечки.
И я знаю, что если зарядить все advantages Spices .NET, то в результате получается то, что уже НЕВОЗМОЖНО декомпилировать до уровня кода, который можно будет для чгео-то использовать, не говоря уже о том, чтоб что-то изменить или пересобрать.
Это реклама, на самом деле автоматическая обфускация страдает тем, что не может определить смысл программы и реконструировать алгоритм, а может только обработать его (часто даже без потери информации) набором заранее заданных правил, которые, увы, достаточно легко реверсируются в полуавтоматическом, а нередко и автоматическом режиме.
С этого делаю вывод, что АПИ будет будет эмелироваться, по крайней мере GDI - точно будет эмулироваться.
Это при включенном Авалоне, без него будет юзаться старый добрый GDI.
Делпхи обязательно снеси
У меня 160-гиговый винт, свободно около 500 метров Все занято книгами, остаток музыкой, софтом и дистрами.
Имеется ввиду подавляющее большинство, некоторые люди (меньше 1 используют, так же как и дельфийские библиотечки.
Тот, кому это нужно, тот и использует.
Ламерам, содравшим из хелпа многоуровневое корпоративное приложение "Hello World" не нужны такие утилиты, тем более что они не смогут применить их правильно.
Это реклама, на самом деле автоматическая обфускация страдает тем, что не может определить смысл программы и реконструировать алгоритм, а может только обработать его (часто даже без потери информации) набором заранее заданных правил, которые, увы, достаточно легко реверсируются в полуавтоматическом, а нередко и автоматическом режиме.
Я плохо разбираюсь в алгоритмах конкретной утилиты, а посты Викторова (в которых он рассказывал, каким образом достигается защищенность исходного кода) сейчас искать не охота, но у 2-х словах это можно процитировать так:
"Резальтат правильного использования нашей в связке с адекватными мозгами предсказуем: программу будет невозможно восстановить до приемлемого результата и пересобрать с изменениями будет невозможно.
Кстати, насчет пересборки - один из уровней защиты - подпись сборки, которую уже никаким дедуктивным методом и никакими технолгиями возобновить не удастся.
Это при включенном Авалоне, без него будет юзаться старый добрый GDI.
Пофиг - какой смысл ставить рядовому чайнику Vista, не включая Авалон (однин из самых важных для тех же чайников компонент)?
У меня 160-гиговый винт, свободно около 500 метров Все занято книгами, остаток музыкой, софтом и дистрами.
А я сегодня посмотрел классный фильм...
Давайте не будем превращать форум в частый блог?
Получается, что это почти никому не нужно, от того и дотнет - практически опен-сорс.
Резальтат правильного использования нашей в связке с адекватными мозгами предсказуем: программу будет невозможно восстановить до приемлемого результата и пересобрать с изменениями будет невозможно
Адекватные мозги - самый главный пункт. Сколько будет затрачено времени на защиту, столько же и на взлом (если повезет, то меньше, хакер ищет самое слабое место, а разработчик пишет все), обфускатор почти бесполезен. Так же, как он позволяет облегчить процесс запутывания какого-то куска кода каким-то методом разработчику, так же существуют тулзы, которые облегчают взломщику работу по распутыванию.
А все любители поорать "Панацея!" стройными рядами идут на хакерскую конференцию, учицца уму-разуму.
Пофиг - какой смысл ставить рядовому чайнику Vista, не включая Авалон (однин из самых важных для тех же чайников компонент)?
Так мы о чайниках разговариваем или о внутренностях Windows, в частности, о наличии почти неизменного GDI?
А я сегодня посмотрел классный фильм...
Давайте не будем превращать форум в частый блог?
Я, что ли, первый начал? Тем более, этот форум тем и хорош, что здесь неформальное общение программеров друг с другом
Ну если человек верит в обфускаторы и в то, что объекты ядра будут managed, а GC будет убирать процессы из GDT, ему надо помочь. А то он от логических несуразиц может и голову потерять, забросить программирование и уйти в политику .
Получается, что это почти никому не нужно, от того и дотнет - практически опен-сорс.
Ну да, я об этом и говорю.
Так же, как он позволяет облегчить процесс запутывания какого-то куска кода каким-то методом разработчику, так же существуют тулзы, которые облегчают взломщику работу по распутыванию.
причем здесь это?
Ты не сможешь пересобрать сборку без изменения подписи - зачем тогда вообще ее распутывать?
Так мы о чайниках разговариваем или о внутренностях Windows, в частности, о наличии почти неизменного GDI?
О том, что скорее всего, на машине пользователя GDI будет эмулироваться.
Технологичеиские тонкости не имеют смысла.
Ну если человек верит в обфускаторы и в то, что объекты ядра будут managed, а GC будет убирать процессы из GDT, ему надо помочь. А то он от логических несуразиц может и голову потерять, забросить программирование и уйти в политику .
Не боись, не потеряю.
Тем более, если не дай бог, что-то подобное начнется, у меня сразу есть аварийный выход - пописать немного на моем философском языке программирования, после чего логика стает на место и весь мир начинает казаться строгой последовательностью логических понятий
Зачем ее пересобирать, если надо реконструировать алгоритм?
Технологические тонкости - один из важнейших элементов работы программиста, тот, кто ими пренебрегает, обречен на вечную правку багов и тормоза.
Бизнесменам не нужны технологические тонкости как в VB.NET не нужны Win32 API. Бизнес-процесс можно построить и на логике. Однако для программирования этого недостаточно. Важнейшую роль в программировании конечно же играет математика, но так как программирование - это всё таки прикладная математика, то конечно неотъемлимой её частью является специализация на принципы функционирования вычислительных машин. Для полного понимания вычислительных процессов неплохо было бы разбираться в радиоэлектронике и схемотехнике, не спициализируясь в какой то узкой области.
Зачем ее пересобирать, если надо реконструировать алгоритм?
Зачем так извращаться, если этот алгоритм все равно будет быстрее переписать?
Да и получишь ты его - в лучшем случае на очень запутанном языке (все равно, какой бы ни был хороший декомпилятор, до оригинального исходного кода после запутывания ты не доберешься) - и фиг ты с этого "результата" сможешь восстановить оригинальный алгоритм.
Поэтому еще раз повторюсь:
Под .NET можно писать приложения и исходный код можно защитить в достаточной степени.
Важнейшую роль в программировании конечно же играет математика, но так как программирование - это всё таки прикладная математика, то конечно неотъемлимой её частью является специализация на принципы функционирования вычислительных машин.
Зачем мне знать принципы функционированая вычислительных машин?
По-моему, вполне достаточно знать принципы функционировия среды исполнения CLR, возможностей библиотеки классов - и этого будет вполне достаточно для того, чтоб писать работающие приложения.
Нет, конечно, я не говорю, что гениальные программы, которые занимают 1 кб в памяти - это не круто, но это неактуально.
Для полного понимания вычислительных процессов неплохо было бы разбираться в радиоэлектронике и схемотехнике, не спициализируясь в какой то узкой области.
А, может, лучше начнем с более приземленных понятий?
Для начала хотя бы научиться анализировать требования бизнеса, правильно проектировать приложения, правильно организовывать людей в проекте?
Поверьте, толку от этого будет куда больше, чем знание всей схемотехники и радиоэлектроники вместе взятой.
Зачем так извращаться, если этот алгоритм все равно будет быстрее переписать?
Ты недостаточно хорошо понимаешь словосочетание "реконструировать алгоритм".
и фиг ты с этого "результата" сможешь восстановить оригинальный алгоритм.
И не с такого восстанавливают. Если ты думаешь, что обфускаторы появились только с дотнетом, ты глубоко ошибаешься.
Под .NET можно писать приложения и исходный код можно защитить в достаточной степени.
Достаточной для того, чтобы школьник, вчера начавший учить паскакаль, не смог поломать программу. Но не для того, чтобы серьезный специалист потратил хотя бы день на взлом защиты.
Зачем мне знать принципы функционированая вычислительных машин?
Незачем, если ты не программист, а бухгалтер или бизнесмен.
и этого будет вполне достаточно для того, чтоб писать работающие приложения.
Приложения типа "Хелло, ворлд" - да, вполне достаточно. Для него знать вообще почти ничего не надо. Ты уж определись, какие программы пишешь ты.
Для начала хотя бы научиться анализировать требования бизнеса, правильно проектировать приложения, правильно организовывать людей в проекте?
Для начала стоит хотя бы сравнить интеллектоемкость первого и второго занятий. Можно сколь угодно долго проектировать и организовывать сотню дотнетчиков, но они никогда не напишут что-то подобное STADIA - программа, которую написал один программист.
Зачем мне знать принципы функционированая вычислительных машин?
По-моему, вполне достаточно знать принципы функционировия среды исполнения CLR, возможностей библиотеки классов - и этого будет вполне достаточно для того, чтоб писать работающие приложения.
Я не говорю что нужно знать тебе лично. Как говорится "Не говорите мне что я должен делать и не скажу вам куда вы должны идти". То что я написал - это общепринятые правила, а то что говоришь можно сравнить например с тем что люди пришли скажем в химию и утверждают что вовсе не обязательно знать устройство молекул и атомов, а достаточно знать какой-нибудь объектно-ориентированный молекулярный генератор и его среду исполнения.
А, может, лучше начнем с более приземленных понятий?
Для начала хотя бы научиться анализировать требования бизнеса, правильно проектировать приложения, правильно организовывать людей в проекте?
Да, конечно, именно так и нужно в бизнесе. Ты где нибудь видел чтобы менеджмент или маркетинг основывался на информатике? Хотя делать технологию .NET синонимом слова бизнес я бы не стал. Для управления, планирования и автоматизации есть более специализированные платформы, а .NET скорее претендует на право базовой концепции программирования.
Ни в коем случае не собираюсь тебя совращать с твоего пути. Если в мире останутся одни программисты, то их просто некому будет кормить. Просто я мягко намекаю что не нужно слишком сильно соотносить себя с понятием "программист" если ты даже представления не имеешь что это такое.