On-line: PSP, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 4811
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 14:09. Заголовок: Формат иконок в ехе-файле ?


Всем привет !
Кто знает в каком формате Borland 5.51 сохраняет иконки в ресурсах ехе-файла ?

По идеи должны быть PE32 ресурсы, но может я не прав...
Если это не PE32 ресурсы, то как привести иконки в PE32 ?

Вот тестовый пример - https://cloud.mail.ru/public/3mNs/eVp4CfLFE


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 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()



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4812
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 16:36. Заголовок: Haz пишет: расшифру..


Haz пишет:

 цитата:
расшифруй



Да я тут в техподдержку бывшего Алладина (http://www.safenet-sentinel.ru/) написал письмо,
а они мне в ответ пишут что формат иконок не тот.
"Если иконки не защищаются – значит они вероятнее всего не относятся к PE32 ресурсам, а следовательно Envelope их защищать и не будет."

Вот я и озадачился в каком формате Борланд собирает иконки ?


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 838
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 16:47. Заголовок: Andrey пишет: значи..


Andrey пишет:

 цитата:
значит они вероятнее всего не относятся к PE32 ресурсам,


Обычный ресурс PE файла , смотрится любым PE Viewer, ResHacker и прочей байдой. Может намекают на то что иконки внешние и подгружаются с диска.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4813
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 16:49. Заголовок: Haz пишет: Обычный ..


Haz пишет:

 цитата:
Обычный ресурс PE файла


Да вот не могу их убедить что это РЕ. Отправил им тестовый пример...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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

А если их сделать несколько в файле, то показа иконки на кнопке не будет.
Это наверное все таки ограничение МиниГуи.







Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 840
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 20:39. Заголовок: Andrey пишет: требу..


Andrey пишет:

 цитата:
требуется загружать иконки в свой проект аналогично ресурсам Bitmap


а в чем разница ? в RС они одинаково прописаны.
Как вариант можно попробовать скомпилить RES используя компилятор ресурсов от микрософт - RC.EXE


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5559
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 20:52. Заголовок: Andrey пишет: Да я ..


Andrey пишет:

 цитата:
Да я тут в техподдержку бывшего Алладина (http://www.safenet-sentinel.ru/


А какое им дело до твоих EXE , не пойму и зачем им писать ?
Что то не стыкуется ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 841
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 21:32. Заголовок: Dima пишет: А какое..


Dima пишет:

 цитата:
А какое им дело до твоих EXE


Думаю Андрей использует их софт для защиты своих программ, но их защита не накрывает ресурсы как надо.
Вот алладин и пытается сказать типа мы защищаем только "правильные" ЕХЕ , а твой кривой, вот иди сам и разбирайся
Андрей, не парься ты с этой защитой , кому надо - с дампа все выдернут, а вероятность вылета проги с ошибкой увеличивается в разы.

PS. как правило все ехе протекторы меняют точку входа в заголовке PE на свою процедуру расшифровки.
Андрей, тебе действительно нужен это гемор с ЕХЕ ? в 2000 таких протекторов море было, но .... не прижились. Лучшим распаковщиком тогда UNP.EXE был - легко извлекал чистый ЕХЕ из любой гадости.

Как вариант - поменяй компилятор ресурсов на современный , их полно бесплатных начиная от мелкомягкого RC.EXE и заканчивая бесплатным GoRc.exe ( кстати им собираю минигуёвые ресурсы )

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5560
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 21:42. Заголовок: Haz пишет: Андрей и..


Haz пишет:

 цитата:
Андрей использует их софт для защиты своих программ


Так и есть , знаю.

Haz пишет:

 цитата:
но их защита не накрывает ресурсы как надо


Теперь понял.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4817
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 21:45. Заголовок: Haz пишет: и заканч..


Haz пишет:

 цитата:
и заканчивая бесплатным GoRc.exe ( кстати им собираю минигуёвые ресурсы )


А как его прикрутить к BCC ?

Было бы лучше вообще МиниГуи собирать через MSC
и библиотеки лучше (больше распространены) и проблема с размером ресурсов в 500 кб пропадёт.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 842
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 21:50. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как его прикрутить к BCC

\
синтаксис сравни, если компилировать батником - легко правится вызов, если через hbmk - то иного способа как поменять в его исходнике и пересобрать - я не нашел
Andrey пишет:

 цитата:
проблема с размером ресурсов в 500 кб


пропадает при любом современном компиляторе ресурсов

Вспомнил ))) я даже когдато обманку на харбуре под brcc32 писал ( программу которая принимает синтаксис brcc32 и делает правильный вызов GoRc ... давно это было)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5561
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 21:54. Заголовок: Haz пишет: Как вари..


Haz пишет:

 цитата:
Как вариант - поменяй компилятор ресурсов на современный


MinGw не покатит (знаю ты сидишь на BCC) ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 843
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 21:55. Заголовок: Dima пишет: MinGw ..


Dima пишет:

 цитата:
MinGw


скорее всего покатит

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5562
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 22:00. Заголовок: Haz пишет: скорее в..


Haz пишет:

 цитата:
скорее всего покатит


Но надо чекать и скорее всего весь проект тоже надо пересобрать под ним.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 844
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 22:06. Заголовок: можно собрать RES лю..


можно собрать RES любым компилятором и сунуть его в папку где его brcc32 формирует при сборке ( можно атрибут ридонли дать ) и линкер его сожрет как более новый. но это неудобно т.к. такой цирк нужно при каждой линьковке делать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4818
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 22:13. Заголовок: Dima пишет: MinGw н..


Dima пишет:

 цитата:
MinGw не покатит (знаю ты сидишь на BCC) ?


Под MinGw нет библиотек для Sentinel LDK (это защита приложений для ключей HASP HL. Защита хорошая, проблем с ней нет).
Не поддерживает Алладин этот компилятор.
Остаётся BCC и MSC.
Под BCC мало что поддерживают, уходит в прошлое. Для MSC лучшее кол-во библиотек и поддерживается лучше.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5563
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 22:15. Заголовок: Andrey пишет: Защит..


Andrey пишет:

 цитата:
Защита хорошая, проблем с ней нет



Читай выше что писал Has

PS
Чую щас нафлудим в теме ))

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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, там ошибка ресурсов какая-то....


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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 файле.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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", ...
и т.д.



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 52 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 519
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет