Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.467
Poder: 21
newtron Va camino a la fama
Averiguar clave bbdd firebird

Hola a todos.

Tengo un cliente que tiene ya funcionando un programa con firebird y por una extraña razón quiere montar mi aplicación y usar las dos simultaneamente. El problema es que logicamente tiene que mantener las dos bases de datos de artículos con sus precios actualizados. A mi se me ocurre que actualice los precios de su programa con firebird y yo hacer un procedimiento por el cual abro su base de datos e importo esa información para que no tenga que teclearla dos veces.

El problema está en que cuando voy a abrir la base de datos firebird tiene un nombre de usuario y password que no sé cual será.

Mi pregunta es si hay forma de averiguar estos datos sin tener que reinstalar firebird para poder de forma habitual acceder a la base de datos y traerme la información que necesito.

Gracias y un saludo
Responder Con Cita
  #2  
Antiguo 27-07-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
El nombre de usuario y contraseña por defecto es
Nombre: SYSDBA
Password: masterkey
Nota: El nombre va en mayúsculas y el password en minúsculas.

Prueba con estas. Si no son, deberás preguntar a quien haya creador la base.

También se puede reinstalar Firebird, pero puede que el otro programa deje de funcionar porque necesita ese nombre de usuario y contraseña.
Responder Con Cita
  #3  
Antiguo 27-07-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
Mi pregunta es si hay forma de averiguar estos datos sin tener que reinstalar firebird para poder de forma habitual acceder a la base de datos y traerme la información que necesito.
Lo suyo sería preguntarle a él (supongo que no tiene ni idea) o a quien le instaló el Software; El problema es que lo normal es que no te lo den, porque eso implica que tienes acceso a las estructuras de las Bases de Datos, diseño, Storeds, Triggers,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 27-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.467
Poder: 21
newtron Va camino a la fama
Pues esa es la madre del cordero, que al cliente cuando le pregunto me responde "mandeloqué?" y a su otro proveedor va a ser complicado preguntarle.
Responder Con Cita
  #5  
Antiguo 27-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes hacer un backup transportable de la base de datos y llevártela a otro ordenador donde instales firebird. Ahí puedes hacer las pruebas que quieras.
Responder Con Cita
  #6  
Antiguo 27-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.467
Poder: 21
newtron Va camino a la fama
Ya pero eso creo que no me va a servir de mucho, yo preguntaba por si había alguna utilidad para averiguar esos parametros sin tocar la base de datos, si no tocará hacer exportación/importación cada vez que quiera actualizar los datos de mi aplicación.
Responder Con Cita
  #7  
Antiguo 27-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero cómo piensas hacer una importación si no puedes conectar a la BD?
Responder Con Cita
  #8  
Antiguo 27-07-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Yo te recomendaría que hicieran un "Brute Force". Igual, las contraseñas de Firebird no son más largas que 8 caracteres. Puedes empezar utilizando unos 4 y de ahí seguir. Seguro no tardarás mucho en encontrar la contraseña.

Saludos,
Chris.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #9  
Antiguo 27-07-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Esto te puede ayudar con el sistema "Brute Force"
Código Delphi [-]
type
   TCaracteresValidos = array of char;

var
   parar : boolean;

procedure TFMMain.ButtonBuscarClick(Sender: TObject);
var
   i1, i2, i3, i4, i5, i6, i7, i8: Integer;
   IncrementarSiguiete: Boolean;
   MyCaracteresValidos: TCaracteresValidos;
begin
   MyCaracteresValidos := TCaracteresValidos.Create('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
     'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E',
     'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
   Parar := False;
   i1 := 0;
   i2 := 0;
   i3 := 0;
   i4 := 0;
   i5 := 0;
   i6 := 0;
   i7 := 0;
   i8 := 0;
   while ((EClave.Text <> 'ZZZZZZZZ') and (not Parar)) do
   begin
      EClave.Text := MyCaracteresValidos[i1] + MyCaracteresValidos[i2] + MyCaracteresValidos[i3] + MyCaracteresValidos[i4] +
        MyCaracteresValidos[i5] + MyCaracteresValidos[i6] + MyCaracteresValidos[i7] + MyCaracteresValidos[i8];
      Application.ProcessMessages;

      // Probar conexion con la clave
      // Depende de tus componentes:
      Database.NombreDeUsuario := 'SYSDBA';
      Database.Password := EClave.Text;
      Database.Connect;
      if (Database.Connected) then
      begin
         Parar := True;
         ShowMessage('La clave es: '+ EClave.Text);
      end;

      // Buscar siguiente Clave
      if (i8 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
      begin
         i8 := 0;
         if (i7 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
         begin
            i7 := 0;
            if (i6 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
            begin
               i6 := 0;
               if (i5 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
               begin
                  i5 := 0;
                  if (i4 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
                  begin
                     i4 := 0;
                     if (i3 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
                     begin
                        i3 := 0;
                        if (i2 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
                           i2 := 0
                        else
                           inc(i2);
                     end
                     else
                        inc(i3);
                  end
                  else
                     inc(i4);
               end
               else
                  inc(i5);
            end
            else
               inc(i6);
         end
         else
            inc(i7);
      end
      else
         inc(i8);
   end;
end;

procedure TFMMain.ButtonPararClick(Sender: TObject);
begin
   Parar := True;
end;

Ten en cuenta que en los caracteres válidos no he puesto signos (+-_/, etc)
De todos modos esto puede ser algo laaaaargo....

Última edición por duilioisola fecha: 27-07-2011 a las 17:22:12.
Responder Con Cita
  #10  
Antiguo 27-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.467
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Pero cómo piensas hacer una importación si no puedes conectar a la BD?
Lo que si puede hacer mi cliente es una exportación a excel desde su programa de un listado y ese listado importarlo yo al mío pero es algo engorroso.

Chris, duilioisola, gracias por vuestros comentarios. Lo hablaré con el cliente y ya veré qué hago.

Gracias a todos.
Responder Con Cita
  #11  
Antiguo 27-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Yo haría una copia del programa y BD, lo probaba en otro ordenador instalando un nuevo firebird.
Buscaría en el ejecutable que tienen, con un editor hexadecimal, las cadenas 'sysdba' y 'masterkey' para ver qué clave usan.
Si las encuentras entonces no hay problema, te conectas con ellas.
Es lo de siempre, prueba y error, y perder tanto tiempo como sea necesario/pruedente/aconsejable, sin pasarse. Ya que si se pierde mucho tiempo entonces es mejor hacer esa importación/exportación y no complicarse la vida.
Responder Con Cita
  #12  
Antiguo 27-07-2011
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Otra posibilidad (si la clave se envía desencriptada) es usar un "sniffer" de paquetes TCP/IP para capturar el nombre de usuario y la clave que se envían a través de la red.

Aquí hay un analizador de paquetes para Linux y Windows: http://www.wireshark.org
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #13  
Antiguo 27-07-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por rretamar Ver Mensaje
Otra posibilidad (si la clave se envía desencriptada) es usar un "sniffer" de paquetes TCP/IP para capturar el nombre de usuario y la clave que se envían a través de la red.
Sería lo mejor. Pero Firebird envía la contraseña con encriptación, encriptación básica, pero la encripta.

Lo más práctico es lo que comenta Casimiro. Aunque puede llevar un buen tiempo hacerlo y no es seguro que la encuentres. Si tienes suerte, el programador que escribió el otro programa seguro escribió algo así:
Código Delphi [-]
fb_usuario = 'SYSDBA';
fb_contrasena = 'masterkey';
En el caso que no corras con suerte, el código debió ser escrito así:
Código Delphi [-]
fb_usuario = 'SYSDBA';
fb_contrasena = #125#156#142#169#210...;

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #14  
Antiguo 27-07-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿y si borras el archivo "security.fdb"?
__________________

Responder Con Cita
  #15  
Antiguo 28-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.467
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por ContraVeneno Ver Mensaje
¿y si borras el archivo "security.fdb"?
No sé, ¿qué pasa si borro el archivo security.fdb?
Responder Con Cita
  #16  
Antiguo 28-07-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
No sé, ¿qué pasa si borro el archivo security.fdb?
Que le tendrás que poner otro archivo security.fdb, de otro servidor.

Con eso ocurrirá que ya podrás entrar en la base de datos usando SYSDBA/masterkey, pero en cambio el programa de tu cliente no funcionará porqué intentará conectarse con una contraseña que ya no será válida.

La verdad es que deberías estar continuamente intercambiando el archivo security.fdb cada vez que quieras entrar tú, o bien cada vez que quieran entrar al programa del cliente.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #17  
Antiguo 28-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.467
Poder: 21
newtron Va camino a la fama
Puffffffff.... mucho lío.

Al final acabaré exportando desde la otra aplicación e importando en la mía.

Gracias a todos.
Responder Con Cita
  #18  
Antiguo 28-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por newtron Ver Mensaje
Puffffffff.... mucho lío.
Al final acabaré exportando desde la otra aplicación e importando en la mía.
Gracias a todos.
Échale un vistazo al ejecutable con un editor hexadecimal, seguramente encuentras los datos, o con el sniffer, por probar no pierdes nada.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como averiguar el charset que tiene definida una Base de Datos Firebird apicito Firebird e Interbase 8 15-07-2010 14:01:26
BBDD Firebird Abierta madmai Conexión con bases de datos 9 22-03-2009 06:51:08
Consulta a tabla de bbdd Firebird externa Gonbamon Firebird e Interbase 4 05-07-2008 05:32:26
BBDD Firebird y IIS Dongato3310 Internet 2 20-08-2007 08:13:15
Procedimieto para averiguar el valor de un generador en firebird Mauro® Conexión con bases de datos 4 15-12-2006 01:09:05


La franja horaria es GMT +2. Ahora son las 03:39:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi