![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:01 |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
вуаля, то что ты просил
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:01 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Неа. Какой вопрос такой и ответ Что такое 'значок' и откуда его нужно извлекать? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Полагаю речь идет об извлечении иконки из ресурсов исполняемого файла.
Только вот даже такому телепату как мне сложно понять зачем нужен код, извлекающий иконку из экзешника под скажем HP-UX? Подробнее о вопросе пожалуйста. |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Нужно извлечь иконку из исполняемого файла, и сохранить в другой
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:01 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:01 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:02 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
К сожалению линукс не поддерживает иконки в исполняемых файлах.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:02 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
через API функции. http://msdn.microsoft.com/en-us/library/ms...28VS.85%29.aspx
вряд ли, это совершенно бессмысленно, какой смысл работать с PE файлами под линукс? |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:02 |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
у меня нет.
а имеет ли смысл кроссплатформенность такой программы? Если человек создал EXE, хочет его упаковать, то наверняка у него найдеться windpws. Иначе надо изучать формат самого файла и писать вручную. |
||||
|
|||||
| alexcustov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 11.6.2010 Где: Полацкае княства Репутация: нет Всего: нет |
||||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:02 |
|||
|
||||
| alexcustov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 11.6.2010 Где: Полацкае княства Репутация: нет Всего: нет |
Тогда под Linux я таких не знаю. Либо писать костыль через winelib (или писать на WIN32 API и пускать через wine), либо свой парсер. Формат PE описан. нет, не ELF Это сообщение отредактировал(а) alexcustov - 14.6.2010, 20:48 |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
А какой тогда там формат? Там ведь unix ядро
|
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Peter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: -1 Всего: 1 |
А как насчет такого варианта - вшить в программу запуск утилиты ResThief (поищите в интернете)? Ну, а в линукс - соответственно запуск "wine ResThief.exe".
Добавлено через 45 секунд Нет, не вариант. Она с командной строки не работает. -------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
а я за три запроса у гуглу нашел сырки и для никсов http://www.nongnu.org/icoutils/
В общем вы как-то неправильно используйте гугла... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:02 |
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Win32 API
|
||||
|
|||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 1 Всего: 10 |
мде. тему бы перенести в раздел винды.
----------------------- Есть спецификация формата PE. Это не секретный документ, и формат PE не является недокументированным форматом. Чтобы выдрать иконку из файла, надо найти в заголовке смещение директории ресурсов, затем найти в директории ресурсов ресурс иконки. Все это простые операции с бинарными файлами. Добавлено через 7 минут и 27 секунд вообще я бы эту задачу решал на питоне, благо есть куча библиотек для работы с PE, типа этой http://code.google.com/p/pefile/ |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
актуально
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Сделал зеркало в WinAPI - там помогут скорее
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Window иконка в ресурсах разбивается на части. Соответственно чтобы ее извлечь нужно извлечь n + 1 ресурс, где n число кадров. Ресурс описатель называется ICONDIRENTRY в нем храниться число кадров и их индексы в секции ICON. Все кадры всех иконок заталкиваются в одну секцию, поэтому важно извлечь ICONDIRENTRY. Вообще, официальная документация по этому поводу храниться тут http://msdn.microsoft.com/en-us/library/ms997538.aspx . Ее можно дополнить следующими фактами. С вистой формат был расширен до размеров 256х256. Поскольку для хранения размера предусмотрено поле размером в байт, то в иконке этот размер указывается как 0х0. Кроме того кадры могут быть в формате png. Это следует проверять. Формат png просто raw данные так как если бы файл png целиком поместили в иконку или ресурс.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:03 |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 1 Всего: 10 |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Abyx, обратитесь к официальной документации от Microsoft. В ресурсе icon храниться только 1 кадр.
Добавлено через 3 минуты и 48 секунд Abyx, может в вашем примере иконку помещали в раздел rcdata? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 1 Всего: 10 |
действительно, я ошибся, там по 1 кадру
|
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
up
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
tofreesky, начинайте работать над задачей. Никто не будет писать весь код за вас.
Чего не хватает? Документации по формату PE? Документации по формату ресурсов? Вопросы по структуре заголовков PE? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
А кто-то смотрел на либу что я дал? http://forum.vingrad.ru/index.php?showtopi...t&p=2171265
Там же по белому пишут:
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:03 |
|||
|
||||
| Peter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: -1 Всего: 1 |
Да. С расширением .so -------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
tofreesky, так ./configure надо сначала запускать... в общем, "не разобрались" вовсе не значит "хрень какая-то, напишу свой велосипед"
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Не актуально
Это сообщение отредактировал(а) tofreesky - 31.10.2010, 17:03 |
|||
|
||||
| Peter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: -1 Всего: 1 |
У библиотек .so формат ELF, конечно. Как писать - можешь поискать статьи автора Ульриха Дреппера (Ulrich Drepper). Он и сам формат обсуждает, и тонкости программирования.
-------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Актуально, кто сколько хочет получить за работу? Пишите в ЛС.
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Для этого есть фриланс - там это более актуально |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |