Com программа что это

РАЗЛИЧИЯ МЕЖДУ ПРОГРАММАМИ COM и EXE ФАЙЛОВ

Существует два основных типа загрузочных программ: EXE и COM. Рассмотрим требования к EXE-программам. DOS имеет четыре требования для инициализации ассемблерной EXE-программы: 1) указать ассемблеру, какие сегментные регистры должны соответствовать сегментам, 2) сохранить в стеке адрес, находящийся в регистре DS, когда программа начнет выполнение, 3) записать в стек нулевой адрес и 4) загрузить в регистр DS адрес сегмента данных.

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

1. Размер программы. EXE-программа может иметь любой размер, в то время как COM-файл ограничен размером одного сегмента и не превышает 64К. COM-файл всегда меньше, чем соответствующий EXE-файл; одна из причин этого — отсутствие в COM-файле 512-байтового начального блока EXE-файла.

2. Сегмент стека. В EXE-программе определяется сегмент стека, в то время как COM-программа генерирует стек автоматически. Таким образом при создании ассемблерной программы, которая будет преобразована в COM-файл, стек должен быть опущен.

Амбассадорская программа что это? Как участвовать в Manta Network

3. Сегмент данных. В EXE программе обычно определяется сегмент данных, а регистр DS инициализируется адресом этого сегмента. В COM-программе все данные должны быть определены в сегменте кода.

4. Инициализация. EXE-программа записывает нулевое слово в стек и инициализирует регистр DS. Так как COM-программа не имеет ни стека, ни сегмента данных, то эти шаги отсутствуют. Когда COM-программа начинает работать, все сегментные регистры содержат адрес префикса программного сегмента (PSP),

— 256-байтового (шест. 100) блока, который резервируется операционной системой DOS непосредственно перед COM или EXE программой в памяти. Так как адресация начинается с шест. смещения 100 от начала PSP, то в программе после оператора SEGMENT кодируется директива ORG 100H.

5. Обработка. Для программ в EXE и COM форматах выполняется ассемблирование для получения OBJ-файла, и компоновка для получения EXE-файла. Если программа создается для выполнения как EXE-файл, то ее уже можно выполнить. Если же программа создается для выполнения как COM-файл, то компоновщиком будет выдано сообщение:

Warning: No STACK Segment

(Предупреждение: Сегмент стека не определен)

ПРИМЕР ПРОГРАММЫ

Программа преобразования двузначного шестнадцатеричного числа в символьном виде в двоичное представление.

Вход: исходное шестнадцатеричное число из двух цифр вводится с клавиатуры

Выход: результат преобразования помещается в регистр dl.

data segment para public “data” ;сегмент данных

message db “Введите две 16-теричные цифры, $”

stk segment stack

db 256 dup (“?”) ;сегмент стека

code segment para public “code” ;начало сегмента кода

main proc ;начало процедуры main

mov ax,data ;адрес сегмента данных в регистр ах

mov ds,ax ;ax в ds

mov dx,offset message

Как работает программа? Как компилируется код? (устройство компьютерных программ) [2020]

xor ax,ax ;очистить регистр ах

mov ah,1h ;1h в регистр ah

int 21h ;генерация прерывания с номером 21h

mov dl,al ;содержимое регистра al в регистр dl

sub dl,30h ;вычитание: (dl)=(dl)-30h

cmp dl,9h ;сравнить (dl) с 9h

jle M1 ;перейти на метку М1, если dl

sub dl,7h ;вычитание: (dl)=(dl)-7h

M1: ;определение метки М1

mov cl,4h ;пересылка 4h в регистр сl

shl dl,cl ;сдвиг содержимого dl на 4 разряда влево

int 21h ;вызов прерывания с номером 21h

sub al,30h ;вычитание: (dl)=(dl)-30h

cmp al,9h ;сравнить (al) c 9h

jle M2 ;перейти на метку М2, если al

sub al,7h ;вычитание: (al)=(al)-7h

M2: ;определение метки М2

add dl,al ;сложение: (dl)=(dl)+(al)

mov ax,4c00h ;пересылка 4с00h в регистр ax

int 21h ;вызов прерывания с номером 21h

main endp ;конец процедуры main

code ends ;конец сегмента кода

end main ;конец программы с точкой входа main

Строки 1-3 определяют сегмент данных. В строке 2 описана текстовая строка с сообщением «Введите две шестнадцатеричные цифры».

Строки 4-6 описывают сегмент стека, который является просто областью памяти длиной 256 байт, инициализированной символами «”?”». Отличие сегмента стека от сегментов других типов состоит в использовании и адресации памяти. В отличие от сегмента данных (наличие которого необязательно, если программа не работает с данными), сегмент стека желательно определять всегда.

Строки 7-36 содержат сегмент кода. В этом сегменте в строках 8-35 определена одна процедура main.

Строка 9 содержит директиву ассемблера, которая связывает сегментные регистры с именами сегментов.

Строки 10-11 выполняют инициализацию сегментного регистра DS.

Строки 12-14 выводят на экран сообщение message:

Строка 15 подготавливает регистр АХ к работе, обнуляя его.

Строки 16-17 обращаются к средствам операционной системы для ввода символа с клавиатуры. Введенный символ операционная система помещает в регистр AL.

Строка 18 пересылает содержимое AL в регистр DL. Это делается для того, чтобы освободить AL для ввода второй цифры.

Строка 19 преобразует символьную цифру в ее двоичный эквивалент путем вычитания 30h, в результате чего в регистре DL будет двоичное значения числа.

В строках 20-21 выясняется, нужно ли корректировать двоичное значение DL. Если оно лежит в диапазоне 0…9, то в DL находится правильный двоичный эквивалент введенного символа шестнадцатеричной цифры. Если значение в DL больше 9, то введенная цифра является одним из символов A,B,C,D,E,F. В первом случае строка 21 передаст управление на метку М1.

В строках 24-25 значение в DL сдвигается на 4 разряда влево, освобождая место в младшей тетраде под младшую шестнадцатеричную цифру.

В строке 26 в регистр AL вводится вторая шестнадцатеричная цифра.

В строках 27-29 выясняется, попадает ли двоичный эквивалент второго символа шестнадцатеричной цифры в диапазон 0…9. Наша вторая цифра не попадает в диапазон, поэтому для получения правильного двоичного эквивалента нужно произвести дополнительную корректировку. Это делается в строке 38.

Строки 33-34 предназначены для завершения программы и возврата управления операционной системе.

СТРУКТУРЫ

Описание типа структуры

Структура — это составной объект, занимающий несколько соседних ячеек памяти. Это тип данных, состоящий из фиксированного числа элементов разного типа. Компоненты структуры называются полями, они могут быть разного типа (размера) — байт, слово и т. д. Поля именуются, доступ к полям осуществляется по именам. Для использования структур в программе необходимо выполнить 3 действия.

1. Задать шаблон структуры. По смыслу это означает определение нового типа данных, который впоследствии можно использовать для определения переменных этого типа.

2. Определить экземпляр структуры. Этот этап подразумевает инициализацию конкретной переменной с заранее определенной структурой.

3. Организовать обращение к элементам структуры.

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

Описание шаблона структуры.

Прежде чем использовать структуру, надо описать ее тип — указать, сколько в ней полей, какие имена у полей и т. д. Описание типа структуры выглядит так:

Описание типа открывает директива STRUC, где указывается имя, которое дали типу структуры. Это же имя должно быть в директиве ENDS. Между этими двумя директивами может быть указано любое число директив, описывающих поля структуры.

Например, тип структуры DATE из трех полей Y (год), M(месяц), D(день) можно описать так:

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

Читайте также:
Fie2 participant что это за программа

После того как описан тип структуры, можно определять в программе переменные этого типа, отводить под них память. Такие переменные называются переменными-структурами или просто структурами. Описываются они с помощью директив следующего вида:

Пример описания переменных-структур:

Y M D
?
?
?

Это директивы особого рода. До этого мы рассматривали директивы, названиями которых были служебные слова, а здесь названием является имя DATE. Каждая такая директива описывает одну переменную, имя которой указывается в начале директивы.

DT2 DATE эквивалентно DT2 DATE

DT3 DATE < , , >эквивалентно DT3 DATE

Одной директивой можно описать сразу несколько структур, т. е. можно описать массив, элементами которого являются структуры. Например по директиве

DTS DATE < , 12, 5 >10 dup (<>)

описывается массив из 11 структур типа DATE, причем поля первой из них будут иметь начальные значения: 2004, 12, 5, а остальные десять структур получают один и тот же набор начальных значений, взятых по умолчанию: 2004, 3, ?.

Описав тип структуры и переменные этого типа, получаем право работать с этими переменными-структурами. Как единое целое структуры обрабатываются редко, обычно они обрабатываются по полям. чтобы сослаться на поле структуры, надо использовать конструкцию вида

Такая конструкция обозначает ту ячейку памяти, которую занимает указанное поле указанной переменной. Встречая эту конструкцию, ассемблер заменяет ее на адрес данной ячейки.

Пример. Если в переменной DT1 хранится мартовская дата, то требуется записать сюда дату следующего дня года.

jne FIN ; не март — FIN

je APRL ; 31 марта — APRL

inc DT1.D ; следующий день в марте

APRL: mov DT1.M, 4 ; замена 31 марта 1 апреля

ОБЪЕДИНЕНИЯ

Объединение — тип данных, позволяющий трактовать одну и ту же область памяти как данные, имеющие разные типы и имена. Описание объединений в программе напоминает описание структур, т. е. сначала указывается шаблон, в котором с помощью директив описания данных перечисляются имена и типы полей:

Отличие объединений от структур состоит в том, что при определении переменной типа объединения память выделяется в соответствии с размером максимального элемента. Обращение к элементам объединения происходит по их именам, но при этом нужно помнить, что все поля в объединении накладываются друг на друга. В качестве элементов объединения можно использовать и структуры.

ПРОЦЕДУРЫ

Прямо сейчас студенты читают про:

АНАЛИЗ ИСПОЛЬЗОВАНИЯ РАБОЧЕГО ВРЕМЕНИ Рациональное использование рабочего времени является одним из факторов роста производительности труда и увеличения выпуска продукции.
Предмет и метод образовательного права Общая характеристика образовательного права и образовательной системы Предмет и метод образовательного права Учебная программа по.
Пример описания следа папиллярного узора в протоколе осмотра «… На столе обнаружена стандартная бутылка из прозрачного стекла емкостью 0,5 литра.
Краткий словарь философских терминов Философия — это культура разумного мышления, которое осуществляется в рационально-понятийной форме.
Техника проведения оксигенотерапии Показание: устранение гипоксии различного происхождения. Методы подачи кислорода можно разделить на ингаляционные.

Сейчас читают про:

article image

article image

article image

article image

article image

article image

article image

Источник: studopedia.ru

Глава 6 Программы в com-файлах

то в программе после оператора SEGMENT кодируется директива ORG 100H.

О б р а б о т к а. Для программ в EXE и COM форматах выполняется

ассемблирование для получения OBJ-файла, и компановка для получения

EXE-файла. Если программа создается для выполнения как EXE-файл, то ее уже

можно выполнить. Если же программа создается для выполнения как COM-файл,

то компановщиком будет выдано сообщение:

Warning: No STACK Segment

(Предупреждение: сегмент стека не определен)

Это сообщение можно игнорировать, так как определение стека в

программе не предполагалось. Для преобразования EXE-файла в COM-файл

используется программа EXE2BIN. Предположим, что EXE2BIN имеется на

дисководе A, а скомпонованный файл по имени CALC.EXE — на дисководе B.

Так как первый операнд всегда предполагает EXE файл, то можно не

кодировать тип EXE. Второй операнд может иметь другое имя (не CALC.COM).

Если не указывать тип COM, то EXE2BIN примет по умолчанию тип BIN, который

впоследствии можно переименовать в COM. После того как преобразование

будет выполнено можно удалить OBJ- и EXE-файлы.

Если исходная программа написана для EXE-формата, то можно, используя

редактор, заменить команды в исходном тексте для COM файла.

Программа EXCOM1, приведенная на рис.6.1, аналогична программе на

рис.4.3, но изменена согласно требований COM-формата. Обратите внимание на

следующие изменения в этой COM-программе:

— Стек и сегмент данных отсутствует.

— Оператор ASSUME указывает ассемблеру установить относительные

адреса с начала сегмента кодов. Регистр CS также содержит этот адрес,

являющийся к тому же адресом префикса программного сегмента (PSP).

Директива ORG служит для резервирования 100 (шест.) байт от

начального адреса под PSP.

— Директива ORG 100H устанавливает относительный адрес для

начала выполнения программы. Программный загрузчик использует этот

адрес для командного указателя.

— Команда JMP используется для обхода данных, определенных в

Ниже показаны шаги для обработки и выполнения этой программы:

MASM [ответы на запросы обычные]

LINK [ответы на запросы обычные]

DEL B:EXCOM1.OBJ,B:EXCOM1.EXE (удаление OBJ и EXE-файлов)

Размеры EXE- и COM-программ — 788 и 20 байт соответственно. Учитывая

такую эффективность COM-файлов, рекомендуется все небольшие программы

создавать для COM-формата. Для трассировки выполнения программы от начала

(но не включая) команды RET введите DEBUG B:EXCOM1.COM.

Некоторые программисты кодируют элементы данных после команд так, что

первая команда JMP не требуется. Кодирование элементов данных перед

командами позволяет ускорить процесс ассемблирования и является методикой,

рекомендуемой в руководстве по ассемблеру.

TITLE XCOM1 COM-программа для пересылки и сложения

CODESG SEGMENT PARA ‘Code’

ORG 100H ;Начало в конце PSP

BEGIN: JMP MAIN ;Обход через данные

FLDA DW 250 ;Определение данных

MOV AX,FLDA ;Переслать 0250 в AX

ADD AX,FLDB ;Прибавить 0125 к AX

MOV FLDC,AX ;Записать сумму в FLDC

RET ;Вернуться в DOS

Рис.6.1. Пример COM-программы.

СТЕК ДЛЯ COM-ПРОГРАММЫ

Для COM-файла DOS автоматически определяет стек и устанавливает

oдинаковый общий сегментный адрес во всех четырех сегментных pегистрах.

Если для программы размер сегмента в 64К является достаточным, то DOS

устанавливает в регистре SP адрес конца cегмента — шест.FFFE. Это будет

верх стека. Если 64К байтовый сегмент не имеет достаточно места для стека,

то DOS устанавливает стек в конце памяти. В обоих случаях DOS записывает

затем в стек нулевое слово.

Возможность использования стека зависит от размера программы и

ограниченности памяти. С помощью команды DIR можно определить pазмер файла

и вычислить необходимое пространство для стека.

Все небольшие программы в этой книге в основном расчитаны на

Несоблюдение хотя бы одного требования COM-формата может послужить

причиной неправильной работы программы. Если EXE2BIN обнаруживает oшибку,

то выдается сообщение о невозможности преобразования файла без указания

конкретной причины. Необходимо проверить в этом случае директивы SEGMENT,

ASSUME и END. Если опущен ORG 100H, то на данные в префиксе программного

сегмента будут установлены неправильные ссылки с непредсказуемым

результатом при выполнении.

При выполнении COM-программы под управлением отладчика DEBUG

необходимо использовать команду D CS:100 для просмотра данных и команд. Не

следует выполнять в отладчике команду RET; предпочтительнее использовать

команду Q отладчика. Некоторые программисты используют INT 20H вместо

Попытка выполнить EXE-модуль программы, написанной для COM-формата,

не имеет успеха.

ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ

— Объем COM-файла ограничен 64К.

— COM-файл меньше, чем соответствующий EXE-файл.

— Программа, написанная для выполнения в COM-формате не содержит

стека и сегмента данных и не требует инициализации регистра DS.

— Программа, написанная для выполнения в COM-формате использует

директиву ORG 100H после директивы SEGMENT для выполнения с адреса после

префикса программного сегмента.

— Программа EXE2BIN преобразует EXE-файл в COM-файл, обусловленный

указанием типа COM во втором операнде.

— Операционная система DOS определяет стек для COM-программы или в

конце программы, если позволяет размер, или в конце памяти.

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

6.1. Каков максимальный размер COM-файла?

6.2. Какие сегменты можно определить в программе, которая будет

Читайте также:
Для чего программы отладчики

преобразована в COM-файл?

6.3. Как обходится COM-файл при выполнении с фактом отсутствия

6.4. Программа в результате компановки получала имя SAMPLE.EXE.

Напишите команду DOS для преобразования ее в COM-файл.

6.5. Измените программу из вопроса 4.6 для COM-формата, обработайте

ее и выполните под управлением отладчика DEBUG.

Источник: studfile.net

COM Surrogate: что это за процесс и как его удалить?

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

COM Surrogate что это фото 1

COM Surrogate: что это за процесс?

Чаще всего пользователь узнает о сервисе через окно ошибки «COM Surrogate прекращена работа». Существует и другая ниша пользователей, которые запускают Диспетчер задач и замечают, что в нем присутствует процесс dllhost.exe. Он сильно грузит ПК, может потреблять до половины ЦП.

На самом деле COM surrogate представляет из себя компонент Windows, он позволяет правильно обрабатывать COM+ процессы в различных программах связи с сетью интернет. При этом замечено, что элемент используется в различных программах для просмотра видео и картинок. В связи с этим характерная ошибка может проявляться как раз в момент запуска или закрытия проигрывателя. Также компонент важен для среды .NET. В целом его можно отнести к необходимым.

При этом чрезмерная нагрузка из-за dllhost.exe вызывает множество неудобств, при условии, что это не вирус, вероятно, что причина в битых медиафайлах. Система наталкивается на синтаксическую ошибку, которая зацикливает выполнение кода и занимает много ресурсов.

Другая, уже привычная причина, под COM surrogate может маскироваться вирус. Если это так, то в системе будут иметь место следующие проявления:

  1. Работа ПК существенно замедленна, иногда и вовсе система зависает;
  2. Программы и браузеры зависают;
  3. Все приложения, которые активно работают с сетью, имеют нестабильное подключение;
  4. Многие текстовые, графические редакторы и плееры запускаются, но вызывают соответствующую ошибку;
  5. Открыв диспетчер можно увидеть порядка 5 процессов dllhost.exe;

COM Surrogate что это фото 2

  1. Загрузка доходит до 50%, а иногда и 95-100%.

При этом определить вирус это или нет просто, нужно посмотреть на место размещения файла. Для этого:

  1. Ctrl + Alt + Del и перейти во вкладку «Процессы»;
  2. Найти файл dllhost.exe и ПКМ, выбрать «Открыть место хранения файла»;
  3. В случае, если пользователя путь приведет к директориям C:WindowsSystem32 или C:WindowsSysWOW64 практически 100%, что работает оригинальный файл компонента COM+. Если вы оказались в папках Download, Temp и других, наверняка у вас в системе поселился вирус.

Работа программы COM Surrogate прекращена, как исправить?

Изначально рассмотрим, почему программа COM Surrogate может вызывать ошибки или сильно грузить, при условии, что это настоящий компонент системы. Многие пользователи отмечают улучшения после удаления кодеков. Дело в том, что неправильные или битые кодеки провоцируют некорректную обработку файлов, вероятно, это касается только определенного формата. Метод не всегда способен помочь, но обновление кодеков в любом случае не повредит:

  1. Пуск и «Панель управления»;
  2. Перейти в раздел «Программы и компоненты»;
  3. Найти патч кодеков, возможно это K-Lite Codec Pack или TheHDvid-Codec. Особенно важно произвести действие, если установлено несколько;

COM Surrogate прекращена работа фото 1

  1. Нажать «Удалить»;
  2. Перейти по ссылке https://www.codecguide.com/download_kl.htm и загрузить новую версию;
  3. Установить кодеки.

Когда присутствует процесс, который сильно загружает систему, то можно воспользоваться функцией «Предотвращение выполнения данных». Нужно выполнить:

  1. Пуск и перейти в «Панель управления»;
  2. Далее клик на «Система»;
  3. Перейти во вкладку «Дополнительно»;
  4. В разделе «Быстродействие» нажать на кнопку «Параметры»;

COM Surrogate прекращена работа фото 2

  1. Переходим на соответствующую вкладку и активируем параметр «Включить DEP для всех, кроме»;

COM Surrogate прекращена работа фото 3

  1. Снизу нужно добавить правило, оно заключается в указании пути C:WindowsSystem32dllhost.exe;
  2. Всё закрыть и перезагрузить систему.

Самая частая причина лагов в компоненте заключается в битом файле. Необходимо определить, что конкретно провоцирует проблему, для этого подойдет стандартный компонент «Монитор ресурсов». Вы можете:

  1. Открыть панель Пуск и развернуть список «Все программы»;
  2. Перейти в «Стандартные»;
  3. Далее нажать на «Служебные»;
  4. Выбрать «Монитор ресурсов»;
  5. Устанавливаете галочку возле dllhost.exe и развернуть снизу список «Дескрипторы»;
  6. Ищите строку, в которой в составе пути имеется запись «Error»;

COM Surrogate прекращена работа фото 4

  1. Найти файл и удалить картинку или видео.

Последний известный и при этом рабочий вариант заключается и использовании DISM утилиты.

  1. Запустить консоль с правами админа (Win + R и cmd);
  2. Затем введите exe /Online /Cleanup-image /ScanHealth;

COM Surrogate прекращена работа фото 5

  1. После выполнения сканирования запустить восстановление DISM.exe /Online /Cleanup-image /RestoreHealth.

Удаление вируса

Когда прекращена работа программы COM Surrogate по причине заражения вируса, то есть вы смогли первично диагностировать наличие вредителя по представленным начале статьи симптомам, необходимо устранить поражение. Самый простой способ – это использовать Microsoft Security Essentials. Принцип работы элементарный, необходимо загрузить по ссылке https://windows.microsoft.com/ru-ru/windows/security-essentials-download. После установки перейти в «Параметры проверки» и задать опцию «Особая», затем запустить сканирование.

Существует более сложный, ручной способ удаления:

  1. Перейти в Безопасный режим при загрузке ОС при помощи F8;
  2. Затем «Пуск» и введите имя regedit;
  3. Открыть утилиту и перейти в «Правка» и «Найти»;

Программа COM Surrogate фото 1

  1. Вставить ключевое слово

Программа COM Surrogate фото 2

  1. Удалить найденный раздел;
  2. Затем в поиске ввести «Брандмауэр» и перейти по результату;
  3. Нажать на «Восстановить умолчания».

Благодаря таким нехитрым способам можно избавиться как от вируса, так и неправильной работы компонента системы.

Если у Вас остались вопросы по теме «COM Surrogate: что это за процесс и как его удалить?», то можете задать их в комментариях

Рейтинг статьи 4.2 / 5. Голосов: 11

Пока нет голосов! Будьте первым, кто оценит этот пост.

Поделитесь в социальных сетях!

Источник: tvoykomputer.ru

.com Расширение файла

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

что такоеnbspфайл?

Также известен как командные файлы DOS, содержимое файла COM кодируется в двоичном формате и может вместить до 64 Кбайт кода. Эти COM-файлы, также классифицируются как исполняемые файлы, но в отличие от EXE файлов, нет никаких деталей метаданных или заголовков файлов, прикрепленных к СОМ файла. Содержание в .com файл, как правило, состоит из директив или команд, используемых встроенных ресурсов DOS для выполнения определенных операций. Эти директивы и команды, как правило, осуществляется через командной строки Windows. Содержание этих .com файлы могут быть просмотрены и отредактированы с помощью Microsoft Notepad среди других программ для редактирования текста.

как открыть .com файл?

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

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

приложения, которые открываются .com файл

Источник: www.reviversoft.com

Com программа что это

Tinkoff_Black-oformit

Структура COM и EXE файлов

Структура COM файла

Наверное всем известны файлы с расширением COM. Главным COM файлом на ПК является вездесущий command.com (командный файл DOS) . Что же такое COM файл, как он работает и запускается ?
Структура COM — файла проста . В файлах данного типа,обычно не имеющими даже заголовка файла,содержатся только машинный код и данные программы.
Размер COM — файла ограничен 64 кб, т.е. размером одного сегмента памяти

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

Читайте также:
Производственная программа предприятия это что

Пример небольшого COM файла выводящего на экран сообщение:

.286 ; Устанавливаем тип процессора
mov ah,09h ;Функцию DOS (прерывание 21h) 09h
mov dx,offset message ; Заносим в dx значение переменной message
int 21h ;Устанавливаем прерывание которое должно обработать функцию 09h

mov ah,4Ch ;Функцию DOS (прерывание 21h) 4Ch
int 21h ;Устанавливаем прерывание которое должно обработать функцию 00h

message db «My first COM programms»,13,10,»$» ;Придаем значение переменной message

Использую определение прерывания можно сказать как действует эта программа.

mov ah,09h
int 21h

В первой строке в регистр ah заносится значение 09, где h означает, что это число в шестнадцатеричной системе исчисления, во второй строке указывается прерывание, в данном случае это 21, (h тоже самое, что и в первой строке) т.е. прерывание DOS. Получив такую команду, процессор на время перестает выполнять текущие операции и передает управление находящейся в оперативной памяти программе, обработчику функции 09h. После выполнения всех этих операций процессор возвращается к выполнению ранее выполняемой операции.

Ниже приведены два варианта кода COM — файла до «инфицирования» вирусом и после:

.286 ;Задаем тип процессора
code segmen ; Начало сегмента кода программы
org 100h ;Все COM программы начинаются с адреса 100h

jmp coob ; Тело программы начинается с метки coob

mov ah,4Ch
int 21h

coob: ;Начало тела программы
mov ah,09h ; Заносим значение 09h в регистр ah
mov dx,offset message ; В регистре dx указываем адрес строки с текстом
int 21h ; Указываем, что это прерывание DOS 21h

message db «Файл не инфицирован»,13,10,»$» ; Строка с текстом для вывода на экран

mov ah,4Ch ;Выходим из программы
int 21h ; Прерывание 21h

ends code ; Конец сегмента кода программы

.286 ;Задаем тип процессора
code segmen ; Начало сегмента кода программы
org 100h ;Все COM программы начинаются с адреса 100h

jmp virus ; JMP изменены таками образом, чтобы вирус получил управление

mov ah,4Ch
int 21h
coob:
mov ah,09h
mov dx,offset message
int 21h
message db «Файл не инфицирован»,13,10,»$» ; Строка с текстом для вывода на экран
mov ah,4Ch
int 21h

virus:

mov .
. > Вирус размножается и выполняет свои разрушительные действия
. int 21h

jmp coob

ends code ; Конец сегмента кода программы

Ниже приведена структура инфицированного файла

Хвост COM программы

Тело вируса

Оригинальное начало
COM программы

Структура EXE файла

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

Примерная структура EXE файла:

Тело программы

Конец программы

Первая и последняя часть программы являются обязательными для всех EXE файлов, а вторая часть вовсе не обязательна. Вы можете просто взять её и пропустить.

Приводить виды «инфицированного» и «не инфицированного» EXE файла я не буду, т.к. в отличие от COM вирусов, у EXE вирусов есть множество способов заражения. Подробно о каждом из них я расскажу Вам в следующих выпусках рассылки, а сейчас только перечислю названия основных из них:

  • OVERWRITE — вирусы, замещающие программный код
  • COMPANION — вирусы-спутники
  • PARASITIC — вирусы, внедряющиеся в программу
  • метод переименования EXE файла
  • внедрение способом переноса
  • внедрение способом сдвига
? Как компилировать программу написанную на Ассемблере в COM файл
Для компилирования необходимо иметь соответствующее программное обеспечение на ПК. Для этого достаточно набора программ Turbo Assembler. В этом наборе находятся файлы tasm.exe и tlink.exe необходимые для компиляции в COM файл .
Написанная Вами программка на Ассемблере должна храниться в обычном текстовом файле, далее:
— копируем ваш файл в каталог с файлами tasm и tlink
— пишем команду tasm.exe leo.asm ( leo.asm — название файла с вашей программой)
если все прошло хорошо, то появятся еще файлы с таким же именем но с расширением obj, если нет, то на экране появятся сообщения с указанием типа ошибки и номером строки с ошибкой.
— tlink leo.obj/t — И вот ваш COM файл готов, можете его запустить. Но будьте осторожней, не попадите в капкан установленный вами.

Стандартный вирус

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

Интересно, а кто создал первый вирус ?

С момента появления вычислительной техники программистов и электронщиков интересовала одна тема: самовопроизводяющиеся и самораспространяющиеся механизмы. Первым кто попробовал осуществить эту идею в 1951 году был Дж. фон Нейман. Но Нейман и не думал использовать эти материалы в каких либо разрушительных целях, но другие люди, воспользовавшись его материалами и знаниями в этой области начали создавать различных вредоносные программы — компьютерные вирусы. Но что же побудило этих людей пойти на это. Ученые считают, что людей побуждают создавать компьютерные вирусы некоторые факторы:

— озорство и одновременное непонимание всех последствий распространения вируса
— стремление навредить кому-либо
— неестественная потребность в совершение преступлений
— желание самоутвердиться
— невозможночть использовать свои знания в правильном русле

Как и у биологических, у компьютерных вирусов есть определенные стадии «развития»:

— латентный период — в течение которого вирус себя никак не проявляет (для того, чтобы «замести следы» источника его попадания на «инфицированный» ПК)
— инкубационный период — в рамках которого вирус только размножается
— период проявления — в течение которого вирус выполняет несанкционированные пользователем действия.
Компьютерные вирусы классифицируют по следующим признакам.
— способ обитания
— способ заражения и среды обитания
— способ активизации
— способ проявления
— способ маскировки

Нелепо думать, что компьютерные вирусы могут содержаться везде. Особенно это проявляется на пользователях «чайниках» которые могут часами просиживать перед экраном и с упортством проверять файлы, которые никак не могут содержать вирусы. Ведь вирус — это программа, следовательно имеет смысл внедряться только в другие программы. В связи с этим компьютерные вирусы подразделяют еще на:
— файловые
— загрузочные
— файлово-загрузочные вирусы

ФАЙЛОВЫЕ

Вирусы могут внедряться в следующие компоненты системы:

— файлы с компонентами DOS
— исполняемые файлы COM
— исполняемые файлы EXE
— внешние драйвера устройств (SYS- и BIN-файлы)
— объектные модули (OBJ-файлы)
— файлы программы до их компиляции, в надежде на то, что их когда нибуть компилируют и запустят
— командные файлы (BAT-файлы)
— файлы-библиотеки (LIB, DLL и др.файлы)
— оверлейные файлы (PIF, OV? и др. файлы)
— файлы текстовых процессоров поддерживающих макроcы (DOC, XLS и др.файлы)

С каждым днем этот список растет.

Чаще всего вирусы внедряются в файлы COM, EXE и DOC

ЗАГРУЗОЧНЫЕ

загрузояные вирусы распространяются в BOOT секторах дисков и дискет

— BR — на дискетах
— MBR — на жестком диске

При загрузке этих дискет выполняется программа в BOOT секторе этого диска, а следовательно и сам вирус. Плюс этого типа вирусов в том, что если прочитать этот инфицированный диск, то на нем не окажется ни одного файла.

ФАЙЛОВО-ЗАГРУЗОЧНЫЕ ВИРУСЫ

Вирусы данного типа обладают большей инфицирующей способностью, так как они распространяются в BOOT секторах диска и в файлах на этом диске.

СПОСОБЫ ЗАРАЖЕНИЯ СРЕДЫ ОБИТАНИЯ

Вирусы могут «имплантироваться» в следующие места файлов:

— конец файла
— начало файла
— середина файлов
— хвостовой части файлов (свободной)

Источник: skachivaem.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru