[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 ===