Семантический анализ структуры EXE файла и дисассемблер (с примерами и исходниками), вирусология
Категория реферата: Рефераты по информатике, программированию
Теги реферата: бесплатные рефераты скачать бесплатно, товар реферат
Добавил(а) на сайт: Gorev.
Предыдущая страница реферата | 13 14 15 16 17 18 19 20 21 22 23 | Следующая страница реферата
чаще всего приносят вирусы. Особое внимание следует уделять играм -
чаще всего вирусы распространяются именно так. Новые игры и программы всегда нужно проверять на вирус.
4. Дисассемблер
Когда готовый программный продукт, можно будет редактировать, переделывать по своему желанию, увидеть исходное написанной программы – это
называется дисассемблированием.
Существуют множество готовых программ-дисассемблеров, такие как: Hex-
редакторы, Win32Dasm, DASM v3, Dasm048 (для 486 процессоров), DASM6208 и
т.д. Но недостатки всех этих дисассемблеров в том что в них не указывают
например директивы (Директивы этой группы предназначены для управления
видом файла листинга. Все директивы являются парными — это означает, что
если одна директива что-то разрешает, то другая, наоборот, запрещает), а
так же все они не способны полностью восстановить исходное программы. Чтобы
вносить изменения в программу нужны достаточно хорошие знания ассемблера.
6. Программы
1) Программы выполненная на ассемблере. Запустив программу можно вводит до
256 символов и одновременно выводить на экран(аналогичность команды DOS-
“copy con”). Выход клавишей ENTER. Здесь так же можно изменять вид экрана, цветовую палитру, прокрутку экрана, размер курсора.
page 60,132 ;Вывод символа и его скэн кода model small title Пробная программа
sseg segment para private 'stack' dw 32 dup('??') sseg ends
dseg segment para private 'data' maska db 30h
KSIM DB 3
ROW DB 0
COL DB 0
SIM DB ' '
SCAN DB ' '
CHISLO DB ' '
STRSIM DB 100 DUP(' ') dseg ends
cseg segment para private 'code' assume ss:sseg,ds:dseg,cs:cseg,es:nothing
sum proc far ;Начало программы push ds sub ax,ax push ax mov ax,dseg mov ds,ax
MOV AH,00H ;Установка 64-цветного режима
INT 10H
MOV AX,0600H ;Полная прокрутка экрана
MOV BH,07
MOV CX,0000
MOV DX,184FH
INT 10H
MOV AH,01 ; Установка размера курсора
MOV CH,06
MOV CL,07
INT 10H
MOV KSIM,0
MOV ROW,00 ; Задание начальных значении
MOV COL,00
MOV SI,0
MOV KSIM,10
M:
MOV AH,02; Установка курсора
MOV BH,00
MOV DH,ROW
MOV DL,COL
INT 10H
MOV AH,00 ;Ввод символа с клавиатуры
INT 16H
MOV STRSIM[SI],AL
SUB AH,28 ; KLAVISHA ENTER (exit)
JZ M1 ;Переход если ноль
MOV AH,09H ; Вывод очередного символа в позицию курсора
MOV AL,STRSIM[SI]
MOV BH,00
MOV BL,212
MOV CX,1
INT 10H
ADD COL,1
ADD SI,1
INC KSIM
JMP M ;Безусловный переход
M1: ret ; Возврат из подпрограммы(RET-optional pop-value) sum endp cseg ends end sum
2) Исходник программы дисассемблер выполненный на паскале:
---------- include file IO.INC ---- CUT HERE FOR IO.INC ------------- procedure WriteHex(B: byte); const
Hex: ARRAY [0 .. 15] OF CHAR = '0123456789ABCDEF'; var i: integer; begin for i:= 1 downto 0 do write(Hex[((B shr (i shl 2)) and $000F)]) end; procedure WritelnHex(B: byte); begin
WriteHex(B); writeln end; procedure WriteHexInt(N: integer); begin
WriteHex(N shr 8);
WriteHex(N and $00FF) end; procedure WritelnHexInt(N: integer); begin
WriteHex(N shr 8);
WritelnHex(N and $00FF) end; procedure WriteAddress(N, M: integer); begin
WriteHexInt(N);
Write(':');
WriteHexInt(M) end; procedure HexString(var Str; N: INTEGER); const
Hex: ARRAY [0 .. 15] OF CHAR = '0123456789ABCDEF'; var i: byte; begin for i:= 0 to Mem[Seg(Str):Ofs(Str)] - 1 do
Mem[Seg(Str):(Ofs(Str)+Mem[Seg(Str):Ofs(Str)]-i)] :=
Ord(Hex[((N shr (i shl 2)) and $000F)]) end;
procedure WriteDouble(High, Low: INTEGER); type
LongInt = ARRAY [0..3] OF BYTE; const
Divisors : ARRAY [0..9] OF LongInt = ( ( 0, 0, 0, 1),
( 0, 0, 0, $A),
( 0, 0, 0, $64),
( 0, 0, 3, $E8),
( 0, 0, $27, $10),
( 0, 1, $86, $A0),
( 0, $F, $42, $40),
( 0, $98, $96, $80),
( 5, $F5, $E1, 0),
($3B, $9A, $CA, 0) ); var i, j : INTEGER;
Рекомендуем скачать другие рефераты по теме: реферат менеджмент, вопросы и ответы.
Предыдущая страница реферата | 13 14 15 16 17 18 19 20 21 22 23 | Следующая страница реферата