¿Me ayudan a analizar este código de fuente?
Publicado: 24 May 2011, 04:13
Hola muchachos, soy nuevo en el foro, en realidad siempre leo los temas que publican pero no soy de comentar.
En fin, como estoy un poco familiarizado con Delphi, se me ocurrió hacer, o por lo menos comenzar a estudiar sobre el tema de los crypter.
Me baje el código de fuente del OPCypter y a la hora de analizarlo hay lineas que la verdad no entiendo o no les encuentro el sentido...
Creo que es una gran idea analizarlo en conjunto ya que no solo me ayudaría a mi, si no también a otros principiantes.
Por empezar voy a dejar el código entero y más abajo las dudas en cuestión:
Preguntas
Entiendo bastante esta parte del código, pero no se para que sirve el valor buffer, de donde sale, para que se utiliza... etc...
Otra pregunta es si el Key es lo que determina la encriptación del archivo.
¿La linea CopyFile, es la que une el stub, con el servidor ?
EOF, buscando en internet encontré que es el final del archivo, vi que en varios crypters lo nombran, ¿Cuál es la finalidad? ¿Qué significan esos [1] y [2]?
Y finalmente, se que es una duda bruta pero tampoco entiendo la finalidad del Stub y su trabajo en conjunto con el crypter, si alguien me lo pudiera explicar se lo agradecería.
Desde ya muchas gracias. Saludos.
En fin, como estoy un poco familiarizado con Delphi, se me ocurrió hacer, o por lo menos comenzar a estudiar sobre el tema de los crypter.
Me baje el código de fuente del OPCypter y a la hora de analizarlo hay lineas que la verdad no entiendo o no les encuentro el sentido...
Creo que es una gran idea analizarlo en conjunto ya que no solo me ayudaría a mi, si no también a otros principiantes.
Por empezar voy a dejar el código entero y más abajo las dudas en cuestión:
Código: Seleccionar todo
unit Builder;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, StdCtrls, uEOF;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
edtFile: TEdit;
btnFile: TButton;
btnBuild: TButton;
btnAbout: TButton;
Open: TOpenDialog;
XPManifest1: TXPManifest;
Save: TSaveDialog;
procedure btnFileClick(Sender: TObject);
procedure btnAboutClick(Sender: TObject);
procedure btnBuildClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function MakeXor(Buffer :String; Key :Integer) :String;
var
i,c,x :Integer;
begin
for i := 1 to Length(Buffer) do
begin
c := Integer(Buffer[i]);
x := c xor Key;
Result := Result + Char(x);
end;
end;
procedure TForm1.btnFileClick(Sender: TObject);
begin
if Open.Execute then
edtFile.Text := Open.FileName;
end;
procedure TForm1.btnAboutClick(Sender: TObject);
begin
MessageBoxA(0,'Open Source Cryter'+#10+#13+
''+#10+#13+
'Author: Xash'+#10+#13+
'Description: Simple a crypter for beginner'+#10+#13+
'Thanks: steve10120'+#10+#13+
''+#10+#13+
'[FR] www.hacksecu.com'+#10+#13+
'[EN] www.hackhound.org', 'About', 64);
end;
procedure TForm1.btnBuildClick(Sender: TObject);
var
Buffer :String;
begin
if not Save.Execute then
Exit;
Buffer := ReadFile(edtFile.Text);
Buffer := MakeXor(Buffer, 1337);
MessageBoxA(0, 'Crypted!', 'Information', 64);
end;
end.
Código: Seleccionar todo
function MakeXor(Buffer :String; Key :Integer) :String;
var
i,c,x :Integer;
begin
for i := 1 to Length(Buffer) do
begin
c := Integer(Buffer[i]);
x := c xor Key;
Result := Result + Char(x);
end;
end;
Otra pregunta es si el Key es lo que determina la encriptación del archivo.
Código: Seleccionar todo
CopyFile(PChar(ExtractFilePath(ParamStr(0))+'Stub/Stub.exe'), PChar(Save.FileName), False);
WriteEof(Save.FileName, Buffer, '[1]', '[2]');
EOF, buscando en internet encontré que es el final del archivo, vi que en varios crypters lo nombran, ¿Cuál es la finalidad? ¿Qué significan esos [1] y [2]?
Y finalmente, se que es una duda bruta pero tampoco entiendo la finalidad del Stub y su trabajo en conjunto con el crypter, si alguien me lo pudiera explicar se lo agradecería.
Desde ya muchas gracias. Saludos.