МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Защита данных от несанкционированного доступа

    je c_com ;Если target_file - EXE,

    call wr2exe ;то CALL WR2EXE.

    jmp short CLOSE_F

    c_com:

    call wr2com

    CLOSE_F: ;Закрыть файлы

    mov ah, 3Eh ;source_file и target_file

    mov bx, hand_1

    int 21h

    jnc cl_2

    int 20h

    cl_2:

    mov ah, 3Eh

    mov bx, hand_2

    int 21h

    jnc OK

    int 20h

    OK:

    mov ah, 9

    int 20h

    det_type proc ;Подпрограммы

    mov bp, sp

    push ax

    push cx

    push di

    xor ax, ax

    lea di, ext_a

    loo_1:

    push si

    push di

    mov cx, 3

    repe cmpsb

    jne end_loo_1

    pop di

    pop si

    mov [bp+2], ax

    jmp d_ret

    end_loo_1:

    inc al

    pop di

    add di, 3

    pop si

    cmp al, 2

    jb loo_1

    mov [bp+2], ax

    d_ret:

    pop di

    pop cx

    pop ax

    ret

    det_type endp

    wr2exe proc

    push ax

    push bx

    push cx

    push dx

    push si

    push di

    jmp st_2exe

    hdr label byte

    dw ?

    PartPag dw ?

    PageCnt dw ?

    dw ?

    HdrSize dw ?

    dw 5 dup(?)

    ExeIP dw ?

    ReloCS dw ?

    len_hdr equ $-hdr ;Команды, записываемые

    imit label byte ;в конец файла

    mov ax, es ;Команды записи в стек

    I_1: ;адреса начала EXE-файла

    add ax, 0

    add ax, 10h

    push ax

    I_2:

    mov ax, 0

    push ax ;Команды пердачи управления

    mov ax, 100h ;source_file, как и для COM

    push ax ;файла

    db 0C3h

    len_imit equ $-imit

    st_2exe:

    mov ah, 42h ;Читать заголовок EXE-файла

    mov bx, hand_1 ;Установить указатель на

    xor cx, cx ;начало файла

    xor dx, dx

    mov al, 0

    int 21h

    jc cn_mov_1

    mov ah, 3Fh

    lea dx, hdr

    mov cx, len_hdr

    int 21h

    jnc prep_end

    cn_r_1:

    int 20h

    prep_end: ;Настроить команды,

    дописываемые

    mov ax, ReloCS ;в конец файла target_file

    mov word ptr i_1[1], ax ;Записать в стек адреса

    mov ax, ExeIP ;начала EXE-файла

    mov word ptr i_2[1], ax ;Передать управление файлу

    mov cx, len_t_1 ;source_file по соглашениям

    mov dx, len_t_2 ;системы DOS

    mov si, cx ;Записать команды в конец

    mov di, dx ;EXE-файла

    mov ah, 42h

    mov al, 0

    mov bx, hand_1

    int 21h

    jnc yes_wr

    cn_mov_1:

    int 20h

    yes_wr:

    mov ah, 40h

    lea dx, imit

    mov cx, len_imit

    int 21h

    jnc wr_sour

    cn_w_1:

    int 20h

    wr_sour: ;Записать source_file в

    конец

    mov cx, si ;EXE-файла

    mov dx, di

    add dx, len_imit

    jnc m1

    inc cx

    m1:

    add dx, 15

    jnc m2

    inc cx

    m2:

    and dx, 0FFF0h

    mov si, cx

    mov di, dx

    mov ah, 42h

    mov al, 0

    int 21h

    jc cn_mov_1

    mov ah, 40h

    lea dx, buff

    mov cx, len_s

    int 21h

    jc cn_w_1

    mov ax, si

    mov bx, di

    add bx, ax

    mov cl, 4

    ror bx, cl

    sub bx, 10h

    sub bx, HdrSize

    mov ReloCS, bx

    mov ax, PartPag

    and ax, 000Fh

    mov bx, ax

    add ax, len_imit

    add ax, 15

    and ax, 0FFF0h

    add bx, 100h

    sub bx, ax

    mov ExeIP, bx

    mov ax, si

    mov bx, di

    add bx, len_s

    jnc m3

    inc ax

    m3:

    mov dx, bx

    and dx, 1FFh

    mov PartPag, dx

    add bx, 511

    jnc m4

    inc ax

    m4:

    and bh, 0FEh

    mov ah, bh

    mov cl, 9

    ror ax, cl

    mov PageCnt, ax ;Записать настроенный

    mov ah, 42h ;заголовок в начало

    EXE-файла

    mov bx, hand_1

    xor cx, cx

    xor dx, dx

    mov al, 0

    int 21h

    jnc write_1

    jmp cn_mov_1

    write_1:

    mov ah, 40h

    lea dx, hdr

    mov cx, len_hdr

    int 21h

    jnc m_ret

    jmp cn_w_1

    m_ret:

    pop di

    pop si

    pop dx

    pop cx

    pop bx

    pop ax

    ret

    wr2exe endp

    wr2com proc ;Процедура дописывания в

    ;конец COM-файла

    jmp st_2com

    new_beg label byte

    mov ax, cs

    c_1:

    add ax, 0

    push ax

    c_2:

    mov ax, 0

    push ax

    db 0CBh

    len_new_beg equ $-new_beg

    com label byte

    mov di, 100h

    push cs

    pop ds

    c_3:

    mov ax, 0

    c_4:

    add ax, 0

    and AX, 000Fh

    mov bx, 16

    sub bx, ax

    and bx, 000Fh

    add bx, len_new_beg

    mov ax, 100h

    sub ax, bx

    mov si, ax

    mov cx, len_new_beg

    rep movsb

    push es

    pop ds

    push es

    mov ax, 100h

    push ax

    push ax

    db 0C3h

    len_com equ $-com

    old_beg label byte

    db len_new_beg dup(?)

    len_im equ $-com

    st_2com:

    mov bx, hand_1

    mov ah, 42h

    xor cx, cx

    xor dx, dx

    mov al, 0

    int 21h

    jnc read_beg

    jmp cn_mov_2

    read_beg:

    mov ah, 3Fh

    lea dx, old_beg

    mov cx, len_new_beg

    int 21h

    jnc prep_beg

    jmp cn_r_1

    prep_beg:

    mov ax, len_t_1

    mov bx, len_t_2

    add bx, len_im

    jnc pr1

    inc ax

    pr1:

    add bx, 15

    and bx, 0FFF0h

    add bx, ax

    mov cl, 4

    ror bx, cl

    mov word ptr c_1[1], bx

    mov ax, len_t_2

    and ax, 000Fh

    mov bx, ax

    add ax, len_im

    add ax, 15

    and ax, 0FFF0h

    add bx, 100h

    sub bx, ax

    mov word ptr c_2[1], bx

    mov bx, hand_1

    mov ah, 42h

    xor cx, cx

    xor dx, dx

    mov al, 0

    int 21h jnc wr_beg

    jmp cn_mov_2

    wr_beg:

    mov ah, 40h

    lea dx, new_beg

    mov cx, len_new_beg

    int 21h

    jnc prep_c_end

    jmp cn_w_1

    prep_c_end:

    mov ax, len_t_2

    mov word ptr c_3[1], ax

    mov word ptr c_4[1], len_im

    mov bx, hand_1

    mov ah, 42h

    mov cx, len_t_1

    mov dx, len_t_2

    mov al, 0

    int 21h

    jnc wr_end

    jmp cn_mov_2

    wr_end:

    mov ah, 40h

    lea dx, com

    mov cx, len_im

    int 21h

    jnc cal_b

    jmp cn_w_1

    cal_b:

    mov cx, len_t_1

    mov dx, len_t_2

    add dx, len_im

    jnc cal_1

    inc cx

    cal_1:

    add dx, 15

    jnc cal_2

    inc cx

    cal_2:

    and dx, 0FFF0h

    mov bx, hand_1

    mov ah, 42h

    mov al, 0

    int 21h

    jnc wr_sr

    jmp cn_mov_2

    wr_sr:

    mov ah, 40h

    lea dx, buff

    mov cx, len_s

    int 21h

    jnc end_2com

    jmp cn_w_1

    end_2com:

    ret

    wr2com endp

    buff label byte

    copyright db 'Copyright(C) Юзефович Артем ( МГВРК,'

    db ' Минск ), 1996'

    db 0Dh, 0Ah, 'Программа дописывания'

    db ' по вирусному принципу.', 0Dh, 0Ah

    db 0Dh, 0Ah, 0Dh, 0Ah, '$'

    code ends

    end start

    {**************************************************************************

    **}

    {**************************************************************************

    **}

    {**

    **}

    {** КП "ЗАЩИТА ДАННЫХ ОТ НСД"

    **}

    {** Выполнил учащийся гр.46491 ЮЗЕФОВИЧ АРТЕМ

    **}

    {** 1996

    **}

    {**

    **}

    {** Пароль на файл

    **}

    {**************************************************************************

    **}

    {**************************************************************************

    **}

    сode segment

    assume cs: code, ds:code, es: code, ss: code

    org 100h

    start: jmp print

    enter_pas label byte

    db 'E'+60h, 80h,'n'+60h, 80h,'t'+60h, 80h,'e'+60h, 80h

    db 'r'+60h, 80h

    db 80h, 80h, 80h

    db 'P'+60h, 80h,'a'+60h, 80h,'s'+60h, 80h,'s'+60h, 80h

    db 'w'+60h, 80h,'o'+60h, 80h,'r'+60h, 80h,'d'+60h, 80h,

    ':'+60h

    db 6Ah, 6Dh

    len_enter equ $-enter_pas

    password label byte

    db 'm'+60h, '&'+60h, 'a'+60h ;Пароль m&a

    len_pas equ $-password ;Счетчик повторов

    count_err equ 3

    buff label byte

    db len_pas dup(?)

    print:

    push es

    push ds

    push cs

    push cs ;Адресация регистров

    pop es

    mov cx, count_err ;Инициализация

    счетчика

    pr_1: ;Печать приглашения

    mov ah, 2

    mov bx, 0

    pr_ent:

    mov dl, enter_pas[bx]

    sub dl, 60h

    int 21h

    inc bx

    cmp bx, len_enter

    jb pr_ent

    push cx

    mov cx, len_pas ;Ввести пароль

    lea di, buff

    rd_pass:

    mov al, 7

    mov ah, 0Ch

    int 21h

    stosb

    loop rd_pass

    pop cx

    mov bx, 0

    cmp_p:

    mov al, password[bx] ;Сравнить пароль с

    введенным

    sub al, 60h

    cmp al, buff[bx]

    jne repeat

    inc bx

    cmp bx, len_pas

    jb cmp_p

    equal:

    pop ds ;Пароль верный

    pop es ;Перейти к основной

    db 0CBh ;программе

    repeat:

    loop pr_1

    dos:

    jmp cs_1

    ms_1 db '*', 10, 13, '$'

    cs_1:

    mov ah, 9 ;Пароль не верный

    lea dx, ms_1

    int 21h ;Вывести сообщение

    mov ah, 4Ch

    int 21h ;Выйти в DOS

    copyright db 'Copyright(C) Юзефович Артем ( МГВРК,'

    db ' Минск ), 1996'

    db 0Dh, 0Ah, 'Запрос'

    db ' пароля.', 0Dh, 0Ah

    db 0Dh, 0Ah, 0Dh, 0Ah, '$'

    code ends

    end start

    {**************************************************************************

    **}

    {**************************************************************************

    **}

    {**

    **}

    {** КП "ЗАЩИТА ДАННЫХ ОТ НСД"

    **}

    {** Выполнил учащийся гр.46491 ЮЗЕФОВИЧ АРТЕМ

    **}

    {** 1996

    **}

    {**

    **}

    {** Ключевая дискета

    **}

    {**************************************************************************

    **}

    {**************************************************************************

    **}

    code segment

    assume cs: code, ds:code, es: code, ss: code

    org 100h ;Счетчик команд-100h

    start: jmp print

    recsize equ 512 ;Размер сектора

    buffer db recsize dup(?) ;Буферы ввода-вывода

    bufrez db recsize dup(?)

    buffer1 db recsize dup(?)

    protect label byte

    db 'T'+60h,'h'+60h,'i'+60h,'s'+60h

    db 80h, 80h

    db 'i'+60h,'s'+60h

    db 80h, 80h

    db 'k'+60h,'e'+60h,'y'+60h

    db 80h, 80h

    db 'd'+60h,'i'+60h,'s'+60h,'k'+60h

    len_enter2 equ $-protect ;Длина сообщения

    dsk_key label byte

    db 'Э'+10h,'т'+10h,'о'+10h

    db 30h, 30h

    db 'н'+10h,'е'+10h

    db 30h, 30h

    db 'к'+10h,'л'+10h,'ю'+10h,'ч'+10h

    db 'е'+10h,'в'+10h,'а'+10h,'я'+10h

    db 30h, 30h

    db 'д'+10h,'и'+10h,'с'+10h,'к'+10h

    db 'е'+10h,'т'+10h,'а'+10h

    db 6Ah-50h, 6Dh-50h

    len_enter1 equ $-dsk_key ;Длина сообщения

    enter_pas label byte

    db 'В'+10h, 30h,'с'+10h, 30h,'т'+10h, 30h,'а'+10h, 30h

    db 'в'+10h, 30h, 'ь'+10h, 30h, 'т'+10h, 30h, 'е'+10h, 30h

    db 30h, 30h, 30h

    db 'к'+10h, 30h,'л'+10h, 30h,'ю'+10h, 30h,'ч'+10h, 30h

    db 'е'+10h, 30h,'в'+10h, 30h,'у'+10h, 30h,'ю'+10h, 30h

    db 30h, 30h, 30h

    db 'д'+10h, 30h,'и'+10h, 30h,'с'+10h, 30h,'к'+10h, 30h

    db 'е'+10h, 30h,'т'+10h, 30h,'у'+10h, 30h

    db 30h, 30h, 30h

    db 'и'+10h

    db 30h, 30h, 30h

    db 'н'+10h, 30h,'а'+10h, 30h,'ж'+10h, 30h,'м'+10h, 30h

    db 'и'+10h, 30h,'т'+10h, 30h,'е'+10h, 30h

    db 30h, 30h

    db 'В'+10h, 'В'+10h, 'О'+10h, 'Д'+10h

    db 6Ah-50h, 6Dh-50h

    len_enter equ $-enter_pas ;Длина сообщения

    print:

    push es ;Сохранение регистров

    push ds

    push cs

    push cs

    pop ds ;cs=>ds

    pop es ;cs=>es

    mov ah, 2

    mov bx, 0

    pr_ent:

    mov dl, enter_pas[bx] ;Вывод сообщения

    sub dl, 10h

    int 21h

    inc bx

    cmp bx, len_enter

    jb pr_ent

    mov ah, 08h ;Ожидание нажатия Ввода

    Страницы: 1, 2, 3, 4, 5, 6, 7


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.