Формат com: .com — Википедия – Что означает расширение файлов COM?

Содержание

.com — Википедия

Эта статья — о домене верхнего уровня. О расширении исполняемых файлов см. .COM.
.com
.com logo.png
Введение 1985
Тип домена общий домен верхнего уровня
Статус активный
Регистратура Verisign
Назначение Коммерческие объекты (во всём мире), компании, корпорации
Использование Используемый для фактически любого коммерческого или некоммерческого веб-сайта и является общепринятым как стандарт для TLDs
Ограничения регистрации Отсутствуют
Документы RFC 920;
RFC 1591
Разрешение споров UDRP
DNSSEC
есть
Веб-сайт www.verisigninc.com
Whois-сервер whois.verisign-grs.com

Доменное имя .com – домен верхнего уровня (TLD) в системе доменных имен интернет-сети. Его название происходит от слова «коммерческий», указывая на его первоначальное предназначение — домены, зарегистрированные коммерческими организациями. Однако в какой-то момент это различие было потеряно, когда домены .com, .org и .net были открыты для неограниченной регистрации.

Домен, первоначально находившийся под управлением Министерства обороны Соединенных Штатов, сегодня администрируется Verisign. Регистрация доменов .com, выполняемая Verisign, обрабатывается аккредитованными регистраторами ICANN. Реестр допускает использование интернационализованных доменных имен.

Домен является одним из первых доменов верхнего уровня (TLD) в интернете, появившихся вместе с внедрением системы доменных имен в январе 1985 года, вместе с .edu, .gov, .mil, .net, .org и .arpa. Он стал крупнейшим доменом верхнего уровня.

Домен .com был одним из первых доменов верхнего уровня на момент внедрения системы доменных имен для использования в интернете в январе 1985 года. Домен управлялся Министерством обороны США (DoD), однако Министерство передало управление доменом компании SRI International, создавшей центр DDN-NIC, также известный как SRI-NIC или просто NIC (Network Information Center — сетевой информационный центр), доступный в интернете под доменным именем nic.ddn.mil. Начиная с 1 октября 1991 года был заключен контракт на работы с компанией Government Systems Inc. (GSI), которая заключила субконтракт с Network Solutions Inc. (NSI).

Первый домен в зоне .com появился 15 марта 1985 года, он был зарегистрирован в американском штате Массачусетс. Им стал сайт компании Symbolics Inc., производящей компьютеры и программное обеспечение. В настоящее время «пионер» среди доменов symbolics.com принадлежит инвестиционной фирме и выставлен на продажу.

1 января 1993 года ответственность за обслуживание взял на себя Национальный научный фонд, так как домен .com в основном использовался для гражданских целей. ННФ заключил контракт на проведение работ с Network Solutions (NSI). В 1995 году ННФ уполномочил NSI начать взимать с регистрантов ежегодную абонентскую плату, впервые с момента внедрения системы доменов. Первоначально плата составляла $50 в год, из которых $35 отходили NSI и $15 поступали в государственный фонд. При регистрации новых доменов плата взималась за первые два года; таким образом, при регистрации нового домена следовало уплатить $100. В 1997 году Министерство торговли Соединенных Штатов взяло на себя управление всеми общими доменами верхнего уровня. В настоящее время функциями управления занимается компания Verisign, поглотившая компанию Network Solutions. Позднее, Verisign отделила функции Network Solutions, не связанные с регистрацией, в отдельную компанию, которая продолжает действовать в качестве регистратора. В английском языке домен часто произносится как «dot-com» вместе с предшествующей точкой; такое его название прочно вошло в обиход.

Хотя домены .com были первоначально предназначены для обозначения коммерческих организаций (другие домены верхнего уровня относятся к государственным и образовательным учреждениям), с середины 1990-х годов отсутствуют какие-либо ограничения относительно деятельности регистрантов доменов .com. С коммерциализацией и популяризацией интернета домен .com был открыт для общественности и быстро стал наиболее распространенным доменом верхнего уровня для веб-сайтов, электронной почты и сетей. Многие компании, расцвет которых пришелся на период с 1997 по 2001 год (в так называемые времена «пузыря доткомов»), включали суффикс .com в название компании; они известны как «доткомы» или «компании доткомы». Введение в 2001 году домена .biz, ограниченного предприятиями, не повлияло на популярность .com.

Хотя домены .com могут зарегистрировать компании в любой точке мира, во многих странах для аналогичных целей предусмотрены домены второго уровня, расположенные под национальным доменом верхнего уровня (ccTLD). Такие домены второго уровня обычно имеют формат com.xx или co.xx, где xx — это национальный домен верхнего уровня. Примерами таких доменов могут служить Австралия (com.au), Шри-Ланка (com.lk), Греция (com.gr), Мексика (com.mx), Южная Корея (co.kr), Индия (co.in), Индонезия (co.id), Китай (com.cn), Япония (co.jp) и Великобритания (co.uk).

Многие некоммерческие сайты и сети используют имена com, чтобы воспользоваться преимуществами узнавания домена com. Однако статистика регистрации показывает переменную популярность.

По состоянию на декабрь 2011 года компания Verisign сообщила о том, что зарегистрировано около 100 миллионов доменов .com. В марте 2009 года компания Verisign сообщила о том, что домен обслуживается 926 аккредитованными регистраторами.

За первые два года — до 1987 года — во всемирной паутине появилось лишь 100 сайтов. Однако уже к 1995 году в доменной зоне .com было зарегистрировано свыше 18 тыс. сайтов.

[1] В настоящее время в домене .com зарегистрировано 84 миллиона сайтов, в том числе 11,9 миллиона сайтов, специализирующихся на торговле через сеть, 4,3 миллиона развлекательных сайтов, 3,1 миллиона сайтов, связанных с различными финансовыми операциями и 1,8 миллиона сайтов со спортивной направленностью.[2]

15 мая 2000 года закончились все свободные трёхсимвольные домены.[3]

4 ноября 2007 года закончились все свободные четырёхбуквенные домены[4].

Ниже приведен список 100 первых зарегистрированных доменов:[5][6]

COM-файл — COM file — qwe.wiki

COM — файл представляет собой тип простого исполняемого файла . На Digital Equipment операционные системы 1970 — х годов, .COMбыл использован в качестве расширения файла для текстовых файлов , содержащих команды , которые будут выпущены в операционной системе ( по аналогии с командным файлом ). С введением CP / M (а микрокомпьютер операционной системы), тип файлов , которые обычно связаны с расширением COM изменен на исполняемых файлов. Позднее эта конвенция была перенесена в DOS . Даже когда дополняется более общего EXE формат файла для исполняемых файлов, компактные COM — файлы остаются жизнеспособными и часто используется под DOS.

.COMРасширение имени файла не имеет никакого отношения к .com (для «коммерческого») верхнего уровня домена Интернета. Однако это сходство в названии было использовано злоумышленниками компьютерных вирусов писателей.

DOS двоичный формат

Формат COM оригинальный двоичный исполняемый формат , используемый в CP / M и DOS . Это очень просто; он не имеет заголовка (за исключением CP / M 3 файлов), и не содержит стандартные метаданные , только код и данные. Эта простота взыскивает цену: двоичный имеют максимальный размер 65,280 (FF00 ч ) байты (256 байт коротких 64 КБ) и сохраняют все свой код и данные в одном сегменте .

Так как ему не хватает переселения информации, она загружается операционной системой в заранее заданный адрес, по смещению 0100h сразу после PSP , где она выполняется (отсюда Ограничение размера исполняемого): точка входа фиксируется на 0100h. Это не проблема , на 8-битных машин , так как они могут обращаться 64к макс памяти, но 16-битные машины имеют гораздо большее адресное пространство, поэтому формат вышел из употребления.

В Intel 8080 архитектуры процессора, только 65536 байт памяти могут быть решены (диапазон адресов 0000h до FFFFh). Под CP / M, первые 256 байт этой памяти, от 0000h до 00FFh были зарезервированы для использования системы по нулевой странице , и любая программа , пользователь должен был быть загружен ровно 0100h для выполнения. COM — файлы соответствуют этой модели отлично. Перед введением MP / M и Concurrent CP / M , не было никакой возможности запуска более одной программы или команды в то время: программа загружается на 0100h была запущена, и никто другой.

Хотя формат файла совпадает в DOS и CP / M, файлы .COM для двух операционных систем не совместимы; DOS COM — файлы содержат x86 инструкцию и , возможно , DOS системных вызовов , в то время как CP / M COM — файлы содержат 8080 инструкций и CP / M системных вызовов (программы , ограниченные определенные машины также могут содержать дополнительные инструкции для 8085 или Z80 ).

.COM файлы в DOS установить все регистры x86 сегмента к тому же значению и SP (указатель стека), чтобы зарегистрировать FFFEh, таким образом, стек начинается в самой верхней части сегмента памяти и работает оттуда.

В оригинальной DOS 1.x API , который был производным от CP / M API, прекращение программы .COM файл будет выполняться с помощью вызова 20h INT (Terminate Program) функции или еще INT 21h Функция 0, служившей Тот же цели, и программист также должны были убедиться , что код и сегментные регистры данных содержали одинаковое значение при завершении программы , чтобы избежать потенциального сбоя системы. Хотя это может быть использовано в любой версии DOS, Microsoft рекомендует использовать INT 21h функции 4CH для завершения программы из DOS 2.x вперед, который не требует данных и сегмент кода должен быть установлен в том же значении.

Можно сделать .COM файл , который будет работать под обеими операционными системами . Там нет истинной совместимости на уровне команд; инструкции на точке входа выбирается равными по функциональности , но отличаются в обеих операционных системах, и сделать выполнение программы перехода к секции для используемых операционной системы. Это в основном две разные программы с той же функциональностью , в одном файле, которому предшествует код выбора для использования.

Под CP / M 3, если первый байт COM — файл C9h, есть заголовок 256 байт; поскольку C9h соответствует 8080 инструкции RET, то это означает , что COM — файл будет немедленно прекратить , если работать на более ранней версии CP / M , которая не поддерживает это расширение. (Поскольку наборы инструкций по 8085 и Z80 являются надмножествами набора команд 8080, это работает на всех трех процессорах.) C9h является недействительным опкод на 8088/8086, и это заставит процессор генерируется прерывание 6 исключение в V86 режим на 386 х86 и более поздних версий. Поскольку C9h является опкодом для ОТПУСКА начиная с 80188 / 80186 и , следовательно , не используются в качестве первой команды в действующей программе, исполняемый загрузчик в некоторых версиях DOS отвергает COM — файлы , которые начинаются с C9h, избегая аварию.

Файлы могут иметь имена , оканчивающиеся на .COM, но не быть в простом формате , описанном выше; это обозначается магическим числом в начале файла. Например, COMMAND.COM файл в DR — DOS 6.0 на самом деле в DOS исполняемый формат, указанный в первых двух байтах , являющихся MZ (4Dh 5Ah), инициалы Марка Zbikowski .

Большие программы

Под DOS нет управления памяти предусмотрен COM — файлы с помощью загрузчика или среды выполнения. Вся память просто доступна для COM — файла. После выполнения команды оболочки операционной системы, COMMAND.COM , перезагружается. Это оставляет возможности , что COM файл может быть очень простым, используя один сегмент , или сколь угодно сложным, предоставляя свою собственную систему управления памятью. Пример комплексной программы COMMAND.COM, ДОС оболочка, которая предусматривает загрузчик для загрузки других COM или EXE — программ. В системе .COM, более крупные программы (до доступного объема памяти) могут быть загружены и работать, но системный загрузчик предполагает , что весь код и данные в первом сегменте, и это до программы .COM , чтобы обеспечить любого Дальнейшая организация. Программы больше , чем доступная память, или большие сегменты данных , могут быть обработаны с помощью динамической компоновки , если необходимый код включен в программе .COM. Преимущество использования .COM , а не формат .EXE является то , что бинарное изображение, как правило , меньше и легче программировать , используя ассемблер . После того, как компиляторы и линкеры достаточной мощности стали доступны, это уже не выгодно использовать формат .COM для сложных программ.

поддержка платформ

Формат еще исполняемый на многой современная Windows NT -А платформа , но она проложена в MS-DOS -emulating подсистеме, NTVDM , который не присутствует в 64-разрядные вариантах. COM — файлы могут быть выполнены также в DOS эмуляторов , таких как DOSBox , на любой платформе , поддерживаемой этими эмуляторами.

Использование соображений совместимости

Windows NT -А операционные системы используют расширение .com для небольшого числа команд , перенесенные из MS-DOS дней , хотя на самом деле они в настоящее время реализовано в виде EXE — файлов. Операционная система распознает заголовок EXE — файл и выполнить их правильно , несмотря на их технически неправильном расширение .com. (На самом деле любой .exe файл может быть переименован в .com и еще выполнять правильно.) Использование оригинальных расширений .com для этих команд обеспечивает совместимость с более старыми DOS пакетных файлов , которые могут ссылаться на них с их полными оригинальными именами файлов. Эти команды CHCP, DISKCOMP, DISKCOPY, FORMAT, MODE, MOREи TREE.

предпочтение исполнения

В DOS, если каталог содержит как COM — файл и EXE — файл с таким же именем, если продление не указан файл COM предпочтительно выбирается для выполнения. Например, если каталог в системном пути содержит два файла с именем foo.comи foo.exe, следующий будет выполнять foo.com:

C:\>foo

Пользователь , желающий работать , foo.exeможно явно использовать полное имя файла:

C:\>foo.exe

Воспользовавшись таким поведения по умолчанию, вирусные авторы и другие вредоносные программисты использовали имена как notepad.comдля своих творений, в надежде , что , если он находится в том же каталоге, что и соответствующий EXE — файл, файл команда или партии может случайно запустить свою программу вместо текстовый редактор notepad.exe. Опять же , эти .com файлы на самом деле может содержать .exe формат исполняемого файла.

В Windows NT и производных инструментов ( Windows , 2000 , Windows XP , Windows Vista и Windows 7 ), то PATHEXT переменная используется для переопределения порядок предпочтения (и допустимых расширений) для вызова файлов без указания расширения из командной строки. Значение по умолчанию по- прежнему размещает .comфайлы перед .exeфайлами. Это очень напоминает функцию ранее найденную в строке JP Software, расширенных процессоров командной строки 4DOS , 4OS2 и 4NT .

Вредоносное использование расширения .com

Некоторые авторы компьютерных вирусов надеялись воспользоваться вероятным отсутствием современных компьютерных пользователей знаний о .com расширения файла и связанного двоичном формате, наряду с их более вероятно знакомство с .com имени домена Internet. Электронные письма были отправлены с именами , похожими на крепления «www.example.com». Неосторожного Microsoft Windows пользователи щелкая на таком вложении было бы ожидать , чтобы начать просмотр сайта с именем http://www.example.com/, но вместо этого будет работать прилагаемую двоичный файл с именем команды www.example, давая ему полное разрешение на их машине независимо от ее автор имел в виду.

Там нет ничего злонамеренного о самом формате файл COM; это эксплуатация совпадающей имя столкновения между .com ком MAND файлов и .com ком мерческий веб — сайтов.

Смотрите также

Рекомендации

внешняя ссылка

Как открыть файл COM? Расширение файла .COM

Что такое файл COM?

Формат файла .COM — это простой исполняемый файл. Ранее в вычислительные времена расширение .COM использовалось в качестве формата файлов для текстовых файлов, состоящих из команд, которые должны быть выданы ОС. С развитием компьютерных систем тип файлов, которые обычно ассоциировались с форматом файлов .COM, изменился на тип исполняемых файлов. Это правило затем было применено к системам MS-DOS. Несмотря на то, что компактные расширения .COM дополняются более обобщенными форматами .exe для исполняемых файлов, они остаются практичными и обычно используются в операционных системах MS-DOS.

Расширение .COM просто не связано с именем домена высшего уровня .com. С другой стороны, эта переписка в названии этих файлов была очень использована многочисленными злыми вирусописателями и хакерами.

Программы, которые поддерживают COM расширение файла

Ниже вы найдете указатель программ, которые можно использовать для открытия файлов COM, разделенных на категории 2 в соответствии с поддерживаемой системной платформой. Файлы с суффиксом COM могут быть скопированы на любое мобильное устройство или системную платформу, но может быть невозможно открыть их должным образом в целевой системе.

Как открыть файл COM?

Причин, по которым у вас возникают проблемы с открытием файлов COM в данной системе, может быть несколько. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами DOS Command Format, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Мы подготовили список, который поможет вам решить ваши проблемы с файлами COM.

Шаг 1. Скачайте и установите Microsoft Windows

Основная и наиболее частая причина, препятствующая открытию пользователями файлов COM, заключается в том, что в системе пользователя не установлена программа, которая может обрабатывать файлы COM. Эта проблема может быть решена путем загрузки и установки # РЕКОМЕНДОВАННОЙ # или другой совместимой программы, такой как Parallels Desktop, FixExec. В верхней части страницы находится список всех программ, сгруппированных по поддерживаемым операционным системам. Самый безопасный способ загрузки Microsoft Windows установлен — для этого зайдите на сайт разработчика (Microsoft Corporation) и загрузите программное обеспечение, используя предоставленные ссылки.

Шаг 2. Обновите Microsoft Windows до последней версии

Если у вас уже установлен Microsoft Windows в ваших системах и файлы COM по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Разработчики программного обеспечения могут реализовать поддержку более современных форматов файлов в обновленных версиях своих продуктов. Это может быть одной из причин, по которой COM файлы не совместимы с Microsoft Windows. Самая последняя версия Microsoft Windows обратно совместима и может работать с форматами файлов, поддерживаемыми более старыми версиями программного обеспечения.

Шаг 3. Свяжите файлы DOS Command Format с Microsoft Windows

Если у вас установлена последняя версия Microsoft Windows и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления COM на вашем устройстве. Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.

Процедура изменения программы по умолчанию в Windows

  • Нажатие правой кнопки мыши на COM откроет меню, из которого вы должны выбрать опцию Открыть с помощью
  • Нажмите Выбрать другое приложение и затем выберите опцию Еще приложения
  • Последний шаг — выбрать опцию Найти другое приложение на этом… указать путь к папке, в которой установлен Microsoft Windows. Теперь осталось только подтвердить свой выбор, выбрав Всегда использовать это приложение для открытия COM файлы и нажав ОК .

Процедура изменения программы по умолчанию в Mac OS

  • В раскрывающемся меню, нажав на файл с расширением COM, выберите Информация
  • Откройте раздел Открыть с помощью, щелкнув его название
  • Выберите из списка соответствующую программу и подтвердите, нажав « Изменить для всех» .
  • Если вы выполнили предыдущие шаги, должно появиться сообщение: Это изменение будет применено ко всем файлам с расширением COM. Затем нажмите кнопку Вперед», чтобы завершить процесс.
Шаг 4. Проверьте COM на наличие ошибок

Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл COM действительным. Отсутствие доступа к файлу может быть связано с различными проблемами.

1. Проверьте COM файл на наличие вирусов или вредоносных программ.

Если файл заражен, вредоносная программа, находящаяся в файле COM, препятствует попыткам открыть его. Сканируйте файл COM и ваш компьютер на наличие вредоносных программ или вирусов. Если файл COM действительно заражен, следуйте инструкциям ниже.

2. Убедитесь, что структура файла COM не повреждена

Если файл COM был отправлен вам кем-то другим, попросите этого человека отправить вам файл. Возможно, что файл не был должным образом скопирован в хранилище данных и является неполным и поэтому не может быть открыт. Это может произойти, если процесс загрузки файла с расширением COM был прерван и данные файла повреждены. Загрузите файл снова из того же источника.

3. Убедитесь, что у вас есть соответствующие права доступа

Иногда для доступа к файлам пользователю необходимы права администратора. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл DOS Command Format.

4. Проверьте, может ли ваша система обрабатывать Microsoft Windows

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

5. Убедитесь, что ваша операционная система и драйверы обновлены

Последние версии программ и драйверов могут помочь вам решить проблемы с файлами DOS Command Format и обеспечить безопасность вашего устройства и операционной системы. Возможно, файлы COM работают правильно с обновленным программным обеспечением, которое устраняет некоторые системные ошибки.

Форматы файлов для программ на FASM под Windows / Habr

При создании программы на ассемблере (для примера будет приведён FASM) из-под ОС Windows возникает вопрос о том, какой выбрать формат файла.
Для определения формата создаваемого исполняемого файла используется директива «format» со следующим за ним идентификатором формата.
Под катом краткое описание COM-программы и EXE-программы форматов MZ и PE с шаблоном программ (в виде традиционного «Hello World!»).

Формат по умолчанию — это простой двоичный файл, он также может быть выбран директивой «format binary», формирующий программы типа .COM.
«use16» и «use32» указывают ассемблеру генерировать 16-битный или 32-битный код, пренебрегая настройкой по умолчанию для выбранного формата вывода. «use64» включает генерирование кода для длинного режима процессоров x86.
Ниже описаны разные форматы вывода со специфичными для них директивами.
.COM-программы

Программы типа .com после загрузки в память представляют собой немодифицированное представление программы на машинном языке на диске. Формат .com является одним из простейших форматов исполняемых файлов на архитектуре x86. Размер .com-файла ограничен размером 1 сегмента и равен 64 КБ, все данные должны быть определены в этом же сегменте кода. Когда COM-программа начинает работать, все сегментные регистры содержат адрес префикса программного сегмента (PSP), — 256-байтового (100h) блока, который резервируется операционной системой DOS непосредственно перед COM или EXE программой в памяти. Так как адресация начинается со смещения 100h от начала PSP, то в программе кодируется директива ORG 100h. Директива эта устанавливает относительный адрес для начала выполнения программы. Программный загрузчик использует этот адрес для командного указателя.

Пример простой программы в формате .COM:

use16               ;Генерировать 16-битный код
org 100h            ;Программа начинается с адреса 100h
 
    mov dx,hello    ;В DX адрес строки.
    mov ah,9        ;Номер функции DOS.
    int 21h         ;Обращение к функции DOS.
 
    mov ax,4C00h    ;В регистр AH помещаем 4Ch, в AL – 00h.
    int 21h         ;Завершение программы
;-------------------------------------------------------
hello db 'Hello, world!$'

Директива «use 16» указывает на генерирование 16-битного кода. «org 100h» объявляет пропуск 256 байт (адреса 0000h – 00FFh). Указанные адреса зарезервированы под служебные данные (PSP).
Далее следуют команды. В регистр DX помещается адрес строки hello. Затем вызывается функция номер 9 прерывания 21h для вывода строки на экран.
Завершение работы программы осуществляется вызовом функции 4C с параметром того же прерывания 21h.
Строка hello завершается символом ‘$’, который в системе DOS обозначает конец строки.

Следует помнить, что программы типа COM не поддерживаются 64-разрядными ОС Windows. Для запуска таких программ под этими операционными системами следует использовать программу DOSBox, либо воспользоваться форматом PE, рассмотренном ниже.

Формат MZ

MZ — стандартный формат 16-битных исполнимых файлов с расширением .EXE для DOS. Назван так по сигнатуре — ASCII-символам MZ (4D 5A) в первых двух байтах.

Пример простой программы с использованием формата MZ:

format MZ                       ;Исполняемый файл DOS EXE (MZ EXE)
entry code_seg:start            ;Точка входа в программу
stack 200h                      ;Размер стека 
;--------------------------------------------------------------------
segment data_seg                ;Cегмент данных
    hello db 'Hello, asmworld!$'    ;Строка 
;--------------------------------------------------------------------
segment code_seg                ;Сегмент кода
start:                          ;Точка входа в программу
    mov ax,data_seg             ;Инициализация регистра DS
    mov ds,ax 
 
    mov ah,09h 
    mov dx,hello                ;Вывод строки
    int 21h 
 
    mov ax,4C00h
    int 21h                     ;Завершение программы

Для создания нужно использовать директиву «format MZ». По умолчанию код для этого формата 16-битный.
«segment» определяет новый сегмент, за ним должна следовать метка, чьим значением будет номер определяемого сегмента. Опционально за этой директивой может следовать «use16» или «use32», чтобы указать разрядность кода в сегменте. Начало сегмента выровнено по параграфу (16 байт). Все метки, определенные далее, будут иметь значения относительно начала этого сегмента. В примере выше объявляются 2 сегмента: «data_seg» и «code_seg».
«entry» устанавливает точку входа для формата MZ, за ней должен следовать дальний адрес (имя сегмента, двоеточие и смещение в сегменте) желаемой точки входа. В нашем случае объявлена метка «start».
«stack» устанавливает стек для MZ. За директивой может следовать числовое выражение, указывающее размер стека для автоматического создания, либо дальний адрес начального стекового фрейма, если вы хотите установить стек вручную. Если стек не определен, он будет создан с размером по умолчанию в 4096 байт.
«heap» со следующим за ней значением определяет максимальный размер дополнительного места в параграфах (это место в добавление к стеку и для неопределенных данных). Используйте «heap 0», чтобы всегда отводить только память, которая программе действительно нужна.

Формат MZ, аналогично COM-программам, не поддерживается 64-рязрядными ОС Windows.

Формат PE

PE — это сокращение от Portable Executable, т.е. переносимый (универсальный) исполняемый файл. Этот формат появился еще в поздние времена Windows 3.11, но настоящее распространение получил с расцветом Windows 95. Можно сказать, что сейчас на компьютерах с Windows 9x/2K/XP/Vista/7 находится 95% исполняемых (exe, dll, драйверы(sys)) файлов — это PE файлы.

Чтобы выбрать формат PE, нужно использовать директиву «format PE», за ней могут следовать дополнительные настройки формата: «console», «GUI» или оператор «native», чтобы выбрать целевую подсистему (далее может следовать значение с плавающей точкой, указывающее версию подсистемы), «DLL» помечает файл вывода как динамическую связывающую библиотеку. Далее может следовать оператор «at» и числовое выражение, указывающее базу образа PE, и опционально оператор «on» со следующей за ним строкой в кавычках, содержащей имя файла, выбирающей заглушку MZ для PE программы (если указанный файл не в формате MZ, то он трактуется как простой двоичный исполняемый файл и конвертируется в формат MZ). По умолчанию код для этого формата 32-битный.

Пример объявления формата PE со всеми свойствами:
format PE GUI 4.0 DLL at 7000000h on ‘stub.exe’
«section» определяет новую секцию, за ней должна следовать строка в кавычках, определяющая имя секции, и далее могут следовать один или больше флагов секций. Возможные флаги такие: «code», «data», «readable», «writeable», «executable», «shareable», «discardable», «notpageable». Начало секции выравнивается по странице (4096 байт).

Пример объявления секции PE:
section ‘.text’ code readable executable
Вместе с флагами также может быть определен один из специальных идентификаторов данных PE, отмечающий всю секцию как специальные данные, возможные идентификаторы: «export», «import», «resource» и «fixups». Если секция помечена для содержания настроек адресов, они генерируются автоматически, и никаких данных определять больше не требуется. Также данные ресурсов могут быть сгенерированы автоматически из файлов ресурсов, этого можно добиться, написав после идентификатора «resourse» оператор «from» и имя файла в кавычках.

Ниже вы можете увидеть примеры секций, содержащих некоторые специальные данные:
section ‘.reloc’ data discardable fixups
section ‘.rsrc’ data readable resource from ‘my.res’
«entry» создает точку входа для PE, далее должно следовать значение точки входа.
«stack» устанавливает размер стека для PE, далее должно следовать значение зарезервированного размера стека, опционально может следовать отделенное запятой значение начала стека. Если стек не определен, ему присваивается размер по умолчанию, равный 4096 байт.
«heap» выбирает размер дополнительного места для PE, далее должно следовать значение для зарезервированного для него места, опционально ещё может быть значение его начала, отделенное запятой. Если дополнительное место не определено, оно ставится по умолчанию равным 65536 байт, если не указано его начало, то оно устанавливается равным 0.
«data» начинает определение специальных данных PE, за директивой должен следовать один из идентификаторов данных («export», «import», «resource» или «fixups») или номер записи данных в заголовке PE. Данные должны быть определены на следующих строках и заканчиваться директивой «end data». Если выбрано определение настроек адресов, они генерируются автоматически, и никаких данных определять больше не требуется. То же самое относится к ресурсам, если за идентификатором «resourse» следует оператор «from» и имя файла в кавычках — в этом случае данные берутся из этого файла ресурсов.

Пример простой программы с использованием формата PE:

format PE console              ;Исполняемый файл Windows EXE
entry start                    ;Точка входа в программу
include 'win32a.inc'
section '.text' code executable
start:
    push hello
    call [printf]
    push 0
    ccall   [getchar]
    call [ExitProcess] 
section '.rdata' data readable
    hello db 'Hello World!', 0 
section '.idata' data readable import
    library kernel32, 'kernel32.dll', \
        msvcrt,   'msvcrt.dll'
    import kernel32, ExitProcess, 'ExitProcess'
    import msvcrt, printf, 'printf', getchar,'_fgetchar'  

В данном примере для работы с консолью использованы функции WinAPI.

Вот такой получился краткий (надеюсь, для кого-то полезный) обзор использования форматов PE и MZ. За бортом данной статьи оказались ELF и COFF, за что прошу сильно не судить.

что это и как их открыть

Все конвертеры

Формат файлов THM Raster image

Файлы THM — это эскизы видеофайлов. Такие эскизы обычно используются как для изображений, так и для видео. Они представляют собой изображение, которое используется для представления видеоролика или большей части более крупного изображения. Обычно THM-файлы генерируются автоматически с использованием первого кадра видеоклипа. Затем, когда видео встроено или добавлено на страницу на веб-сайте, происходит отображение файла THM. В большинстве случаев, когда кто-то нажимает на изображение ТНМ, то такой человек попадает на видеоролик, который они могут просмотреть. В случае с изображением на экране в этом случае будет отображаться соответствующее изображение в полном размере.

Технические сведения о файлах THM

При записи видео во многих случаях файлы THM сохраняются на той карте памяти, которая содержит соответствующее видео. Такие файлы имеют такое же название, как и само видео. При передаче видео с устройства записи на компьютер изображение THM передается вместе с ним, однако могут быть и исключения. Это зависит от конкретного типа используемого программного обеспечения, задействованного при импорте видео на компьютер. В большинстве случаев файлы THM сохраняются с помощью настроек форматирования JPEG. Это означает, что вы можете открывать файлы THM в любой программе для просмотра изображений, которая способна открывать файлы JPEG. Если при этом у вас возникли проблемы, вы можете конвертировать файл THM в формат JPEG.

Дополнительная информация о формате THM

Leave a comment