![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| fedorov2012 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 27.8.2012 Репутация: нет Всего: нет |
Добрый день.
Скажите, пожалуйста, возможно ли как-то запретить Delphi в ресурсы exe'шника проекта добавлять сведения о dfm-файлах или добавлять. По-сути с помощью определенных инструментов можно выковырять все dfm-файлы и увидеть их код. На сколько я понимаю самый простой способ это в проекте со всех dfm-ок снять галочку "Text DFM" - это не позволит спрятать dfm в exe'шнике, но позволит хоть явно текстом не выводить. Но при таком подходе возникает, одно не удобство, если используешь средства типа svn, bazaar для контроля версий. Как быть? Это сообщение отредактировал(а) fedorov2012 - 10.8.2013, 23:13 Присоединённый файл ( Кол-во скачиваний: 25 )
dfm_off.PNG 4,01 Kb |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
Возьмите любой редактор ресурсов и удалите из экзешника эти "сведения о dfm-файлах".
-------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| fedorov2012 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 27.8.2012 Репутация: нет Всего: нет |
1. Не приведет ли это к проблеме самого exe'шника? 2. Зачем их удалять, если их можно не добавлять вообще? Добавлено через 8 минут и 10 секунд
После таких действий exe'шник перестанет запускаться |
||||
|
|||||
| fedorov2012 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 27.8.2012 Репутация: нет Всего: нет |
||||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
А вы думали что эти ресурсы в экзешник помещены просто от нечего делать? Хотите чтобы в экзешнике не было dfm-ресурсов - не используйте формы. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
В качестве бреда:
1. выключить добавление формы - в pas файле формы есть строчка {$R *.dfm} сразу после implementation, тупо её закоментировать 1.a. теперь при создании формы возникает исключение, типа "не могу найти форму в ресурках" 2. каким-нибудь образом перед компиляцией засовываем в ресурсы зашифрованный dfm 3. переписать создание формы в dpr Application.CreateForm(TForm1, Form1);, чтоб оно сначало расшифровывала dfm, затем загружало как было. 4. ... 5. PROFIT!!! Не знаю только как сделать #2. По идее должно быть можно запустить скрипт перед компиляцией, который сделает res файл с зашифрованными dfm проекта. А подключается внешний res легко - {$R cryptforms.res} |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Алгоритм, по которому можно реализовать задуманное:
1. пишем приложение, которое "обновляет" (читает/шифрует/заменяет) ресурсы с DFM-ками в готовом екзешнике. см. BeginUpdateResource/UpdateResource/EndUpdateResource 2. В своем приложении отказываемся от Application.CreateForm (и вообще от TForm.Create), используем TCustomForm.CreateNew 3. Написать свой аналог функции InitInheritedComponent с учетом загрузки и расшифровки dfm из ресурсов -------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |