Автор | Сообщение |
|
| постоянный участник
|
Пост N: 4811
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.03.16 14:09. Заголовок: Формат иконок в ехе-файле ?
Всем привет ! Кто знает в каком формате Borland 5.51 сохраняет иконки в ресурсах ехе-файла ? По идеи должны быть PE32 ресурсы, но может я не прав... Если это не PE32 ресурсы, то как привести иконки в PE32 ? Вот тестовый пример - https://cloud.mail.ru/public/3mNs/eVp4CfLFE
|
|
|
Ответов - 52
, стр:
1
2
3
All
[только новые]
|
|
|
| |
Пост N: 837
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.03.16 16:22. Заголовок: Andrey пишет: Кто з..
Andrey пишет: цитата: | Кто знает в каком формате Borland 5.51 сохраняет иконки в ресурсах ехе-файла ? |
| расшифруй - PE - Portable Executable это основной формат хранения исполнимых файлов в ОС Windows - Borland 5.51 - 32 разрядный компилятор , из него ilink32 тупо берет res файл и клеит его в PE - res файл формируется компилятором ресурсов brcc32 - формат хранения иконок - ICON , такой как задан в rс файле при описании Поскольку иконки в ресурсе описали как тип ICON , bcc при работе приложения будет обрабатывать их используя функцию LoadIcon()
|
|
|
|
| постоянный участник
|
Пост N: 4812
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.03.16 16:36. Заголовок: Haz пишет: расшифру..
Haz пишет: Да я тут в техподдержку бывшего Алладина (http://www.safenet-sentinel.ru/) написал письмо, а они мне в ответ пишут что формат иконок не тот. "Если иконки не защищаются – значит они вероятнее всего не относятся к PE32 ресурсам, а следовательно Envelope их защищать и не будет." Вот я и озадачился в каком формате Борланд собирает иконки ?
|
|
|
|
| |
Пост N: 838
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.03.16 16:47. Заголовок: Andrey пишет: значи..
Andrey пишет: цитата: | значит они вероятнее всего не относятся к PE32 ресурсам, |
| Обычный ресурс PE файла , смотрится любым PE Viewer, ResHacker и прочей байдой. Может намекают на то что иконки внешние и подгружаются с диска.
|
|
|
|
| постоянный участник
|
Пост N: 4813
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.03.16 16:49. Заголовок: Haz пишет: Обычный ..
Haz пишет: Да вот не могу их убедить что это РЕ. Отправил им тестовый пример...
|
|
|
|
| постоянный участник
|
Пост N: 4816
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.03.16 18:19. Заголовок: Печально, оказываетс..
Печально, оказывается иконки в ресурсах всё таки не в PE... Вот их ответ: По скриншоту видно, что загруженные Вами в проект иконки действительно не защищаются и доступны для изменения. Однако если мы посмотрим на Bitmap изображения в ресурсах, мы видим что они как раз защищены, следовательно для защиты иконок Вам требуется загружать иконки в свой проект аналогично ресурсам Bitmap изображений. Как я писал Вам ранее, иконки у Вас в проекте не относятся к PE32 ресурсам, поэтому они и не защищаются. Наверное это из за того что иконка содержится ТОЛЬКО ОДНА в файле: santa_128 ICON res\santa_128.ico santa_96 ICON res\santa_96.ico santa_72 ICON res\santa_72.ico santa_64 ICON res\santa_64.ico А если их сделать несколько в файле, то показа иконки на кнопке не будет. Это наверное все таки ограничение МиниГуи.
|
|
|
|
| |
Пост N: 840
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.03.16 20:39. Заголовок: Andrey пишет: требу..
Andrey пишет: цитата: | требуется загружать иконки в свой проект аналогично ресурсам Bitmap |
| а в чем разница ? в RС они одинаково прописаны. Как вариант можно попробовать скомпилить RES используя компилятор ресурсов от микрософт - RC.EXE
|
|
|
|
| |
Пост N: 5559
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.03.16 20:52. Заголовок: Andrey пишет: Да я ..
Andrey пишет: цитата: | Да я тут в техподдержку бывшего Алладина (http://www.safenet-sentinel.ru/ |
| А какое им дело до твоих EXE , не пойму и зачем им писать ? Что то не стыкуется ?
|
|
|
|
| |
Пост N: 841
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.03.16 21:32. Заголовок: Dima пишет: А какое..
Dima пишет: цитата: | А какое им дело до твоих EXE |
| Думаю Андрей использует их софт для защиты своих программ, но их защита не накрывает ресурсы как надо. Вот алладин и пытается сказать типа мы защищаем только "правильные" ЕХЕ , а твой кривой, вот иди сам и разбирайся Андрей, не парься ты с этой защитой , кому надо - с дампа все выдернут, а вероятность вылета проги с ошибкой увеличивается в разы. PS. как правило все ехе протекторы меняют точку входа в заголовке PE на свою процедуру расшифровки. Андрей, тебе действительно нужен это гемор с ЕХЕ ? в 2000 таких протекторов море было, но .... не прижились. Лучшим распаковщиком тогда UNP.EXE был - легко извлекал чистый ЕХЕ из любой гадости. Как вариант - поменяй компилятор ресурсов на современный , их полно бесплатных начиная от мелкомягкого RC.EXE и заканчивая бесплатным GoRc.exe ( кстати им собираю минигуёвые ресурсы )
|
|
|
|
| |
Пост N: 5560
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.03.16 21:42. Заголовок: Haz пишет: Андрей и..
Haz пишет: цитата: | Андрей использует их софт для защиты своих программ |
| Так и есть , знаю. Haz пишет: цитата: | но их защита не накрывает ресурсы как надо |
| Теперь понял.
|
|
|
|
| постоянный участник
|
Пост N: 4817
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.03.16 21:45. Заголовок: Haz пишет: и заканч..
Haz пишет: цитата: | и заканчивая бесплатным GoRc.exe ( кстати им собираю минигуёвые ресурсы ) |
| А как его прикрутить к BCC ? Было бы лучше вообще МиниГуи собирать через MSC и библиотеки лучше (больше распространены) и проблема с размером ресурсов в 500 кб пропадёт.
|
|
|
|
| |
Пост N: 842
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.03.16 21:50. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как его прикрутить к BCC |
|
\ синтаксис сравни, если компилировать батником - легко правится вызов, если через hbmk - то иного способа как поменять в его исходнике и пересобрать - я не нашел Andrey пишет: цитата: | проблема с размером ресурсов в 500 кб |
| пропадает при любом современном компиляторе ресурсов Вспомнил ))) я даже когдато обманку на харбуре под brcc32 писал ( программу которая принимает синтаксис brcc32 и делает правильный вызов GoRc ... давно это было)
|
|
|
|
|
| |
Пост N: 5561
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.03.16 21:54. Заголовок: Haz пишет: Как вари..
Haz пишет: цитата: | Как вариант - поменяй компилятор ресурсов на современный |
| MinGw не покатит (знаю ты сидишь на BCC) ?
|
|
|
|
| |
Пост N: 843
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.03.16 21:55. Заголовок: Dima пишет: MinGw ..
Dima пишет: скорее всего покатит
|
|
|
|
| |
Пост N: 5562
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.03.16 22:00. Заголовок: Haz пишет: скорее в..
Haz пишет: Но надо чекать и скорее всего весь проект тоже надо пересобрать под ним.
|
|
|
|
| |
Пост N: 844
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.03.16 22:06. Заголовок: можно собрать RES лю..
можно собрать RES любым компилятором и сунуть его в папку где его brcc32 формирует при сборке ( можно атрибут ридонли дать ) и линкер его сожрет как более новый. но это неудобно т.к. такой цирк нужно при каждой линьковке делать.
|
|
|
|
| постоянный участник
|
Пост N: 4818
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.03.16 22:13. Заголовок: Dima пишет: MinGw н..
Dima пишет: цитата: | MinGw не покатит (знаю ты сидишь на BCC) ? |
| Под MinGw нет библиотек для Sentinel LDK (это защита приложений для ключей HASP HL. Защита хорошая, проблем с ней нет). Не поддерживает Алладин этот компилятор. Остаётся BCC и MSC. Под BCC мало что поддерживают, уходит в прошлое. Для MSC лучшее кол-во библиотек и поддерживается лучше.
|
|
|
|
| |
Пост N: 5563
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.03.16 22:15. Заголовок: Andrey пишет: Защит..
Andrey пишет: цитата: | Защита хорошая, проблем с ней нет |
| Читай выше что писал Has PS Чую щас нафлудим в теме ))
|
|
|
|
| постоянный участник
|
Пост N: 4825
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.04.16 17:20. Заголовок: Всем привет ! Сделал..
Всем привет ! Сделал тестовый пример по иконкам. Хочу полностью разобраться с этими иконками ! https://cloud.mail.ru/public/CuPx/ZuLEbXL27 С учётом опыта выяснил следующее: 1) Иконки в МиниГуи собранные BCC в приложении не относятся к PE32 ресурсам. 2) Размер ресурсов собранные BCC 5.5.1 не должен превышать размера 500 кб в одной секции, иначе отказ от сборки приложения. Для увеличения размера ресурсов в приложении нужно создавать новый .rc файл Cмотрите пример, там в Icons_All.rc лишние ресурсы за комментированы. Для увеличения размера можно так же перейти на BCC 5.8.2 или MinGw. 3) Для правильного отображения главной иконки программы - первая иконка должна быть 16х16-256 colors format в файле иконки. 4) Вид приложения собранные BCC в проводнике не поддерживает режим "Огромные значки" (иконки 128х128 не задействуются). 5) Для использования разных размеров иконок в приложении МиниГуи нужно эти иконки размещать отдельным файлом в ресурсах приложения и тогда эту иконку можно выводить на форму или кнопку. Пример файла ресурсы.rc: iSanta128 ICON res\iSanta128.ico iSanta96 ICON res\iSanta96.ico iSanta72 ICON res\iSanta72.ico iSanta64 ICON res\iSanta64.ico iSanta48 ICON res\iSanta48.ico Вывод на форму DRAW ICON IN WINDOW Form_1 AT 20, 20 PICTURE 'iSante128' WIDTH 128 HEIGHT 128 Кстати Григорий так и не дал в библиотеке наглядного примера ! Я понимаю, для многих это очевидные вещи, но для новичков это первые непонятки в МиниГуи (хотя это относится к компилятору BCC 5.5.1, а не к МиниГуи). Остались ещё вопросы по иконкам: 1) Как вывести НУЖНЫЙ ресурс иконки на форму/кнопку из ресурсов своего приложения - файла библиотеки иконок (т.е. когда все размеры иконок в одном файле) ? 2) Как вывести НУЖНЫЙ ресурс иконки на форму/кнопку из файла ресурсов системы: System.SystemFolder + "\shell32.dll" ? Т.е. хочется работать с иконками размера 48х48 или 64х64 - экраны же у всех давно большие ! И ещё просьба к тем, кто работает с MinGw - помогите собрать тестовый пример на MinGw, там ошибка ресурсов какая-то....
|
|
|
|
| |
Пост N: 5570
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.16 17:40. Заголовок: Andrey Для начала в..
Andrey Для начала в RC у тебя так 1MAIN_ICO ICON res\2MiniGui.ico 1MAIN_ICO2 ICON res\1MiniGui.ico Убери цифру перед MAIN , в BRC возможно это и проходит. ЗЫ Winres же пишет в какой строке непонятка в rc файле.
|
|
|
|
| постоянный участник
|
Пост N: 4826
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.04.16 20:14. Заголовок: Dima пишет: Убери ц..
Dima пишет: цитата: | Убери цифру перед MAIN , в BRC возможно это и проходит. |
| Убрал - ошибка эта ушла. Вылезла другая: hbmk2: Compiling resources... windres.exe: Icons_All_Hmg.rc:18: syntax error hbmk2[Icons_All_MinGw]: Error: Running resource compiler. 1 18 строка: PRODUCTVERSION 1,0 Я так понял, что у MinGw свой синтаксис ресурсного файла. Дайте пожалуйста у кого есть - как правильно перечислить все там VALUE "FileDescription", .... VALUE "FileVersion" , .... VALUE "InternalName" , ... VALUE "LegalCopyright" , ... VALUE "LegalTrademarks", ... и т.д.
|
|
|
Ответов - 52
, стр:
1
2
3
All
[только новые]
|
|