|
Землянин
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 312
|
|
Защита программы от декомпилятора01.02.2013, 19:27. Показов 16167. Ответов 99
Метки нет (Все метки)
0
|
|
| 01.02.2013, 19:27 | |
|
Ответы с готовыми решениями:
99
Выбор декомпилятора для .NET Защита программы от НСД. Защита путем шифрования части программы на флеш-диске или флешке Использование flash-декомпилятора |
|
62 / 62 / 5
Регистрация: 05.01.2013
Сообщений: 235
|
||
| 15.02.2013, 22:26 | ||
0
|
||
|
Master of Orion
|
||||||||||||||
| 15.02.2013, 22:28 | ||||||||||||||
C++ http://ideone.com/23N3nB
http://ideone.com/7TTk9l
0
|
||||||||||||||
|
62 / 62 / 5
Регистрация: 05.01.2013
Сообщений: 235
|
|||
| 15.02.2013, 22:32 | |||
0
|
|||
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 15.02.2013, 22:35 | |
|
Psilon, я надеюсь вы не забыли,что первая компиляция на шарпе занимает много времени,а все последующие уже могут тягаться)
0
|
|
|
62 / 62 / 5
Регистрация: 05.01.2013
Сообщений: 235
|
|
| 15.02.2013, 22:39 | |
|
0
|
|
|
Master of Orion
|
|
| 15.02.2013, 22:40 | |
|
Winhttp,
![]() нотариально заверенный скриншот вам не приложить? Я то могу привести цитаты того же Рихтера, но он же тоже может оказаться "недостоверным источником". В общем, nuff said Noob.net, я-то помню. Только видимо некоторые путают шарп и джаву версии 1.4
0
|
|
|
Higher
|
||
| 15.02.2013, 23:45 | ||
|
Без всяких ключей у меня ваш код отрабатывает за 4.4 секунды, с двумя флагами(-O2 и -unsafe-math-optimizations) выдает тот же самый ответ за 3.5 секунды. Но вообще да, шарп за счет платформо-зависимых оптимизаций в некоторых случаях может в 20 c лишним раз обгонять плюсы по скорости.
0
|
||
|
62 / 62 / 5
Регистрация: 05.01.2013
Сообщений: 235
|
|||||||||||
| 15.02.2013, 23:51 | |||||||||||
|
Psilon, да да, мне обьязательно нотариально заверенный скрин. по другому никак
![]() исходники: Кликните здесь для просмотра всего текста
результаты
0
|
|||||||||||
|
Higher
|
|
| 16.02.2013, 00:09 | |
|
Winhttp, вы же ответ не выводите, следовательно, ничего не вычисляется (компилятор тупо выкидывает цикл из кода).
P.S. Интеловский компилятор посчитал за 3 секунды ровно :) Добавлено через 5 минут P.P.S. интеловский компилятор просто распараллелил цикл(да, плюсовые компиляторы и такое умеют).
1
|
|
|
Master of Orion
|
|||
| 16.02.2013, 00:10 | |||
|
Winhttp, видимо, вы плохо читаете, я вас распишу непонятную (очевидно) фразу товарища diagonа
Кликните здесь для просмотра всего текста
Добавлено через 1 минуту Я для вас ключевые моменты даже жирным выделил, чтоб не утруждались лишний раз чтением документации
1
|
|||
|
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
|
|||
| 16.02.2013, 15:22 | |||
|
Кликните здесь для просмотра всего текста
Связь С++ с языками Java и С#
Помимо С++, существуют два других современных языка проіраммирования: Java и С#. Язык Java разработан компанией Sun Microsystems, а С# — компанией Microsoft. Поскольку иногда возникает путаница относительно того, какое отношение эти два языка имеют к С++, попробуем внести ясность в этот вопрос. С++ является родительским языком для Java и С#. И хотя разработчики Java и С# добавили к первоисточнику, удалили из него или модифицировали различные средства, в целом синтаксис этих трех языков практически идентичен. Более того, объектная модель, используемая С++, подобна объектным моделям языков Java и С#. Наконец, очень сходно общее впечатление и ощущение от использования всех этих языков. Это значит, что, зная С++, вы можете легко изучить Java или С#. Схожесть синтаксисов и объектных моделей — одна из причин быстрого освоения (и одобрения) этих двух языков многими опытными С++-программи-стами. Обратная ситуация также имеет место: если вы знаете Java или С#, изучение С++ не доставит вам хлопот. Основное различие между С++, Java и С# заключается в типе вычислительной среды, для которой разрабатывался каждый из этих языков. С++ создавался с целью написания высокоэффективных программ, предназначенных для выполнения под управлением определенной операционной системы и в расчете на ЦП конкретного типа Например, если вы хотите написать высокоэффективную программу для выполнения на процессоре Intel Pentium под управлением операционной системы Windows, лучше всего использовать для этого язык С++. Языки Java и С# разработаны в ответ на уникальные потребности сильно распределенной сетевой среды Internet. (При разработке С# также ставилась цель упростить создание программных компонентов.) Internet связывает множество различных типов ЦП и операционных систем. Поэтому возможность создания межплатформеиного (совместимого с несколькими операционными средами) переносимого программного кода для Internet при решении некоторых задач стало определяющим условием при выборе языка программирования. Первым языком, отвечающим таким требованиям, был Java. Используя Java, можно написать проірамму, которая будет выполняться в различных вычислительных средах, т.е. в широком диапазоне операционных систем и типов ЦП. Таким образом. Java-программа может свободно "бороздить просторы" Internet. Несмотря на то что Java позволяет создавать переносимый программный код, ко- 28 Глава 1. Основы С++ торый работает в сильно распределенной среде, цена этой переносимости — эффективность. Java-програм мы выполняются медленнее, чем С++-программы. То же справедливо и для С#. Поэтому, если вы хотите создавать высокоэффективные приложения, используйте С++. Если же вам нужны переносимые программы, используйте Java или С#. Спросим у опытного программиста нмннм Вопрос. Каким образом языки Java и Ct позволяют создавать межплатформенные (совместимые с несколькими операционными средами) переносимые программы и почему с помощью С++ невозможно достичь такого же результата? Ответ. Все дело в типе объектного кода, создаваемого компиляторам» В результате работы С++-компилятора мы получаем машинный код, который непосредственно выполняется конкретным центральным процессором (ЦП). Другими словами, С++-компилятор связан с конкретными ЦП и операционной системой. Если нужно выполнить С++-программу под управлением другой операционной системой, необходимо перекомпилировать ее и получить машинный код, подходящий для данной среды. Поэтому, чтобы С++-программа могла выполняться в различных средах, нужно создать несколько выполняемых версии этой программы. Используя языки Java и С#, можно добиться переносимости программа i-го кода за счет специальной компиляции программ, позволяющей перс-вести исходный программный код на промежуточный язык, именуемый псевдокодом. Для Java-программ этот промежуточный язык называют байт-кодом (bytecode), т.е. машинно-независимым кодом,генерируемым Java-компилятором. В результате компиляции С#-нроіраммьі получается не исполняемый код, а файл, который содержит специальный псевдокод, именуемый промежуточным языком Microsoft (Microsoft Intermediare Language — MSIL). В обоих случаях этот псевдокод выполняется специальной операционной системой, которая для Java называется виртуальной машиной Java (Java Virtual Machine — JVM), а для C# — средством Common Language Runtime (CLR). Следовательно, Java-программа сможет выполняться в любой среде, содержащей JVM, а Сопрограмма — в любой среде, в которой реализовано средство CLR. Поскольку специальные операционные системы для выполнения Java-и С#-кода занимают промежуточное местоположение между программой и ЦП, выполнение Java- и Сопрограмм сопряжено с расходом определенных системных ресурсов, что совершенно излишне при выполнении C++-программ. Вот поэтому С++-программы обычно выполняются быстрее, чем эквивалентные программы, написанные на Java и С#.
![]() для меня конечно загадкой пока остается, почему ваши тесты такие. но больше похоже на то, что дело в настройках компилятора с++, возможно и в коде можно чет поправить (я с с++ не очень знаком), и тогда программа с++ обгонит программу, написаную на с# . потому что программа, выполняющаяся из под виртуальной машины никак не может быть шустрее, чем программа, которая напрямую работает с процессором.
0
|
|||
|
Higher
|
|||
| 16.02.2013, 15:30 | |||
|
А в треде идет речь о нативном коде/байткоде. Так вот байткод эффективнее нативного кода. P.S. Для плюсов есть компилятор, умеющий компилировать в байт код, но для винды там пока экспериментальная поддержка. Однако через годик-другой ситуация в корне изменится :)
0
|
|||
|
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
|
||||
| 16.02.2013, 17:31 | ||||
|
Сортировка массива методом пузырька -
C++ - http://ideone.com/QiS0aC
![]() Все таки преподаватель был прав , когда говорил , что сишарп и другие подобные ему языки будут медленней , чем с++. как и Шилдт Добавлено через 3 минуты diagon, байт код выполнется интерпретатором, а интерпретатор уже переводит все это в процессорные команды, нативный код же напрямую работает, или я чет путаю?
Добавлено через 3 минуты да кстати, мы от темы уже сильно отдалились, может следует продолжит дискуссию в другой теме? например сдесь - Разница в скорости выполнение программы C++ или C#
0
|
||||
|
|
||
| 19.02.2013, 21:14 | ||
|
Кстати, вот вы все про супер проекты с тысячами строк, а как быть с маленькими? к примеру - я написал вьювер какого-нибудь VRML. Код там на пару-тройку классов... строк по 30. Как защищать обфускацией такое?
0
|
||
|
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
|
|
| 19.02.2013, 22:47 | |
|
skilllab, почитайте о протекторах. они полностью скрывают код. да и больше чем уверен, что у платных обфускаторов тоже есть такая функция
0
|
|
|
Higher
|
||
| 19.02.2013, 23:19 | ||
|
Зависит от вашего проекта - если он большой, то никто в нем целиком разбираться не будет, проще написать свой. Если вы хотите утаить пару фич, то в этом и только в этом случае обфускация может иметь эффект. Однако если ваши фичи кому-то очень нужны, то обфускация не поможет, она лишь отсрочит неизбежное. Я знаю только один надежный способ - вынести эти фичи в SaaS, но он далеко не всем подходит.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 19.02.2013, 23:30 | ||
|
если программа может быть исполнена она может быть и взломана Весь вопрос во времени и в квалификации взломщика(ну и востребованности программы)
0
|
||
|
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
|
|
| 20.02.2013, 12:11 | |
|
вы путаете взлом, и получение начальных исходников. а ведь тема об этом. чтобы скрыть/зашифровать исходник, чтобы его никто не подглядел. а насчет взлома - то согласен, простым отладчиком можно ломать программы, и там есть свои фичи для защиты, но они лишь отсрочивают взлом.
0
|
|
|
Higher
|
||
| 20.02.2013, 15:31 | ||
|
0
|
||
| 20.02.2013, 15:31 | |
|
Простейшая защита программы: где хранить число срабатываний программы? Защита программы
Защита программы Защита программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|