Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2010, 00:00   #1
STASON4eg
Новичок
Джуниор
 
Регистрация: 25.05.2010
Сообщений: 2
По умолчанию Помгите написать вакцинатор для com программы

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

Код:
;Вакцнатор СОМ-файла	
  .model tiny
	.code
	org	100h
start:
   lea	bx,Last	; загрузка исполнительного адреса
 	add     bx,100h
	shr     bx,4	; сдвигаем bx 
 ;сжать блок
mov     ah,4Ah   
        int     21h
        mov     bx,1000h
;выделить блок       
mov     ah,48h   
        int     21h
        mov     es,ax
        lea     dx,FilName
;открыть файл
mov     ax,3D02h  ;открыть файл
        int     21h
;запомнить дескриптор
        mov     bx,ax   
        push    ds
        push    es
        pop     ds
        xor     dx,dx
        mov     cx,0FFFFh
;чтение из файла        
 		mov     ah,3Fh	; функция чтения  
        int     21h
        pop     ds

   	mov    cx,es:0
   	mov    word ptr Buffer,cx
   	mov    cx,es:2
   	mov    word ptr Buffer[2],cx
   	mov    byte ptr es:0,0E9h  ;код команды jmp
   	mov    si,ax
   	sub    si,3
   	mov    word ptr es:1,si
   	add    si,3
   	push   bx
   	lea    bx,L1+2   
   	mov    [bx],al
   	lea    bx,L2+1 
   	push   ax
   	add    ax,31+100h
   	mov    [bx],ax
   	pop    ax
;настройка возврата
   	lea    bx,L3+1    
   	mov    cx,offset L3 - offset vac + 3
   	add     cx,ax
   	xor     di,di
   	sub     di,cx
   	mov    [bx],di
   	lea    bx,vac
   	mov    cx,70
   	xor    di,di

Loop1:
   	mov    dx,ds:[bx+di]
   	mov    byte ptr es:si,dx
   	inc    si
   	inc    di
;копирование вакцины в программу
   	loop   Loop1    
   	pop    bx
   	xor    cx,cx
  	xor    dx,dx
   	mov    ax,4200h
   	int    21h
   	mov    ah,40h
  	mov    cx,si
   	push   ds
   	push   es
   	pop    ds
   	xor    dx,dx
   	int    21h
   	pop    ds
exit:
;освободить блок
        mov    ah,49h   
        int    21h

exiterr:
        mov    ax,4C00h
        int    21h
vac:
   	mov    ah,9
   	mov    dx,35+100h
L1:
   	add    dx,0
   	int    21h
   	mov    si,100h
L2:
;смещение буфера в новой программе
   	mov    bx,00       	
           mov    cx,[bx]
   	mov    cs:si,cx
   	mov    cx,[bx+2]
   	mov    cs:si+2,cx

L3:     db    0E9h,0,0    ;jmp   start
Buffer   dd       ?
Mess     db       'Hello, I am vaccine!',10,13,'$'
FilName  db      'C:\tasm\hello.com',0
Last:
end     start
код для меня сложноват..новичок в ассме....)
так что осталось подсчитать размер файла и проверку на изменения размера) причем еще не пончятно где программа должна хранить ээтот размер если мы из нее выхлдим???

Последний раз редактировалось STASON4eg; 26.05.2010 в 00:04.
STASON4eg вне форума Ответить с цитированием
Старый 26.05.2010, 12:58   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

STASON4eg
"код для меня сложноват..новичок в ассме....)
так что осталось подсчитать размер файла и проверку на изменения размера) причем еще не пончятно где программа должна хранить ээтот размер если мы из нее выхлдим???"
Код для него сложноватый... а зачем взялся? Вирусный аналитег, не позорился бы, блин
Mikl___ вне форума Ответить с цитированием
Старый 26.05.2010, 14:33   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Держи, злостный вирусописатель, http://vxheavens.com/lib/apk01.html
В этой книге все по полочкам разложено, и с примерами, как создать простой вирус.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 26.05.2010, 22:46   #4
STASON4eg
Новичок
Джуниор
 
Регистрация: 25.05.2010
Сообщений: 2
По умолчанию

Во за книжечку спасиб))) почитаем)
кстати на самом деле...это лабораторная работа)) прост прошу для того что к зачету ее и осталось напистаь...а соображалка уже не работает))))
STASON4eg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать маленькие программы для школьника Sava95 Фриланс 8 22.11.2009 23:06
Помогите написать текст программы для Pascal Alink@ Помощь студентам 4 06.10.2009 17:24
Помогите написать программы Dima H2 Фриланс 8 22.11.2008 00:53
Подскажите пожалуйста как написать или какие разделы/библиотеки изучить для написания программы в делфи7 CeLaVie Помощь студентам 2 27.08.2008 23:47
Помогите пожалуйста написать проверку ввода для этой программы Saaashka Помощь студентам 1 01.07.2008 09:11