*Начало * Ответить * Статистика * Задать вопрос * Поиск * FAQ * * |
DotFix Forum / Вопросы программирования и исследования защит / Как сохранить иконку? |
Автор | Сообщение |
MZUser Участник |
Дата: 23 Апр 2006 22:39 Извлекаю иконку из EXE: ExtractIcon(hinstance,'c:\1.exe',0); Icon.SaveToFile('c:\1.ico'); А она 16 цветная, хотя на канве она нормальная!!! Как сохранить иконку в нормальном цвете? |
mag3d Участник |
Дата: 24 Апр 2006 13:18 Можно сделать по-тупому: разобрать секцию ресурсов и сохранить данные нужной иконки, геморойно, но надежно. Инфу можно найте в MSDN статья: "Peering Inside the PE: A Tour of the Win32 Portable Executable File Format" Matt Pietrek. Или в док-ции по PE файлам, см. на сайте www.wasm.ru |
MZUser Участник |
Дата: 25 Апр 2006 00:11 А если EXEшник запакован какимто ASPACKom и т.д? |
Admin Администратор |
Дата: 27 Апр 2006 14:33 А если EXEшник запакован какимто ASPACKom и т.д? Обычно упаковщики не пакуют иконки в секции ресурсов, потому иконка легко извлекается. |
MZUser Участник |
Дата: 28 Апр 2006 23:50 А если запакована и в RESORATORe иконки не видно (Corrupt Resource)??? Нужно считать секцию иконки вручную и сохранить иконку!!! Или каким-то другим способом... Но каким? |
Admin Администратор |
Дата: 29 Апр 2006 21:03 Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long Подробнее тут |
MZUser Участник |
Дата: 30 Апр 2006 17:30 Не работает никак - сохраняется 16 цветная иконка!!!. Вот уж не думал что такое сделать будет так сложно!!! Подскажите алгоритм сохранения иконки напрямую (Тип формата ICO,и корректный перевод Bitmap в Icon) |