Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.07;
Скачать: CL | DM;

Вниз

Converter из DCU в PAS?   Найти похожие ветки 

 
Эд   (2003-06-18 16:54) [0]

Господа, кто встречал конверторы из DCU в PAS? Может кто-нибудь знает на чём взломать DCU-файл? Ответь-те пожалуйста!


 
Юрий Федоров ©   (2003-06-18 16:59) [1]

Теоретически невозможно


 
Переяслов Григорий ©   (2003-06-18 17:02) [2]

А комментарии тоже нужно восстановить?


 
Digitman ©   (2003-06-18 17:08) [3]


> Эд


DCU, по сути - тот же OBJ.


 
Федя   (2003-06-18 17:17) [4]

2Digitman
Я бы сказал TPU


 
Digitman ©   (2003-06-18 17:33) [5]


> Федя


какая разница) .... и то и то - объектный код


 
Игорь Шевченко ©   (2003-06-18 17:39) [6]

В инете была программка untpu.exe


 
Digitman ©   (2003-06-18 17:54) [7]

Delphi Compiled (!!!!!) Unit

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


 
vuk ©   (2003-06-18 17:56) [8]

В ФИДО, помнится, кто-то на спор восстановил исходники из dcu. Правда, в полуручном режиме, но по словам автора исходников, восстановление было полным. Ну, только что комментариев не было. :o)


 
vuk ©   (2003-06-18 17:59) [9]

to Digitman:
Ну... Вообще говоря, в dcu имена экспортируемых переменных и классов имеются... Иначе линкеру как работать?


 
Игорь Шевченко ©   (2003-06-18 17:59) [10]

vuk © (18.06.03 17:56)

На спор и из exe"шника можно :)


 
vuk ©   (2003-06-18 18:03) [11]

to Игорь Шевченко:
>На спор и из exe"шника можно
Да можно, кто ж спорит. Просто из dcu (если знать формат) оно проще. :o)


 
Юрий Федоров ©   (2003-06-18 18:15) [12]

Одно дело восстановить список экспорируемых классов, методов и процедур, и совсем другое дело восстановить реализацию на паскале :-)


 
vuk ©   (2003-06-18 18:21) [13]

to Юрий Федоров:
Ну... Как сказать... Если хорошо изучить код, генерируемый компилятором для разных конструкций, то это задачка, конечно, сложная, но не непосильная. Ссылки на внешние функции в модулях в символьном виде живут, что тоже, теоретически, задачу облегчает.


 
Юрий Федоров ©   (2003-06-18 18:29) [14]

>>vuk © (18.06.03 18:21)
Все таки вряд ли. Имена локальных переменных, приватных членов класса - все это не восстановить. Можно конечно сгенерить самому, то есть получить не копию исходника, а его альтернативный вариант... А может и нельзя - трудно сказать


 
vuk ©   (2003-06-18 18:36) [15]

to Юрий Федоров:
>Имена локальных переменных приватных членов класса
Все это как раз присутствует. Причем, похоже, даже тогда, когда отладочной информации нет.


 
Юрий Федоров ©   (2003-06-18 18:47) [16]

>>vuk © (18.06.03 18:36)
Был неправ, вспылыл. Мое поведение недостойно чести советского офицера :-)


 
Кен ©   (2003-06-19 02:14) [17]

Ну, так, а какой программой восстанавливать то ? Если нужен ручной труд, то кто-нибудь знает что конкретно надо делать ? Может статьи какие или ещё чего ?


 
Asteroid ©   (2003-06-19 03:29) [18]

> Кен © (19.06.03 02:14)
Ручным трудом - это писать модули, компилировать и изучать, что в DCU изменилось, делать выводы, подправлять модули, снова компилировать...


 
p@s ©   (2003-06-19 04:55) [19]

Кен © (19.06.03 02:14)
Найди dcu2pas.exe . Здесь он наверно есть http://soarowl.uhome.net , ttp://www.websamba.com/soarowl , http://soarowl.0catch.com . Восстановишь интерфейс и тест продедур на асме. Ну а дальше ручками.


 
Кен ©   (2003-06-19 05:51) [20]

> p@s © (19.06.03 04:55)
> Кен © (19.06.03 02:14)
> Найди dcu2pas.exe . Здесь он наверно есть http://soarowl.uhome.net
> , ttp://www.websamba.com/soarowl , http://soarowl.0catch.com
> .

Я на Торри нашёл http://www.torry.net/tools_compilers.htm
Скачиваю.


 
Кен ©   (2003-06-19 06:09) [21]

Скачал. Мдаааааа. Теперь требуется asm to pas .


 
Digitman ©   (2003-06-19 08:27) [22]


> Кен


))))
а тебе что говорили ?) не занимайся ерундой, pas ты в исходном виде не получишь.


> vuk © (18.06.03 17:59)


я и не возражаю.
на то и формат объектного кода)
но вель экспорт-импорт - это совершенно иные вещи, нежели требуемые по сабжу дискуссии)


 
p@s ©   (2003-06-19 10:43) [23]

Кен © (19.06.03 06:09)
Чудес на свете не бывает :) Хотя для целей хака само то.


 
Mirovodin ©   (2003-06-19 12:11) [24]

DCU2PAS полезна для след-х вещей :

1. Анализа функций присутствующих в модуле (параметров, типов, классов). Например если утерян Headr.
2. Для взлома компонентов dcu2pas незаменимая вешь! Обычно прог-ты особо не заморачиваются и пишут функцию типа IsDelphiRun():boolean. Взлом производтся за 5-6 мин :)
3. Анализ того, во что превратился ваш гениальный код написанный на Delphi :) Удобно анализировать и оптимизировать.
4. Если проц-ры, фун-и по большинству используют API функции код получаемы с пом-ю программы очень легко проичать, т.к. это боычно множественные констукции вида :
PUSH ...
PUSH ...
CALL APIFunctionName
Восстановить по такому коду исходник не составит никакого труда.

Но необходимо помнить, что dcu2pas это всего лишь хороший инструмент к вашей голове :) и не ждите от него более.


 
Кен ©   (2003-06-20 01:54) [25]

> p@s © (19.06.03 10:43)
> Кен © (19.06.03 06:09)
> Чудес на свете не бывает :) Хотя для целей хака само то.

Вот если бы там хотя бы циклы можно было переводить из ассемблера в паскаль ...


> Mirovodin © (19.06.03 12:11)
> DCU2PAS полезна для след-х вещей :
>
> 2. Для взлома компонентов dcu2pas незаменимая вешь! Обычно
> прог-ты особо не заморачиваются и пишут функцию типа IsDelphiRun():boolean.
> Взлом производтся за 5-6 мин :)

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


 
p@s ©   (2003-06-20 05:40) [26]

Кен © (20.06.03 01:54)
Напиши несколько простых процедур. Передавай в них параметры разных типов. Используй разные конструкции типа сложение, вычитание тоже для разных типов переменных, переменные и константы. Циклы и условные переходы. Скомпиль это все. После востанови из dcu. Смотри, что из этого получилось. Скоро научишся их в коде находить. Хотя оптимизатор может кое-что пропатчить.



Страницы: 1 вся ветка

Текущий архив: 2003.07.07;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.016 c
3-19972
alecs
2003-06-11 19:07
2003.07.07
Как защитить данные в базе InterBase?


3-19971
tamara
2003-06-10 16:57
2003.07.07
MSSQL2000


14-20234
nizar
2003-06-19 10:22
2003.07.07
Kick лист IP адреса


3-19998
me2
2003-06-12 17:33
2003.07.07
Формирование SQL-запроса


3-20003
aga
2003-06-13 21:17
2003.07.07
BLOB