Сейчас на форуме: _MBK_, Magister Yoda (+5 невидимых)

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

Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

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

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



Ранг: 114.8 (ветеран), 41thx
Активность: 0.10
Статус: Участник

Создано: 01 ноября 2009 00:56
· Личное сообщение · #2

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




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

Создано: 01 ноября 2009 00:58
· Личное сообщение · #3

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

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

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


-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

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

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


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

-----
.[ rE! p0w4 ].





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

Создано: 01 ноября 2009 15:10
· Личное сообщение · #5

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


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

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 01 ноября 2009 15:19
· Личное сообщение · #6

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



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

Создано: 01 ноября 2009 16:17
· Личное сообщение · #7

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



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 01 ноября 2009 17:35
· Личное сообщение · #8

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



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 01 ноября 2009 17:55
· Личное сообщение · #9

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

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

-----
.[ rE! p0w4 ].




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

Создано: 01 ноября 2009 18:08
· Личное сообщение · #10

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

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



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 01 ноября 2009 19:55
· Личное сообщение · #11

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



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

Создано: 01 ноября 2009 20:31
· Личное сообщение · #12

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


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