herm1t LIVE!ng room - Если за это не убивать, тогда за что? [entries|archive|friends|userinfo]
herm1t

[ website | twilight corner in the herm1t's cave ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Если за это не убивать, тогда за что? [Feb. 23rd, 2010|03:22 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
[Tags|, , ]

Я сильно польстил автору. Такой боли я не испытвал с тех пор, как верстал книжку Хижняка.
В чём дело? Я уж не говорю, о том, что автор комментирует вот это, не упоминая, что же такое 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:  
LinkLeave a comment

Comments:
[User Picture]
From:[info]ketmar
Date:February 24th, 2010 - 01:08 am
(Link)
комментарии писал сержант Очевидность, я так понимаю? %-)
[User Picture]
From:[info]herm1t
Date:February 24th, 2010 - 01:19 pm
(Link)
У коллеги был сокурсник - курсант Долбилкин, который однажды попытался прикурить от фидера мощного передатчика. От передатчика его отбросило в стену (по пути он собрал тушкой все парты в аудитории). Может и эти друзья тоже вырвались из мрачных куклачевских застенков?
[User Picture]
From:[info]ketmar
Date:February 25th, 2010 - 11:58 pm
(Link)
>вырвались из мрачных куклачевских застенков?
есть мнение, что не вырвались, прямо оттуда и пишут.
[User Picture]
From:[info]herm1t
Date:February 24th, 2010 - 01:50 pm
(Link)
а вот ещё хорошее:
add     ax,end_vir-st_vir   ; Добавим к размеру файла размер вируса
cmp     ax,65535            ; Проверим, не больше ли это 1 сегмента
jnl     no_infect           ; Если больше, то не заражаем
Смеялся. )))
[User Picture]
From:[info]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]
From:[info]ketmar
Date:February 26th, 2010 - 12:00 am
(Link)
эх, ностальжы… жаль, у меня уже ничего с тех времён не сохранилось. «как молоды мы были»…