			VPE (v. permutation engine)
       (               Wan1788@rambler.ru     Wasm-  ).    ADE 2.02 (Z0mbie).    (  ,    -  ):
1) VPE_krn -      ,  :
push	size free memory -   	
push	size code -  
push	address code -   
push	free mem -   
call	VPE_krn -    -.
add	esp, 4*4 -  
if 	(eax == 0) 		--> all ok -  

elseif	(eax == 1) 		--> flaw of memory -  
				   	
elseif 	(eax == -1) 		--> Unknow Error		-
				--> Error disassembler	-  
				--> Calculate label error	-
    :

disasm_struct           	struct                  ; disasm()  asm()
disasm_defaddr         	db      ?               ;  in/out  unused
disasm_defdata         	db      ?               ;  in/out  unused
disasm_len              	dd      ?               ;2    out     out  ==ret.value
disasm_flag             	dd      ?               ;6    out     in
disasm_addrsize         	dd      ?               ;a    out     in
disasm_datasize         	dd      ?               ;e    out     in
disasm_rep              	db      ?               ;12    out     in
disasm_seg              	db      ?               ;13    out     in
disasm_opcode           	db      ?               ;14    out     in
disasm_opcode2          	db      ?               ;15    out     in
disasm_modrm            	db      ?               ;16    out     in
disasm_sib              	db      ?               ;17    out     in
disasm_addr             	db      8 dup (?)       ;1f    out     in
disasm_data             	db      8 dup (?)       ;27    out     in
ends

;<----Start my staff---->
ComandInfo 		struct
	InfCmd		disasm_struct ?
	_Flag		db	?
				   ; 0 - normal comand
				   ; 1 - jmp
				   ; 2 - call
				   ; 3 - jcc
				   ; 4 - bad 
	_AddrComand	dd	?
	_AddrTrans	dd	? ; reserved 
	_NextrStr		dd	? ; next stucure
	_PreStr		dd	? ; previos stucture
	_NStr		dd	? ; "virtual" address
	_Label		dd	?; 0 - nothing
				 ; 1 - Label
				 ; > 1 - indicates structure of purpose
	_NoMove		db	?
ends
  .     :
_BaseStr			struct
	_FreeMem	dd	? ; address free memory
	_HeadListStr	dd	? ; start list disassemble structure
	_CmdNum	dd	? ; amount of commands
	ListEnd		dd	? ; end list disassemble structure
	_TblOpcode	dd	? ; table of opcode
;-----
;any information
;-----
ends
2) CalcVAddr -   .   ebx -    ,   eax -       .
3) VPE_asm - . :
push  
push  
Call VPE_asm
add esp, 4*2
   ecx -   .
   .         ,        (    ,   ).,     ,     .

Wan1788. 29 june 2005