Русский / Russian English / Английский

Сейчас на форуме: MrProxe (+4 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Основной форум —› Что за формат форм Дельфи, начинающийся на 'TPF7'?
Посл.ответ Сообщение

Ранг: 188.1 (ветеран)
Статус: Участник

Создано: 31 октября 2009 22:13 New!
Цитата · Личное сообщение · #1

Нужно проверить файлы classes.pas в исходниках Дельфи на предмет нахождения признака TPF7. Что-то у себя и в Инете ничего не нашел.

Ранг: 114.8 (ветеран)
Статус: Участник

Создано: 1 ноября 2009 00:56 New!
Цитата · Личное сообщение · #2

В Delphi 2006 и 7.0 в классах TReader/TWriter из classes.pas при чтении/записи компонента (и в частности форм приложения) для проверки правильности/записи заголовка используется только константа FilerSignature = 'TPF0'.
Зато если перебить в экзешнике значение константы и загловки всех форм, то работать будет, но при этом могут возникнуть проблемы с вытаскиванием) инфы о формах, в частности с помощью DeDe 3.50.02.


Ранг: 631.1 (!)
Статус: Участник
Автор VB Decompiler

Создано: 1 ноября 2009 00:58 New!
Цитата · Личное сообщение · #3

В Delphi 2010 стоит все тот же TPF0. Потому скорее всего тебе попался файл с самопальной модификацией classes.pas. То есть автор модифицировал этот файл а также патчит генерируемые EXE файлы. Подобная техника уже давно используется в PE Explorer

Вот копипаст из файла 2010 дельфи:

Code:
  1. const
  2.   FilerSignature: array[1..4] of AnsiChar = AnsiString('TPF0');

Ранг: 123.0 (ветеран)
Статус: Участник

Создано: 1 ноября 2009 13:44 · Поправил: Ultras New!
Цитата · Личное сообщение · #4

GPcH пишет:
То есть автор модифицировал этот файл а также патчит генерируемые EXE файлы. Подобная техника уже давно используется в PE Explorer


Там используется Citadel for Delphi от BilleniumSoft. В сети она кстати есть в сурсах.
Это она все делает, а не автор PE Explorer .


Ранг: 631.1 (!)
Статус: Участник
Автор VB Decompiler

Создано: 1 ноября 2009 15:10 New!
Цитата · Личное сообщение · #5

Ultras пишет:
Это она все делает, а не автор PE Explorer


Криптует и декриптует формы? Насколько я знаю в пексе это с незапамятных времен. Хотя спорить не буду.

Ранг: 188.1 (ветеран)
Статус: Участник

Создано: 1 ноября 2009 15:19 New!
Цитата · Личное сообщение · #6

GPcH
Ну, я интуитивно чувствовал, что там что-то подправлено, но как-то глубоко в это погружаться не хотелось.
Ultras
Что-то ссылки уже подустарели, варианта с сырцами уже не вижу. А у тебя нет сырцов случаем?

Ранг: 25.1 (посетитель)
Статус: Участник

Создано: 1 ноября 2009 16:17 New!
Цитата · Личное сообщение · #7

crypto, лови Citadel почтой (FS) в течение пары часов ;)

Ранг: 188.1 (ветеран)
Статус: Участник

Создано: 1 ноября 2009 17:35 New!
Цитата · Личное сообщение · #8

RUNaum
Шалом
Спасибо, я уже получил

Ранг: 123.0 (ветеран)
Статус: Участник

Создано: 1 ноября 2009 17:55 New!
Цитата · Личное сообщение · #9

GPcH пишет:
Криптует и декриптует формы?

Именно. Изначально автор не использовал Citadel, но со временем стал.

Ранг: 25.1 (посетитель)
Статус: Участник

Создано: 1 ноября 2009 18:08 New!
Цитата · Личное сообщение · #10

Citadel, кстати, сделана по "Антикрэкинговым мучениям" с Delphi Kingdom ;) Практически 1-в-1.

crypto, только не заморачивайся, умоляю, с добавлением анпака Citadel'и для IDR'a ) Это личная проблема каждого и, имхо, вопрос отдельной тулзы/плагина.

Ранг: 188.1 (ветеран)
Статус: Участник

Создано: 1 ноября 2009 19:55 New!
Цитата · Личное сообщение · #11

RUNaum
Я собираюсь только после анализа форм добавить сообщение, что "Цитадель, блин!"
ЗЫ
Кстати, а там похоже просто можно добавить сырцы Цитадели (ну с некоторыми ремарками).

Ранг: 1.0 (гость)
Статус: Участник

Создано: 1 ноября 2009 20:31 New!
Цитата · Личное сообщение · #12

В PE Explorer никаких цитаделей не используется. Правленный classes.pas и простенький алгоритм шифрования. Ищется ресурс (по имени имени формы), создается TResourceStream, читается из него в поток, поток расшифровывается и потом Stream.ReadComponent. Убедится, что это правленный classes.pas можно по тому, что внутри адресного пространства юнита нет родной процедуры чтения форм и присутствует процедура их расшифровки. Можете сами взять родной classes.pas и сравнить с содержимым PE Explorer'а.
 eXeL@B —› Основной форум —› Что за формат форм Дельфи, начинающийся на 'TPF7'?
Эта тема закрыта. Ответы больше не принимаются.

Видеокурс ВЗЛОМ