Возможно ли closed source перевести в обычный код? Если нет то почему?
Лишь недавно узнал что есть Закрытый & Открытый софт, когда стал подбирать более оптимальные программы для своих целей. И если про открытый софт написано много всего и в целом мне понятно как с ним взаимодействуют. То вот попытки разобраться с Закрытым мало к чему привели из-за того что нигде не нахожу информации о его особенностях. А точнее что с ним возможно делать, а что нет. (гугл лишь ответил аля, что закрытый софт это не открытый... и на том спасибо конечно...)
У меня нету ни каких целей для того, что бы использовать это в каких либо целях нарушающих какой либо закон... или в попытках как то это эксплуатировать в обход согласия автора какого либо софта.
Но я хочу узнать:
- возможно ли перевести бинарный код в обычный язык в котором он был написан?
- если нет, то в чём сложность?
Интересует это для:
- понимания уровня защиты исходника таким образом, для сравнения разного софта у которого код отрыт и у которого нет. (доп. критерий при выборе софта так как об этом часто пишут в обзорах)
- и для повышения своей грамотности так как пишу время от времени на c#, хотя по образованию не разу не программист
Василий Банников, оу... это многое объясняет... 0_0
Правильно понимаю, что может теряться в том числе информация на каком языке это было написано... а так же теряется достаточное количество ключевой информации, что бы компеляция обратно каждого конкретной программы превращается в дико муторный и дико долгий процесс и бинарный код разного софта требует отдельного подхода... ?
JohnMirra, скорее технически невозможен. Представим что у нас есть карта и у нас есть робот, которого надо заставить проходить по маршруту. Вся карта ему не нужная а только набор инструкций вроде «вперёд 10 метров, повернись направо, вперёд 50 метров» и из этого исходную карту не сделать и не узнать что дорога обходит деревья и что у дороги есть ответвления
Иван Шумов, JohnMirra, но если вообще упростить то компьютер знает только простейшие двоичные операции. Постройте из этого имена классов, структуру файлов и тем более комментарии. Это будет забавно
Полноценно нельзя. Есть небольшой набор инструментов, но бинарный представляет собой более низкоуровневый набор инструкций, а язык программирования - лишь абстракция над ним. Что можно делать с таким ПО как и в случае с open source - определяет лицензия и условия распространения. В большинстве своём там четко написано что любой способ использования и распространения кроме утверждённых производителем является нарушением лицензии и подобные вопросы решаются в судебном порядке