ДЕКОМПИЛИРОВАНИЕ ПРОГРАММЫ ДЛЯ ЭВМ — это что?
ДЕКОМПИЛИРОВАНИЕ ПРОГРАММЫ ДЛЯ ЭВМ — это что? Значение слова ДЕКОМПИЛИРОВАНИЕ ПРОГРАММЫ ДЛЯ ЭВМ
Найдено 3 значения для слова «декомпилирование программы для эвм»:
Декомпилирование Программы Для Эвм — — технический прием, включающий преобразование объектного кода в исходный текст в целях изучения структуры и кодирования программы для ЭВМ.
Декомпилирование Программы Для Эвм — — это технический прием, включающий преобразование объектного кода в исходный текст в целях изучения структуры и кодирования программы для ЭВМ; Закон Российской Федерации от 23.09.92 N 3523-I, ст.1
Декомпилирование Программы Для Эвм — — технический прием, включающий преобразование объектного кода в исходный текст в целях изучения структуры и кодирования программы для ЭВМ. Декомпилирование может. подробнее
Дополнительно
- Слова из слова «декомпилирование программы для эвм»
- Рифма к слову «декомпилирование программы для эвм»
Источник: wordmap.ru
Реверсинг python программы, почему python не безопасен
Декомпилирование программы что это
Сегодня мы с вами научимся декомпилировать и собирать(компилировать обратно) привычные для нас ядра различных сборок.
Много криков слышится о том что без исходных кодов работать с компилированным ядром ява сервера — не возможно. Это абсолютно не верная информация и абсолютно не правильная.
Сегодня, мы с вами ознакомимся с 1 из методов работы с подобным видом продуктов.
Что нам понадобится?
-
Естественно, любой свободный декомпилятор Java среды.
Итак, для начала — выбираем нашу любимую жертву, над которой будем усердно работать.
Не знаю, для какой цели вам нужен кусок исходных кодов — но дело ваше. Для эксперемента, жертвой были выбран скомпилированный код команды l2jfozen, чтоб обидно не было никому.
Первым нашим шагом будет декомпиляция собственно нужного нам класса.
Много ума здесь совсем не нужно. Поэтому — задействуем ранее скачанный декомпилятор(я буду вести пример на основе jd gui decompiller).
Открываем jar архив с нужным нам классом:
Декомпилируем нужный нам класс в исходные коды (java):
Теперь, настал момент истины и их нужно обратно собрать.
Делать мы это будем ровно в 1 клик. Для сбора мы создадим папочку: D:compile, в которую поместим декомпилированный нами ранее класс (скрин №2) и сам .jar архив который мы декомпилировали.
Знакомство с дизассемблером (ОЧЕНЬ СЛОЖНО)
Теперь — осталось не много не мало — скомпилировать наш класс. Для этого, мы используем консоль нашей OS (у виндузятников — cmd, линупсоиды — думаю подсказывать не нужно где консоль).
Для начала, проверим — доступен ли нам компилятор (javac) в исконном виде. Введем в консоль:
Если после введения команды нам высветило большой манаул — все в порядке. Если же результатом исполнения стало:
«javac» не является внутренней или внешней командой
то беда пришла за нами. Дело — копеечное, решается ровно в 4 клика.
Если возникло двигаем: Мой компьюетр->свойства->дополнительно->переменные среды и ищем там переменную «Path». Выбираем — редактирование, и дописываем путь к бинарникам нашей Jdk (/путь до jdk/bin), к примеру это будет выглядеть так:
и добавляем (через ; к переменной). Сохраняем, и открываем консоль снова. Если при исполнении javac все в порядке — воуля, проблема устранена.
Теперь — непосредственно компилируем ранее декомпилированный нами класс.
Заходим туда, где лежит наш класс:
Компилируем сам класс:
D:compile>javac -classpath l2jfrozen-core.jar -Xlint:unchecked Имя_декомпилированного_класса.java
как пример — компиляция Config.java:
D:compile>javac -classpath l2jfrozen-core .jar -Xlint:unchecked GameServer.java
Что ж, на выходе (в той же папке) мы получили: наш_класс.class. Дело сделано, все довольны.
Осталось — мелочи. Открываем декомплируемое нами ядро (l2jfrozen-core.jar) простым архиватором (winzip, winrar, 7z) и доходим до уровня, где лежит старый класс. Удаляем старый класс, жмем «ADD» и запихиваем сюда класс, который мы скомпилировали выше.
Вот собственно и все, мы проделали операцию нужную вам. После декомпилирования класса вы можете внести свои поправки в исходный код и успешно скомпилировать его и всунуть куда нужно.
Источник: forummaxi.ru
Декомпилирование компьютерных программ
Проблемы, связанные с использованием компьютерных программ, обострились в последние годы, когда произошел рост как ассортимента, так и количества программных продуктов. Законодательное закрепление охраны программных продуктов в большинстве стран происходило в условиях, когда доминировали программные продукты и вычислительная техника, произведенные в основном фирмами IBM и DEC.
В то давнее время многие страны Европы были уверены, что они сумеют догнать других, если предоставят своим разработчикам и производителям программного обеспечения льготные условия. В этом же была уверена и Япония, начав выполнение претензионной программы создания ЭВМ интеллектуального (пятого) поколения. Но она оказалась далекой от реализации, поскольку основой такой техники является программное обеспечение, в создании которого Япония отставала. Однако время не оправдало надежды стран Европейского Союза и Японии и доминирование производителей программного обеспечения США сохранилось.
Причин такому положению много, но главное заключается в том, что подражание ведет к регрессу. Если в некоторых сферах научно-технической деятельности правильность этой формулировки не столь явно выражена, то в творческой деятельности ее правота не вызывает сомнения. Что касается компьютерных программ, то здесь и подражание оказалось невозможным, прежде всего потому, что компилирование исходного текста программы в действующую компьютерную программу является необратимым процессом. Необратимость компилирования не была извес-
210___________________________________________ Глава 5
тна политикам и юристам. Непонимание существа компиляции компьютерных программ, желание без необходимых инвестиций добиться уровня других разработчиков и производителей программного обеспечения привели к очевидному результату: декомпилирование и достижение должного уровня оказались невозможными.
Декомпилирование рассматривалось большинством стран как панацея от экспансии заокеанских программных продуктов. Этот принцип лег в основу многих международных документов, модельных положений, национальных законов. Наиболее- известным документом в этой связи является Директива Европейского Союза «О правовой охране компьютерных программ», ст. 6 которой посвящена декомпилированию компьютерных программ. Эту статью целесообразно привести полностью, поскольку она была воплощена как в законах стран Европейского Союза, так и в законодательстве ряда стран СНГ:
«1. Не требуется разрешения правообладателя, если воспроизведение и преобразование кода программы в смысле статей 4(а) и 4(Ь)’ является обязательным для получения сведений для достижения совместимости независимо созданной программы с другими программами при выполнении следующих условий:
(а) эти действия производятся лицензиатом или иным лицом, имеющим право использовать экземпляр программы, или от их имени лицом, уполномоченным на такие действия;
1 В соответствии с ст. 4 исключительные права правообладателя включают право осуществлять или разрешать осуществление следующих действий:
«(а) постоянное или временное воспроизведение компьютерной программы любыми средствами и в любой форме полностью или в части. Поскольку загрузка, отображение, выполнение, передача или хранение компьютерной программы требуют такого воспроизведения, эти действия могут совершаться только с разрешения правообладателя;
(Ь) перевод, адаптация, переделка или любое другое изменение компьютерной программы и воспроизведение результатов этих действий без ущерба правам лица, которое изменило программу». (Прим. авт.)
Основные формы и виды произведений 211
(b) сведения, необходимые для достижения совмести
мости, ранее не были легко доступны лицам, перечис
ленным в параграфе (а), и
(c) эти действия ограничены частями исходной про
граммы, необходимыми для достижения совместимости.
2. Сведения, полученные при использовании положений
п. 1, запрещается использовать для:
(a) других целей, кроме достижения совместимости не
зависимо созданной компьютерной программы;
(b) передачи другим лицам, за исключением случаев,
если это необходимо для совместимости независимо
созданной компьютерной программы; или
(c) использования для разработки, производства или мар
кетинга компьютерной программы схожей по форме, или
другого действия, нарушающего авторское право.
3. В соответствии с Бернской конвенцией об охране лите
ратурных и художественных произведений положения дан
ной статьи не могут интерпретироваться как допущение
такого их использования, которое необоснованным образом
ущемляет законные интересы правообладателя или наруша
ет нормальное использование компьютерной программы» 1 .
Статья содержит ряд противоречий, что естественно, поскольку она должна была по существу разрешать то, что по форме обязана была запрещать. Поскольку деком-пиляция компьютерных программ невозможна, эта статья оказалась изначально мертворожденной. Тем не менее, страны Европейского Союза включили в свое национальное законодательство аналогичные положения.
1 Council Directive on the Legal Protection of Computer Programs
(91/250/EEC of 14 May 1991), Official Journal of the European
Communities, No. L/122, of May 17, 1991. P. 42.
2 Intellectual Property Laws and Treaties. Geneva, WIPO, July/
August 1998, text 3-01. P. 8.
212____________________________________________ Глава 5
упомянутой статьи. В законе об авторском праве и смежных правах Германии ст. 69е повторяет все те же нормы Директивы Европейского Союза 1 . Даже в законодательстве Швейцарии, которая не является членом Европейского Союза, в ст. 21 также говорится о прямом декодировании компьютерных программ 2 . Эти же нормы повторены в Законах Российской Федерации «О правовой охране программ для ЭВМ и баз данных» и «Об авторском праве и смежных правах». Все страны СНГ, в которых приняты законы об авторском праве и смежных правах, ввели аналогичную норму.
Необходимо подчеркнуть, что ни один производитель программного обеспечения, в том числе и из стран Европейского Союза, никогда не разрешал какой-либо декомпи-ляции или декодирования своих программ. Более того, в лицензионном соглашении, поставляемом с каждым экземпляром компьютерной программы, прямо говорится, что такие действия запрещены. Аналогичные нормы закреплены в ст. 117 Закона США «Об авторском праве» 3 .
Принимая все это во внимание, при разработке Закона Республики Беларусь «Об авторском праве и смежных правах» от 11 августа 1998 года были исключены дискриминационные меры по отношению к авторам и производителям компьютерных программ. Положение упрощалось тем, что декомпилирование компьютерных программ невозможно в принципе. Поэтому можно было исключить даже упоминание о декомпилировании не только как знак уважения к труду разработчиков компьютерных программ, но и как бесполезную процедуру и сделать положения об использовании компьютерных программ соответствующими действительности. При исключении декомпиляции из национального законодательства об авторском праве принималось во внимание и положение на рынке свободных
1 Intellectual Property Laws and Treaties. Geneva, WIPO, July/
August 1998, text 3-01. P. 19-20
2 Intellectual Property Laws and Treaties. Geneva, WIPO, September
1993.
3 Copyright Law of the United States of America. U.S. Government
Printing Office: 1996-405-104/40,029, September 1996. P.63.
Основные формы и виды произведений__________________ 213
программных продуктов, в котором декомпиляция оказывалась бы оскорблением программистов, которые и без того свободно передавали свои разработки другим людям. Успех свободного программного обеспечения только подтверждает уже высказанную мысль — подражание ведет к регрессу, а творчество — к прогрессу.
studopedia.org — Студопедия.Орг — 2014-2022 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с) .
Источник: studopedia.org
Декомпиляция exe
Как известно, декомпиляция exe – это процедура воссоздания начального кода приложения. И без стороннего программного обеспечения в этом деле не обойтись. Поэтому ниже в статье мы рассмотрим несколько самых удачных и популярных программ для процесса декомпиляции.
Важно учитывать еще и высокоуровневый язык, на котором была написана программа. Потому что не все утилиты умеют воссоздавать исходный код разных языков программирования.
EMS Source Rescuer
Скачайте бесплатную программу-декомпилятор, которая умеет преобразовывать exe в текстовый код.
Работает только для приложений, написанных на Delphi и C++ Builder.
1. Через проводник выберите нужный файл, который желаете перевести в код. Введите имя проекта и нажмите «Next».
2. В левом списке выберите необходимые элементы и output style.
3. Ознакомьтесь с полученным результатом. Выберите папку для сохранения и нажмите на кнопку «Save».
VB Decompiler
Приложение на русском языке. Декомпилирует Visual Basic 5.0 и 6.0. Скачать можно на официальном сайте.
1. Зажмите одновременно Ctrl+O на клавиатуре, чтобы перейти к выбору exe-файла.
2. Результат декомпиляции будет показан в новом окне. Слева объекты, справа – исходный код.
3. Чтобы сохранить проект, нажмите Ctrl+S и выберите путь.
DeDe
Еще одна бесплатная утилита для декомпиляции exe-файлов, написанных на языке Delphi.
1. Скачайте и установите программу на свой ПК.
2. Выберите файл для загрузки.
3. Нажмите «Процесс».
4. После успешной процедуры декомпиляции перейдите на вкладку «Проект», выберите нужные файлы для сохранения, а также конечную папку. Кликните по указанной на скриншоте кнопке.
В этой статье мы разобрали три программы, которые можно использовать для декомпиляции exe файлов, созданных на разных языках программирования. Помните, что результат зависит от правильности выбранного языка. Например, если Вы будете воссоздавать исходный код программы, написанной на C++ декомпилятором для Delphi, то ничего толкового не получится.
Источник: user-life.com
Значение слова декомпилятор
Декомпиля́тор — это программа, транслирующая исполняемый модуль (полученный на выходе компилятора ) в эквивалентный исходный код на языке программирования высокого уровня.
Декомпиля́ция — процесс воссоздания исходного кода декомпилятором.
Декомпиляция, в частности, используется при обратной разработке программ.
Удачность декомпиляции зависит от объема информации, представленной в декомпилируемом коде. Байт-код , используемый большинством виртуальных машин (таких как Java Virtual Machine или .NET Framework Common Language Runtime ) часто содержит обширные метаданные, делающие декомпиляцию вполне выполнимой, в то время как машинный код более скуден и сложен в декомпиляции. В частности трудночитаемыми представляются вызовы подпрограмм или функций с косвенной адресацией вызовов .
Если известно на каком языке была написана декомпилируемая программа, то в первую очередь дизассемблируются и анализируются библиотеки времени исполнения (RTL — runtime library) компилятора с этого языка, так как в основном компиляция программы сводится к вызовам с различными параметрами процедур из этих библиотек. Кроме того, многие компиляторы позволяют увидеть, в какой ассемблерный код превращаются операторы программы после компиляции. Эти конструкции становятся шаблонами для декомпилятора, поэтому процесс декомпиляции в некотором смысле похож на распознавание в машинном коде конечного набора подобных шаблонов. Легче всего распознаются вызовы процедур и возвраты из них. Они служат границами для восстановления операторов процедуры.
Некоторые компиляторы и инструменты используемые после компиляции подвергают программный код обфускации с целью затруднить декомпиляцию.
Дополнительная информация:
Транслитерация: Dekompilyator
Задом наперед читается как: ротялипмокед
Декомпилятор состоит из 12 букв
Источник: xn--b1algemdcsb.xn--p1ai