Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Вниз

Dll или нет...   Найти похожие ветки 

 
Wiz@rd   (2005-12-17 22:20) [0]

Допустим есть любой файл, надо определить dll это или нет. Т.к. при LoadLibrary винда ругается на то что это не dll нифига. (Что-то типа реализации плагинов).


 
palva ©   (2005-12-17 23:41) [1]

Если расширение dll, значит dll. Если LoadLibrary ругается, значит ОС либо не может его прочитать, либо не может понять. Нужно проверить возвращаемое значение на ноль, вызвать GetLastError и по результату определить, что это не dll, или что к файлу нет доступа или что-нибудь еще.


 
Wiz@rd   (2005-12-17 23:49) [2]

ДА ё-маё, во-первых у меня расширение не dll, и скачиваются они прогой с нета, так что расширение не принципиально, хоть dll, но там можно подсунуть и не dll, или скачается html файл с каким-нибудь 404, а винда уже сама при LoadLibrary ругнётся error"ом что мол образ dll корявый, 0 то он вернёт, но этот error некрасиво.


 
palva ©   (2005-12-18 00:07) [3]

> но этот error некрасиво.
А почему некрасиво, если вы его перехватываете? Вы что, сами хотите его почитать и определить? Тогда читайте. Первые байты должны быть "MZ", а дальше купите книжку Румянцева и изучайте формат файла, проверяйте длины, контрольные суммы, проверяйте докачан ли файл, не было ли искажений при передаче.


 
Leonid Troyanovsky ©   (2005-12-19 09:36) [4]


> Wiz@rd   (17.12.05 23:49) [2]
> ДА ё-маё, во-первых у меня расширение не dll, и скачиваются
> они прогой с нета, так что расширение не принципиально,
> хоть dll, но там можно подсунуть и не dll, или скачается



Определить PE (NE) можно путем SHGetFileInfo.

--
Regards, LVT.


 
Игорь Шевченко ©   (2005-12-19 14:42) [5]

GetBinaryType


 
Leonid Troyanovsky ©   (2005-12-19 14:55) [6]


> Игорь Шевченко ©   (19.12.05 14:42) [5]

> GetBinaryType


Ну, то ж application, а запрос на dll.

--
Regards, LVT.


 
Игорь Шевченко ©   (2005-12-19 15:19) [7]

Leonid Troyanovsky ©   (19.12.05 14:55) [6]

Воистину. Век живи, век учись, спасибо :)


 
имя   (2005-12-26 10:12) [8]

Удалено модератором



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
1-1140177054
pargo
2006-02-17 14:50
2006.03.19
FreeLibrary -> Invalid pointer operation


2-1141050227
Riva4
2006-02-27 17:23
2006.03.19
Как сделать фильтрацию по дате


15-1140520967
Сатир
2006-02-21 14:22
2006.03.19
Подскажите редактор бинарников


15-1140190739
lak-b
2006-02-17 18:38
2006.03.19
Win Xp - порблемы с сетью


1-1139423665
Eraser
2006-02-08 21:34
2006.03.19
Как добраться до таблицы интерфейсов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский