Действительно ли возможно получить исходный файл от exe?

Я видел, что мой друг получает файл исходного кода от Java *.class 'файл. Он использовал некоторое программное обеспечение для него.

Действительно ли возможно сделать то же с '*.exe'? Если да, как я могу сделать это? Также действительно ли это этично, чтобы сделать такую вещь, полагая, что исполняемый файл является просто маленьким файлом, который не защищен авторским правом?

5
задан 12.05.2011, 16:29

0 ответов

Это зависит от базового языка, который использовали разработчики.

Для Java и языков.NET возможно большую часть времени "декомпилировать" исходный код. это не будет истинным исходным кодом (имена переменной будут отличаться, оптимизация компилятором перестроит код, и т.д.), но это будет близко.

Другие языки, такие как C/C++ не так легки.

До этики идут, если Вы - просто кодер хобби, заинтересованный проигрыванием вокруг затем, это прекрасно. Однако, если Вы - профессионал, и Вы пытаетесь заставить исходный код копировать приложение затем, это очень неэтично и большое нет - нет!

8
ответ дан 07.12.2019, 16:51

Если приложение записано на одном из языков.NET (VB/C#), можно использовать Отражатель Красного Логического элемента reflector.red-gate.com для разборки приложения в соответствующие исходные файлы. Не каждое приложение записано на управляемых языках как это, хотя, и декомпиляция приложения C++ или одного записанного в Delphi или другом неуправляемом языке совсем не как легкая, и все, что можно действительно получить, шестнадцатеричные дампы, которые очень трудно затем восстановить в реальное приложение.

4
ответ дан 07.12.2019, 16:51

Вы не можете сделать этого если Ваш .exe код находится в C/C++, но если это находится в C#, можно сделать это. Я не знаю хороший инструмент для этого, но один путь использует Профилировщика МУРАВЬЕВ. Это показывает Вам всем объекты, методы и аргументы от двоичного файла C#.

2
ответ дан 07.12.2019, 16:51

Да возможно декомпилировать .exes использование инструментов как dcc Декомпилятор. Это приведет к хорошим результатам, если исходная программа была записана в C. Если это было записано на другом языке затем, Вам, вероятно, придется попробовать другой инструмент, который подходит для того языка.

При декомпиляции программного обеспечения, чем больше Ассемблера Вы знаете, тем лучше, поскольку Вам, вероятно, придется исследовать код высокого уровня от низкоуровневого блока, если декомпилятор становится запутанным или если часть кода была на самом деле написана в Ассемблере.

Декомпиляция является отличным способом учиться, как программы работают на самом низком уровне. Вы также найдете, что во многих случаях декомпилируемая программа скомпилирует назад в exe, но символы, используемые для описания переменных, полностью бессмысленны. Вам, вероятно, придется сделать расследование для фактического понимания то, что код означает и делает.

Я не вижу ничто плохого этически для декомпиляции кода для Вашего собственного развлечения или образования, но если у Вас есть злонамеренное намерение, такое как декомпиляция коммерческого программного обеспечения для изменения сообщения авторского права на собственное, или искать уязвимость для злонамеренной эксплуатации затем это можно было считать неэтичным.

Можно найти, что разработчик перешел к некоторым длинам для предотвращения декомпиляции путем создания загрузчика, который распаковывает программное обеспечение в память или имеет код явно, чтобы перепутать декомпиляторы. Это - вся часть забавы.

1
ответ дан 07.12.2019, 16:51

Техническая сторона: Да, возможно декомпилировать код... вид. То, что Вы возвратите, не будет кодом первоисточника, и он даже не может напомнить код первоисточника все это тесно, если исполняемый файл не был скомпилирован с полной включенной отладочной информацией. Заключительным производственным сборкам часто отключали отладочную информацию, однако, для хранения исполняемого файла как можно меньше и постараться не давать больше, чем абсолютный минимум информации любому, кто исследует исполняемый файл.

Легальная сторона: В соответствии с Цифровым Законом об авторском праве Тысячелетия, пытаясь декомпилироваться или перепроектировать любое программное обеспечение, которое владелец авторских прав попытался защитить от этого. Как интерпретируется судами к настоящему времени, не имеет значения, как смехотворно слабый попытка могла бы быть, это все еще недопустимо. Даже если там не будут существовать никакие технологические меры для защиты кода, то, вероятно, будет лицензионное соглашение, говоря, что Нельзя декомпилировать или перепроектировать исполняемый файл.

Как правило я склонен рассматривать эти вещи быть совершенно этичным, пока Вы не делаете их с намерением вредить кому-либо еще, но закон имеет тенденцию не соглашаться.

1
ответ дан 07.12.2019, 16:51

Теги

Похожие вопросы