Другие языки программирования и технологии
Вот есть программы с открытым исходным кодом, а есть и без исходного...
В общем, исходный код, это когда известно как работает программа, но некоторые авторы программ делают его скрытым, но программы всё равно работают, но..? Как? То есть, если у тебя есть программа, разве не вариант достать её исходный код? Или что, он зашифрован? Объясните, интересно мне...
Ты пишешь программу на языке высокого уровня. Компилятор превращает её в эквивалентную программу на ассемблере, при этом оптимизируя получаемый код (так что полученный алгоритм может сильно отличаться от того, что написано в исходном тексте). Всё, что может сделать декомпилятор - это выдать тебе текст получившегося ассемблерного кода. И вместо тысяч строк на C++ ты получишь простыню из миллионов ассемблерных команд - без вменяемых названий переменных и функций. После чего тебе вручную придётся разбираться, что именно и как в этой программе делается.
Тарас *
А что такое ассемблер? Один из первых языков или язык виндовса?
Типа того, при компиляции код собирается в исполняемый файл и нормально получить его обратно обычно нельзя
Декомпиляция программы возможна далеко не всегда. Точнее, как правило не возможна.
Тарас *
Собранный конструктор обратно по деталям не соберёшь?.. А разве нет программ, которые создают всякие..) Чтобы декомпилировать каким-либо образом, в своих целях? В Apple закрытый код, но я что-то слышал про прошивку? Что это?
Открытость или закрытость исходного кода никак не влияет на возможность понять, как работает программа.
Например, вы не сможете только по исходным кодам восстановить все функции Chromium. Более того, без инструкции и мощной машины вы его даже не соберёте, про отладку я вообще не говорю.
Декомпилировать вы можете что угодно, вот вы противостоите разработчикам, которые хотят скрыть, что происходит в своей программе. Для этого надо быть:
а. Грамотнее разработчиков
б. Иметь очень много, иногда на порядок больше времени, чем затратили разработчики на свою программу.
То есть декомпиляции можно подвергать только относительно небольшие фрагменты программы, например алгоритмы шифрования, аутентификации пользователя, проверки что программа куплена и т. п.
Задача разработчика - скрыть эти фрагменты, разбросав их по коду, защитив виртуальной машиной в коде, привязкой к онлайн серверу, аппаратному ключу и т. п.
Например, вы не сможете только по исходным кодам восстановить все функции Chromium. Более того, без инструкции и мощной машины вы его даже не соберёте, про отладку я вообще не говорю.
Декомпилировать вы можете что угодно, вот вы противостоите разработчикам, которые хотят скрыть, что происходит в своей программе. Для этого надо быть:
а. Грамотнее разработчиков
б. Иметь очень много, иногда на порядок больше времени, чем затратили разработчики на свою программу.
То есть декомпиляции можно подвергать только относительно небольшие фрагменты программы, например алгоритмы шифрования, аутентификации пользователя, проверки что программа куплена и т. п.
Задача разработчика - скрыть эти фрагменты, разбросав их по коду, защитив виртуальной машиной в коде, привязкой к онлайн серверу, аппаратному ключу и т. п.
Похожие вопросы
- Объясните начинающему чайнику в двух словах, что означает выражение "Программа с открытым исходным кодом"?
- Ищу аудио конвертер из .mp3 в .wav с открытым исходным кодом под Windows.
- Стоит ли заниматься разработкой По с открытым исходным кодом и почему?
- Что значит открытый исходный код?
- В какой программе больше всех строчек кода
- родители мне вводят код, и я никак не могу попасть в комп без них, есть ли такая программа которая поможет взломать коды
- Нужен исходный код...
- Как понять машинный код ?(Компилятор переводит исходный код компьютерной программы в машиный код).
- Как посмотреть исходный код .exe файла?
- Необходимо написать кусок кода, который формирует новый массив из исходного.