Если открыть корневую папку любой программы (браузер, игры, утилиты и т. п), в корневой папке все файлы формата dll которую нельзя открыть через MVS и посмотреть исходник даже если он написан на C++.
А вот если сам напишешь какую нибудь обычную консольную программку, то в корневой папке этого "Шедевра" файлы с расширением cpp которую можно без проблем прочитать в MVS.
Вопрос: Как переделать эти cpp-шки в dll или как вообще защищают исходник программ.
p.s. в сфере программирования я чайник, так что не судите строго.
Другие языки программирования и технологии
Как защитить исходный код в C++.
Когда вы запускаете свою программу, то запускается не код, написанный вами, а уже откомпилированный файл типа *.exe. Он чаще всего находится в папочке с проектом, только с каким нибудь другим названием например для visual studio у меня находится в папочке bin в папочках relese или debug в зависимости от того какую версию вы скомпилировали. Debug версия компилируется для отладки (https://youtu.be/_ZairtpcXTs?list=PLJ3ABJQn3_119uZD-eydXOiK1NUtCMn0_) release версия это уже готовая версия программы. Переройте все папочки проета и если найдете там *.exe файл - это и есть ваш откомпилированный файл.
Просто ты не разобрался со средой в которой работаешь, раз exe не можешь найти и думаешь что запускается cpp
Найди книжку в которой это есть и читай
Найди книжку в которой это есть и читай
Не надо нечего защищать. Достаточно скомпилировать программу в конфигурации Release. Исходный текст просто не надо давать пользователю.
Виталий Крупнов
Да какое ему debug release, он вообще чайник
Защита программы написанной на C++ может быть выполнена с использованием различных методов и подходов. Однако, важно понимать, что абсолютной защиты не существует, и любую программу можно взломать при наличии достаточных навыков и ресурсов. Ниже приведены некоторые методы, которые могут повысить уровень защиты программы:
1. Компиляция в исполняемый файл: Вместо предоставления исходного кода программы, программу следует скомпилировать в исполняемый файл (.exe) или бинарный файл (.dll/.so), который будет сложнее взломать или прочитать.
2. Обфускация кода: Этот метод включает в себя изменение структуры исходного кода для усложнения его понимания. Это может включать переименование переменных и функций, введение ложных условий и циклов, добавление бесполезного кода и т.д.
3. Шифрование данных: Если программа содержит конфиденциальные данные, их следует зашифровать с использованием сильных алгоритмов шифрования. Также рекомендуется хранить конфиденциальные данные отдельно от исполняемого файла программы.
4. Удаление отладочной информации: Во время компиляции можно отключить включение отладочной информации в исполняемый файл. Это позволит уменьшить возможности атакующих получить информацию о структуре программы.
5. Использование защищенных библиотек: Вместо написания функций и алгоритмов самостоятельно, можно использовать защищенные библиотеки, которые предоставляют функциональность, необходимую для программы, и обеспечивают высокий уровень защиты.
6. Лицензирование и ограничение использования: Если программа предназначена для распространения, можно использовать механизмы лицензирования, чтобы ограничить доступ к функционалу программы или ее использование конкретными пользователями.
7. Онлайн-активация: Другой способ защитить программу - включить онлайн-активацию, которая требует подключения к серверу для активации и проверки правильности лицензии.
Важно помнить, что ни один метод не обеспечит абсолютную защиту, но комбинирование нескольких методов повышает уровень сложности взлома программы. Кроме того, регулярно выпускайте обновления программы, чтобы патчировать возможные уязвимости и исправить обнаруженные ошибки безопасности.
1. Компиляция в исполняемый файл: Вместо предоставления исходного кода программы, программу следует скомпилировать в исполняемый файл (.exe) или бинарный файл (.dll/.so), который будет сложнее взломать или прочитать.
2. Обфускация кода: Этот метод включает в себя изменение структуры исходного кода для усложнения его понимания. Это может включать переименование переменных и функций, введение ложных условий и циклов, добавление бесполезного кода и т.д.
3. Шифрование данных: Если программа содержит конфиденциальные данные, их следует зашифровать с использованием сильных алгоритмов шифрования. Также рекомендуется хранить конфиденциальные данные отдельно от исполняемого файла программы.
4. Удаление отладочной информации: Во время компиляции можно отключить включение отладочной информации в исполняемый файл. Это позволит уменьшить возможности атакующих получить информацию о структуре программы.
5. Использование защищенных библиотек: Вместо написания функций и алгоритмов самостоятельно, можно использовать защищенные библиотеки, которые предоставляют функциональность, необходимую для программы, и обеспечивают высокий уровень защиты.
6. Лицензирование и ограничение использования: Если программа предназначена для распространения, можно использовать механизмы лицензирования, чтобы ограничить доступ к функционалу программы или ее использование конкретными пользователями.
7. Онлайн-активация: Другой способ защитить программу - включить онлайн-активацию, которая требует подключения к серверу для активации и проверки правильности лицензии.
Важно помнить, что ни один метод не обеспечит абсолютную защиту, но комбинирование нескольких методов повышает уровень сложности взлома программы. Кроме того, регулярно выпускайте обновления программы, чтобы патчировать возможные уязвимости и исправить обнаруженные ошибки безопасности.
Написать свою лицензию которая запрещает лицам компилировать код и добавить её в каждый файл исходного кода.
Дмитрий Емельянов
прикольно :)
Похожие вопросы
- Вот есть программы с открытым исходным кодом, а есть и без исходного...
- Нужен исходный код...
- Исправление кода на C++
- Как посмотреть исходный код .exe файла?
- де в исходном коде страницы находится ответ на вопрос?
- Как можно редактировать исходный код сайта, что бы сохранились изменения?
- ИСХОДНЫЙ КОД ШАШКИ С++
- Исходный код вируса на Pascal
- Как понять машинный код ?(Компилятор переводит исходный код компьютерной программы в машиный код).
- Помогите откорректировать код в C++