LINUX.ORG.RU

есть ли способы или программы для декомпилирования софта для последующей пересборки?

Есть, но только для жаб, питонов, дотнетов и прочей дряни, которая компилируется в байт-код. И то выхлоп получается, хоть и компилябельный и запускабельный, но редактировать его сложно (если у многих возникают проблемы с чужим отлично комментированным и форматированным кодом, то представьте, какие проблемы будут с чужим кодом без ни единого комментария, да и не всегда имена локальных переменных не во всех случаях сохраняются).

Для компилируемых ЯП нет НИ ОДНОГО способа, который бы позволил получить компилябельный код, при компиляции которого получилось бы хоть что-то, отдаленно напоминающее оригинал. Даже если бы декомпилятор существовал, он бы никак не смог восстановить имена переменных, функций и т.д. и т.п., т.к. этой информации в скомпилированном файле нет.

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

Deleted ()

>есть ли способы или программы для декомпилирования софта для последующей пересборки?

Есть. Но так чтобы поc#ать и не надуться - не получиться.

Led ★★★☆☆ ()
Ответ на: комментарий от Deleted

редактирование не нудно даже код как таковой не нужен

как-то так, берем прогу, декомпилируем в какую-то НЕХ, ету НЕХ неглядя пересобираем компиляторм.

andy_s ()
Ответ на: комментарий от Eddy_Em

сдесь кагбе иначе

софт куплен вместе с железом

то есть, если бы удалось пересобрать, дальше рабочей машины софт бы не ушел.

andy_s ()
Ответ на: комментарий от fluorite

хз

есть способ узнать?

у меня есть инсталка и установленая софтина, там где-то внутри есть запись о язике?

имхо, софт для работы с железом под винду - я не програмер, но из общих соображений - Си скорее всего.

andy_s ()
Ответ на: комментарий от andy_s

Вам вместе с софтом дали исходники? Что ж, тогда не все потеряно: год-другой, и у вас будет нативный софт.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от andy_s

>никогда неизвестно наперед, где дуццо и как сильно...

Для неокончивших школу - да

Led ★★★☆☆ ()
Ответ на: комментарий от andy_s

Раз вам нужен только компилябельный исходник, то чем не катит дизассемблирование? IDA в руки и вперед, в 90% случаев он генерит правильно компилируемый и работающий код (правда, его вроде как нечем собрать на никсах, т.к. MASM (или TASM?))

Deleted ()

Ассемблер-то знаешь, дружок?

melkor217 ★★★★★ ()
Ответ на: комментарий от Deleted

Был такой хакер - HEX. В студентах вёл очень интересный сайт про взломы и «исследования» защиты разного проприетарного софта (сайт периодически блокировали, в конце концов снесли, но люди помнят :) ). После пошёл в какую-то софт-фирму, где по заданию сделал плюсовый декомпилер для исследования софта конкурентов. Дальше не знаю.

Есть паранойя, что у чекистов тоже есть декомпилеры ).

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

Ну то, что делает IDA вы видели. Очень классный софт.

Aman ()
Ответ на: комментарий от Aman

>Ну то, что делает IDA вы видели. Очень классный софт.

Никакой магии IDA не делает. Вы не пробовали собирать сорцы, полученные с помощью IDA?

AptGet ★★★ ()
Ответ на: комментарий от Aman

IDA, конечно, классная, но ничего невозможного она не умеет. Имен, как и все, не сохраняет, даже если есть дебаг-инфа (т.к. воспринимает только несколько ее форматов). Иногда ошибается даже на самых, казалось бы, простых вещах (хотя на самом деле это решающие факторы при выборе дизассемблера) (без идеальной реализации которых декомпилятор не сможет существовать - отделение кода от данных, определение, чем является константа - смещением или просто числом). Над полученным кодом нужно нехило так подолбаться, чтобы понять, а часто - и чтобы собрать (особенно в Linux).

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.