Декомпиляция, Возможно ли это? |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Декомпиляция, Возможно ли это? |
Amro |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: 2 |
У меня возник вопрос!!! Можно ли каким то образом декомпилировать exe-зешний файл, скомпилированный на паскале??? Если да, то как???
-------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
GoodWind |
Сообщение
#2
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
сомневаюсь....
дизасемблировать можно, но декомпилировать.... -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
MeD |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 61 Пол: Мужской Репутация: 1 |
В пaкете Turbo Analyst 7.0 есть програма котоpaя может восстaновить
интеpфейсную чaсть скомпилиpовaнного модуля. Подобной инфы в нэте полно. |
GoodWind |
Сообщение
#4
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Цитата интеpфейсную а смысл нам от итнрфейсной ? весь код давай ! -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Amro |
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: 2 |
Я так понял, восстановить исходный код невозможно полностью, ну а хотя бы частично?
-------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
Altair |
Сообщение
#6
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Amro, не слушай их, код востановить нельзя!
(Я имею ввиду код на паскале) только на асм можно. Но это не нужно. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Amro |
Сообщение
#7
|
Пионер Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: 2 |
Oleg_Z Спасибо!!!
-------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
GoodWind |
Сообщение
#8
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
OLeg_Z, а я вот видел прогу на пасе, которая выводит свой код, это как объяснить ?
прога была опубликована в одном из номеров Harm`a (был когда-то такой e-mag) -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
Сообщение
#9
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Так она протсо текст выводит!
Ну не возможно преобразовать АСМ в язык высшего уровня. Пардон, высокого. В высшей тем более. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
virt |
Сообщение
#10
|
Знаток Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: 6 |
Oleg_Z
ну вообщето возможно ,только не факт что полученное нечто будет соответствовать исходнику. Это как дифференцирование и интегрирование : при интегрировании ты получаешь не конкретную функцию а целый класс. -------------------- |
Altair |
Сообщение
#11
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Согласен, но иногда вообще невозможно... зависит от кода, если там огромное количество безусловных переходов, то востановить проргамму можно огромным количеством способов, и все будут разными, и то, востановить можно только теоритически!
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
GoodWind |
Сообщение
#12
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Цитата Так она протсо текст выводит! найду Харм (или сам поищи) дам почитать -- смотри в одном из номеров тут: в одном из первых трех, по-моему http://scene.ru/harm/index.html Сообщение отредактировано: GoodWind - -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
APAL |
Сообщение
#13
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
К слову:
На нашем форуме уже была прога, которая сама себя распечатывала... -------------------- |
Ozzя |
Сообщение
#14
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Цитата(Amro @ 14.10.04 23:05) Можно ли каким то образом декомпилировать exe-зешний файл, скомпилированный на паскале??? Да, если прии компиляции был включен режим Options -> Debugger -> Standalone debugging Другое дело, что этого никто обычно не делает |
Altair |
Сообщение
#15
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
А можно подробнее про этот режим?
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Amro |
Сообщение
#16
|
Пионер Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: 2 |
Ozzя
Да очень бы хотелось узнать, как и чего?? -------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
GoodWind |
Сообщение
#17
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
ежели мне не изменяет память (что бывает часто), то SofIce и подобные отладчики и пользуются Debug information, генерируемой Debug Mode
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
P@sh@ |
Сообщение
#18
|
Бывалый Группа: Пользователи Сообщений: 180 Пол: Мужской Репутация: 2 |
GoodWind
с каких это пор "SoftIce и другие отладчики" стали декомпилировать асм в паскаль? по отладочной информации можно восстановить только названия переменных, блоков программы (функций/процедур), меток и т.д. но не последовательность высокоуровневых команд!!! тем более после оптимизации их компилятором... а теоретический принцип декомпиляции такой: если например в проге стоит строчка Код a:=0; а ее ассемблерный аналог выглядит например так Код lea di,a mov [di],0 то надо каждый такой ассемблерный блок заменять выше приведенной строчкой... но на деле компилятор вполне может сделать такой код: Код xor ax,ax mov [ebp+8],ax ... понятно, о чем речь? |
GoodWind |
Сообщение
#19
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Цитата с каких это пор "SoftIce и другие отладчики" стали декомпилировать асм в паскаль? речь шла о Debug а не о Disasm... Цитата восстановить только названия переменных, блоков программы (функций/процедур), меток и т.д. как-раз при помощи них, помоему, SIce и ловит breakpoint`ы... Цитата но не последовательность высокоуровневых команд!!! ясен перец... -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
Сообщение
#20
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
даже после оптимизации обычного кода на паскале, востановить его первоначальный вариант невозможно, что уж говорить о переводе на асм и еще оптимизации его ) -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Текстовая версия | 4.05.2024 8:33 |