Если за это не убивать, тогда за что? |
[Feb. 23rd, 2010|03:22 pm] |
Я сильно польстил автору. Такой боли я не испытвал с тех пор, как верстал книжку Хижняка. В чём дело? Я уж не говорю, о том, что автор комментирует вот это, не упоминая, что же такое DTA и прочие незначительные подробности. Но не суметь написать strchr() - это нужно уметь.
mov al,[bx] ; Загрузим в al первый символ из Ьх
cmp al,'.' ; Проверим, точка ли это?
; это не опечатка, это - ошибка
inc bx ; Переходим к следующему символу
je izm2 ; Если да, то идем на метку изменения расширения
jmp .pov
izm2:
mov al,'c' ; Положим символ 'с' в al
mov [bx],al ; Положим в DTA символ из al
inc bx ; Перейдем к следующему символу
mov al,'o' ; Положим символ 'о' в al
mov [bx],al ; Положим в DTA, символ из al
inc bx ; Перейдем к следующему символу
mov al,'m' ; Положим символ 'm' в al
mov [bx],al ; Положим в DTA, символ из al
Редактор тоже был очень занят, щедро расставляя бессмысленные и ошибочные примечания. И что спрашивается сложного в этой функции?
push byte 13
pop ecx
mov eax, '.com'
repne scasb
dec ecx
js .err
dec edi
stosd
.err:
|
|
|
Comments: |
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | February 24th, 2010 - 01:08 am |
---|
| | | (Link) |
|
комментарии писал сержант Очевидность, я так понимаю? %-)
![[User Picture]](http://lj.rossia.org/userpic/191927/26445) | From: | herm1t |
Date: | February 24th, 2010 - 01:19 pm |
---|
| | | (Link) |
|
У коллеги был сокурсник - курсант Долбилкин, который однажды попытался прикурить от фидера мощного передатчика. От передатчика его отбросило в стену (по пути он собрал тушкой все парты в аудитории). Может и эти друзья тоже вырвались из мрачных куклачевских застенков?
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | February 25th, 2010 - 11:58 pm |
---|
| | | (Link) |
|
>вырвались из мрачных куклачевских застенков? есть мнение, что не вырвались, прямо оттуда и пишут.
![[User Picture]](http://lj.rossia.org/userpic/191927/26445) | From: | herm1t |
Date: | February 24th, 2010 - 01:50 pm |
---|
| | | (Link) |
|
а вот ещё хорошее:
add ax,end_vir-st_vir ; Добавим к размеру файла размер вируса
cmp ax,65535 ; Проверим, не больше ли это 1 сегмента
jnl no_infect ; Если больше, то не заражаем
Смеялся. )))
![[User Picture]](http://lj.rossia.org/userpic/191927/26445) | From: | herm1t |
Date: | February 24th, 2010 - 02:04 pm |
---|
| | | (Link) |
|
бля, это какой-то пиздец, постонно приходится вытаскивать из архивов свои старые исходники или запускать тесты, чтобы убедиться, что глючит явно не меня. очередной перл:
mov ах,word ptr [bp+newDTA+26]; Это реальная длина файла
mov bl,byte ptr [bp+buffer+02]; В bx будет храниться длина файла
mov bh,byte ptr [bp+buffer+04]; из заголовка (buffer)
cmp ax,bx ; Проверяем соответствие
je infect_exe ; Если это не оверлей, то заражаем его
выкопал, то что когда-то писал сам:
mov al,2
call setfpos
jc AllDone
mov di,dx
mov bp,ax ; get a real file length to di:bp
...
mov ax,ds:[si+4] ; Pages (512b).
dec ax
imul ax,512
add ax,ds:[si+2] ; DX:AX = File len from header.
cmp ax,bp ; Real file len = dx:ax ?
jnz AllDone ; No - this is overlay.
cmp di,dx
jnz AllDone ; No - this is overlay.
Такое уродство Ж%-)))
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | February 26th, 2010 - 12:00 am |
---|
| | | (Link) |
|
эх, ностальжы… жаль, у меня уже ничего с тех времён не сохранилось. «как молоды мы были»… | |