Page 1 of 2

File type library

Posted: Tue Feb 17, 2009 2:20 am
by 500mhz
мысли вслух )

почему бы господам девелоперам не реализовать file type library?
суть сводиться к определению типа файла не по расширению а по заголовку.
тоесть имеем зарегестрированные в системе типы файлов, и с учетом типов система выбирает соотв приложение для открытия файла.

идея не нова, в амигаос такая фишка есть

Re: File type library

Posted: Tue Feb 17, 2009 9:18 am
by Mario
500mhz
Очень хорошая, я бы даже сказал правильная идея, но по сложившейся негласной традиции автор создающий тему о необходимости чего-либо сам готов взятся за реализацию.
В противном случае "хотелка" помещается сюда:
viewtopic.php?f=8&t=677

Re: File type library

Posted: Tue Feb 17, 2009 10:49 am
by Albom
у меня эта идея возникла уже давно. могу попробовать сделать простую библиотеку с 1 функцией. на вход подаётся имя файла, а возвращаемое значение - тип файла (номер из списка). к тому же у меня есть хорошие описания сигнатур файлов.

но есть некоторые проблемы, например, насколько полную информацию выдавать. пример - файл, сжатый KPACK. можно возвращать "файл, сжатый KPACK", или идти дальше "программа, сжатая KPACK" (т.е. подмножество). и таких примеров много...

Re: File type library

Posted: Wed Feb 18, 2009 12:07 am
by 500mhz
мое имхо ) :

1) ЭТО надо интегрировать в кернел
2) хукаем 70-1
3) на выходе 70-1 корректируем расширение файла если необходимо
4) и заодно хукаем другие FS апи

то есть исторически сложилось что юсер определяет "суть" файла по иконке и расширению, а это все ненадежно и обманчиво.
ну и заодно при создании файла тоже проверять его "суть" и если что не так то корректировать расширение.

соответственно при данном подходе необходимо иметь стандартные расщирения для ОС
ну по типу если
- ЕХЕ то бинарник запускаемый
- DLL то библиотек разделямый
и так далее

для чего все это надо:
у всех любимой винды тип файла определяеться по расширению, что ни есть гуд
никто не запрещает назвать файл foto.jpg иметь структуру РЕ и спокойно грузить и запускать (для тех кто в танке http://forum.web-hack.ru/index.php?showtopic=82399)
имея в кернеле поддержку данной фичи можно избавиться от кучми проблем

все это опять же мое имхо с точки зрения политики безопасности системы

Re: File type library

Posted: Wed Feb 18, 2009 10:27 am
by Albom
ЭТО надо интегрировать в кернел
зачем?! Колибри вроде как проверяет заголовок запускаемого файла... другие файлы исполняться не будут.

а библиотека пригодилась бы, например, в файловых менеджерах, да и других приложениях было бы не лишним, чтобы каждому разработчику не изобретать велосипед...
только сейчас слишком много нюансов. раньше было проще. если кому интересно могут прочитать о форматах файлов AmigaOS или про формат файлов PalmOS (pdb).

Re: File type library

Posted: Wed Feb 18, 2009 4:47 pm
by 500mhz
зачем?! Колибри вроде как проверяет заголовок запускаемого файла... другие файлы исполняться не будут.
виндовс тоже проверяет ) и там тоже jpg с заголовком jpg и расширением ехе не запуститься
а вот ехе с заголовком РЕ и расширением jpg запуститься, и будет висеть в процессах как jpg , и самое интересное что некоторые аитивирусы такие процессы почему то не проверяют, наверно думают "да бред , такого быть не может"

насчет интеграции фичи в кернел:
аксиома - все что не в кернеле можно выгрузить
практика:
любые хуки на уровне ядра в винде выглядят примерно так ядро-драйвер-юсер моде
драйвер хукает ядро, юсер моде софт вызывает какойнить апи и данный вызов сначала получает наш драйвер, смотрит что там и как там и можно ли дать вызову зеленый ход (так тупо работают антивирусы)
соответственно при наличии прямых рук или багов или локал експлоитов еще никто не запрещал сбросить хуки драйвера отключив таким образом "защиту"

Re: File type library

Posted: Wed Feb 18, 2009 5:08 pm
by Mario
Мне так кажется, что рассуждения насчет вирусов не очень актуальны для Колибри, потому что вирусов нету - во всяком случае пока.

Re: File type library

Posted: Wed Feb 18, 2009 5:28 pm
by 500mhz
"У вас на стройке несчастные случаи были?" ))))
Марио я вирусы как пример привел
хотя с другой стороны если зашита интегрирована а не прикручена после, то она как бы надежней
помните сколько пиара было про XP firewall? а в результате? только ленивый его отключать и обходить еще не научился.

Re: File type library

Posted: Wed Feb 18, 2009 5:39 pm
by Albom
Mario
под Колибри (точнее Менуэт) было 2 вируса. они были написаны в образовательных целях и распространялись с антивирусной программой, которая их детектировала. :)

500mhz
1) просто переименовать exe в jpg явно недостаточно. :))) вообще, расширение файла - это не главное!!! (в win, *nix, kolibri, ...)
2) уже давно известно (читай Криса Касперски) про дырявость загрузчика Windows. безопасность Explorer, кстати, тоже оставляет желать лучшего.
3) в Колибри вирусы не актуальны по 3 причинам
- кому их писать? (тут обычный софт никто не пишет)
- для кого? (юзеров-то раз-два и обчёлся)
- это открытая система и если и найдётся дыра, её сразу же залатают

Re: File type library

Posted: Wed Feb 18, 2009 5:47 pm
by 500mhz
1) как раз достаточно ))) могу на спор из консоли в винде запустить любой ехе переименованый в jpg или во что хотите
2) не считаю КК аторитетом
3) седня вечером специально напишу первый в мире вирус под Колибри

пс
вообше разговор не про вирусы и антивирусы , а про типы файлов в оси и варианты рещения вопроса )

Re: File type library

Posted: Wed Feb 18, 2009 6:26 pm
by Ghost
500mhz
Ты искрене вереш что все эти проверки делаются в ядре win? Более чем уверен что все что ты знаеш о win делается в либах.

Re: File type library

Posted: Wed Feb 18, 2009 7:03 pm
by 500mhz
Ghost
при всем респекте, читай внимательней топик
я как раз и говорю что в винде все эти фишки или в dll или в sys что на мой скромный взгляд не правильно

Re: File type library

Posted: Wed Feb 18, 2009 7:16 pm
by Ghost
На мой взгляд пихать все в ядро не правильно, это прикладная задача. Давайте блокнот в ядро встроим?

Re: File type library

Posted: Wed Feb 18, 2009 7:31 pm
by 500mhz
На мой взгляд пихать в ядро жизненно важные функции просто необходимо
а правильное определение типа файла одна из них

Re: File type library

Posted: Wed Feb 18, 2009 7:43 pm
by Ghost
Исполняемые файлы ядро и так проверяет, и не смотрит на расширение, а про все остальные ядру знать не надо.