Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Декомпилятор exe, созданного в Delphi, в Pascal-код

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

apatit



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет!
 
Существует ли сабж? Если кто встречал, дайте, пожалуйста, наводку.
 
Заранее благодарен.

----------
http://www.murman.ws/ - Нет очередям в налоговой и на почте! Сэкономим бумагу.

Всего записей: 1169 | Зарегистр. 09-10-2001 | Отправлено: 13:37 28-08-2002
xrand

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
apatit
Exe2Dpr by Dmitriy Goldobin. 21.X.1999.
Exe2Dpr 3.1.
 
DeDe by DaFixer. 06.VIII.2002.
DeDe 3.10.
 
Revendepro by Python. 25.VII.2000.
Revendepro 0.0.2.17 (325K). Full source code (219K). For Delphi 5 binary version.
Успехов.

Всего записей: 408 | Зарегистр. 20-12-2001 | Отправлено: 15:01 28-08-2002
apatit



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xrand
Спасибо!
Все нашел, все скачал

----------
http://www.murman.ws/ - Нет очередям в налоговой и на почте! Сэкономим бумагу.

Всего записей: 1169 | Зарегистр. 09-10-2001 | Отправлено: 16:13 28-08-2002
jf

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
apatit
Тока Delphi 6-программы не декомпилит ( и даже 5, помоему)

Всего записей: 452 | Зарегистр. 14-04-2002 | Отправлено: 01:06 29-08-2002
infected

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Это называется декомпилятор? Всё что она делает - выдирает ресурсы и генерит миним когда, который эти окна описыват. dfm исходники вообще в exe-файле в открытом виде лежат Вот процедурки если б показывал... Так таких не существует и существовать не может...

Всего записей: 292 | Зарегистр. 22-03-2002 | Отправлено: 22:48 29-08-2002
Gigabyte_from_Sumy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если компиляция производится без всяких оптимизаций и т.п., то тогда возможна декомпиляция, иначе дела - полная задница...
DeDe в принципе неплохо декомпилирует... но очень много условностей...

Всего записей: 3 | Зарегистр. 14-10-2002 | Отправлено: 16:27 16-10-2002
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
infected

Цитата:
Вот процедурки если б показывал... Так таких не существует и существовать не может...

В fido7.ru.delphi несколько лет назад человек очень сильно ошарашил народ декомпиляцией DCU.  
Что касается ЕХЕ, то тут такая куча проблем, что максимум тебе сделают, это на место процедур выдавать ассемблерный код.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 17:37 16-10-2002
woffer

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Декомпиляция в язык высого уровня невозможна

Всего записей: 935 | Зарегистр. 11-10-2002 | Отправлено: 23:28 16-10-2002
f_serg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
woffer

Цитата:
Декомпиляция в язык высого уровня невозможна

Возможна! Правда, результат мало похож на программу на языке высокого уровня.

Всего записей: 1706 | Зарегистр. 11-09-2002 | Отправлено: 07:41 17-10-2002
xor1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
p;




флуди в другом месте.

Всего записей: 1 | Зарегистр. 18-10-2005 | Отправлено: 10:02 17-11-2005 | Исправлено: ShIvADeSt, 01:46 18-11-2005
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
фигня эти декопилы делал я результат полная ерунда реально там можно мало чего добиться




бездоказательные выводы не надо публиковать, если тебе не помогли не значит что фигня.

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 13:00 14-02-2006 | Исправлено: ShIvADeSt, 01:46 15-02-2006
GreenKaktuS

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Слушайте, вот после декомпиляции выдаёт практически весь код программы, только без процедур. Вместо процедур там написано типо \\adress и номер небольшой, вроде в шестнадцатеричной системе. И чё с этим делать. Все процедуры описывать самому по новой, или можно найти выход???

Всего записей: 1 | Зарегистр. 29-08-2007 | Отправлено: 15:12 29-08-2007
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GreenKaktuS
Внимательо смотреть, пытаться догадаться что там должно быть, всё таки не всё потеряно, вызовы апи функций, Published методов и протертей видно. Также с ассемблерного кода можно розглядеть циклы, условия. Вначале сложно, но потом читаеш как свой родной, тоесть украинский

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 00:21 30-08-2007
antonn2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а можно тупо находить по адресу код и оформлять его asm-аставками
правда такая фигня будет%)
 

Цитата:
В fido7.ru.delphi несколько лет назад человек очень сильно ошарашил народ декомпиляцией DCU.  

байка, передающаяся из поколения в поколение. ДКУ - бинарник

Всего записей: 96 | Зарегистр. 13-11-2006 | Отправлено: 00:47 30-08-2007
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
antonn2
В dcu сохраняется достаточно много инфы. Но нет одного, важного - инфи о локальных переменных. Правда если интересует восстановление функционала, то какая разница, переменная цыкла будет i или j?
 
Саму байку читал в подробностях. пример, который он декомпилировал теоретически мог, так как там в основоном вызовы методов класов различных(кажеться работа с реестром). Хотя учитывая, что даже отступы совпадали, создаётся впечетление, что человек сам с собой спорил.
Я бы хотел увидеть, как бы он декомпельнул какой-нибуть математический алгоритм. Вот там он на долго засел бы.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 00:17 31-08-2007
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
antonn2

Цитата:
ДКУ - бинарник

DCU  бинарник, но вто же время специфический бинарник, который имеет гораздо больше нужной при декомпиляции инфы чем EXE. В добавок не оптимизированный бинарник....
 
Для DOS Turbo Pascal был набор утилит, который среди прочего позволял декомпилировать DCU (точное расширение для DOS непомню), я ему скармливал свой модуль и проверял работу декомпилированного модуля, работа сохранялась, код был в основном Asm. Но работало. Так что посидев и много поработав  можно написать декомпилятор DCU.  
 
OdesitVadim

Цитата:
Хотя учитывая, что даже отступы совпадали, создаётся впечетление, что человек сам с собой спорил

Не показатель.
У нас на фирме из 4-х программеров у 3-х отступы совпадают. На других работах 2-3 человека в обязе были с одинаковыми привычками отступами, на одной все работали с одним отступом, т.к. стандарт однако.
 
Вроде в приватных переменных у них отличие было, но в общем то не существенное...

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 20:59 03-09-2007
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vserd
Под DOS бинарники назывались TPU. Был тогда продукт назывался он TVision. Было очень интересно посмотреть именно на паскалевский код. И я его наполовину востановил. А делал это под дебаггером. Написал программулю которая при нажатии клавиши сохраняет интересующую часть текстового экрана и перелистывает страницу вперёд. Дальше из текстового файла ещё одной утилиткой вычищались ненужные адреса, а вместо нужных организовывались метки. Так что получался сравнительно работоспособный код. Потом я читал это и переписывал на паскаль. Когда очередной юнит востанавливался я сравнивал его с исходным TPU. Так вот почти половину востановил. Работал над этим приблизительно четыре месяца. Но потом за рублей тридцать у фидошника купил полный набор исходников. Естественно названия локальных переменных не всегда совпадали, но сами алгоритмы походили исключительно, даже в части отступов. Но вот с Delphi пошла оптимизация - это уже сложнее. Некоторые локальные переменные существуют только в регистрах, так что догадаться бывает сложнее, чем просто оформить в asm вставку.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 11:25 04-09-2007
skvor22

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пробовал в DeDe восстановить простейшую программу, которую сам и написал на Delphi.
Восстанавливает интерфейс окна, но все процедуры на ассемблере. Пробую запустить под Delphi ругается и не запускает.  Максимум, что можно вынести из восстановления, это узнать статическая надпись на интерфейсе или нет, но не более. Мне, например нужно узнать чем отличаются две версии одной программы и как снять ограничение. Но так как запустить её из Delphi нельзя, то какая польза от воссановления.

Всего записей: 28 | Зарегистр. 25-04-2009 | Отправлено: 16:15 07-02-2010
Tantos



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skvor22, тебе - никакой. Другим помогает узнать адреса обработчиков событий, чтобы доработать их напильником через декомпилятор/отладчик, а так же более удобная работа с ресурсами/интерфейсом программы.

----------
Чем больше узнаю людей, тем больше люблю компьютеры.

Всего записей: 1038 | Зарегистр. 31-05-2005 | Отправлено: 06:39 09-02-2010
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tantos
Чем больше я узнаю интернет, тем больше мне нравятся программисты которые с ним не знакомы.
 
Поздравляю, сегодня глюк - 11 02 2010, а что будет ровно через год?




опять взялся за старое? Последнее китайское предупреждение, прекращай фреймить, оффтопить и тп. Иначе будет запрет на пост. Тем более пост Тантоса осмыслен, в отличие от твоего.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 21:31 11-02-2010 | Исправлено: ShIvADeSt, 03:56 19-02-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Декомпилятор exe, созданного в Delphi, в Pascal-код


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru