Текущий архив: 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.5 MB
Время: 0.006 c