[TulaAnti&ViralClub] PRESENTS ...
MooN_BuG, Issue 8, Nov 1998                                           file 003

                            Вирусная криптография
                                                     by VVS

     Придумал  тут  я  один  простенький  приемчик  шифровки  (расшифровки)...
Pасшифровка  производится  с  конца файла. Самое классное, если зверек большой
(>1kb)  то  зае#$шся  его  изучать  ;)  Сей прием срабатывает на td, soft-ice,
deglucker, cup386, etc Вот сырец.

=== Cut ===
; (c) VVS
.286
.model tiny
.code

ofs       equ 0ffh-(offset key1-offset l2)

.startup
;=========[ Encrypt ]====================================================
          mov  di,offset key1
          mov  bx,ofs
          mov  cx,cryptlen
l1:       xor  [di],bl
          xchg [di],bl
          inc  di
          loop l1
          mov  cs:key0,bl  ; ключ расшиф-ки
;=========[ Decrypt ]====================================================
key0      = byte ptr $+1
          mov  bl,00       ; ключ расшифровки
          mov  di,offset lastbyte  ; конец зашифр.кода
          mov  cx,-1       ; ;)

l2:       xor  bl,[di]     ; decrypt code
          xchg bl,[di]     ;
          dec  di          ;
          loop entry       ; E2 ??
key1      equ  $-1         ;    ^^
          int  20h         ; ;)
;=========[ test code ]==================================================
entry:    mov  ah,9
          mov  dx,offset msg
          int  21h
          int  20h
msg       db   'This is test my crypt algorithm! (c) 2:5050/36.19',13,10,'$'
lastbyte  equ  $ - 1
;========================================================================
cryptlen  equ  $ - offset key1

end
=== Cut ===


Позже я немного модифицировал расшифровщик, и получилось:

=== Cut ===
l3:
  pop  ax
  xor  bl,al
  xchg bl,al
  push ax
  dec  sp
  loop l3

=== Cut ===