Hola,

por aquí os dejo un programa hecho en delphi para descifrar los ficheros crypt5 de whatsapp.

Código: Seleccionar todo

program Crypt5;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Classes,
  SeAES256 in 'SeCrypt\SeAES256.pas',
  SeBase64 in 'SeCrypt\SeBase64.pas',
  SeSHA256 in 'SeCrypt\SeSHA256.pas',
  SeStreams in 'SeCrypt\SeStreams.pas',
  SeMD5 in 'SeCrypt\SeMD5.pas';

var
  {
   Las claves las conseguí aquí:
   h t t p://w w w . securitybydefault.com/2014/03/descifrando-msgstoredbcrypt5-la-nueva.html
  }
  Key: array[0..23] of Byte = (141, 75, 21, 92, 201, 255, 129, 229, 203, 246, 250,
    120, 25, 54, 106, 62, 198, 33, 166, 86, 65, 108, 215, 147);
  IV:  array[0..15] of Byte = ($1E,$39,$F3,$69,$E9,$D,$B3,$3A,$A7,$3B,$44,$2B,
    $BB,$B6,$B0,$B9);

  i: Integer;
  md5: AnsiString;
  AESKey: TAESKey;
  AESExpandedKey: TAESExpandedKey;
  AESIV: TAESState;
  Src, Dst: TFileStream;
begin
  Writeln('===================================================');
  Writeln('Crypt5 decryptor/encryptor. http://delphi.jmrds.com');
  Writeln('===================================================');
  Writeln;
  if ParamCount < 3 then
  begin
    Writeln('Crypt5 <encrypted.db.crypt5> <accountname> <decrypted.db> [/e]');
    Writeln('  /e: Encrypt database');
    Writeln;
    Halt;
  end;
  try
    // Abrimos el archivo cifrado
    Src:= TFileStream.Create(ParamStr(1),fmOpenRead or fmShareDenyWrite);
    try
      // Calculamos el hash md5 de la cuenta de usuario
      md5:= MD5ToStr(CalcMD5(ParamStr(2)));
      for i:= 0 to 23 do
        // Mezcalmos el hash con la clave usand XOR
        Key[i]:= Key[i] xor Byte(StrToInt('$'+Copy(md5,(2*(i and $0F))+1,2)));
      // ACreamos el archivo de salida
      Dst:= TFileStream.Create(ParamStr(3),fmCreate);
      try
        FillChar(AESKey,Sizeof(AESKey),0);
        // Inicializamos la clave con el valor calculado
        AESCopyKey(AESKey,@Key,192);
        // Expandimos la clave, indicando que es de 192 bits
        AESExpandKey(AESExpandedKey,AESKey,192);
        // Cargamos el vector de inicializacion en un bloque
        move(IV,AESIV,Sizeof(IV));
        if FindCmdLineSwitch('e',TRUE) then
          with TAESEnc.Create(Dst,AESExpandedKey,AESIV) do
          try
            // Ciframos el fichero
            CopyFrom(Src,0);
          finally
            Free;
          end else
          with TAESDec.Create(Dst,AESExpandedKey,AESIV) do
          try
            // Desciframos el fichero
            CopyFrom(Src,0);
          finally
            Free;
          end;
      finally
        Dst.Free;
      end;
    finally
      Src.Free
    end;
  except
    // Si ocurre algun error lo mostramos
    On E: Exception do
    begin
      Writeln(E.Message); 
    end;
  end;
end.
El uso no puede ser mas sencillo:

Código: Seleccionar todo

Crypt5 msgstore.db.crypt5 [email protected] msgstore.db
O si por el contrario queremos cifrar:

Código: Seleccionar todo

Crypt5  msgstore.db [email protected] msgstore.db.crypt5 /e
El archivo ya compilado:
[Enlace externo eliminado para invitados]

Saludos
Hola, disculpen, pude usar el compilado y me genero el archivo msgstore.db pero no se como hago para ver el contenido de ese archivo.
xrlopez escribió:Hola, disculpen, pude usar el compilado y me genero el archivo msgstore.db pero no se como hago para ver el contenido de ese archivo.
[Enlace externo eliminado para invitados]
xrlopez escribió:Hola, disculpen, pude usar el compilado y me genero el archivo msgstore.db pero no se como hago para ver el contenido de ese archivo.
Pues el archivo es una base de datos de SQLite y puede usar cualquier programa que soporte ese formato, por ejemplo "SQLite Administrator" que lo puedes descargar gratis de su pagina web.

Un ejemplo usando "SQLite Administrator"
Imagen


Imagen
Con el permiso de seoane, he echo una pequeña gui de este fantastico programa.

[Enlace externo eliminado para invitados]

codigo fuente

[Enlace externo eliminado para invitados]
Se agradeceria muchisimo un pequeño tutorial o guia para los queremos aprender y es nuestra primera vez... yo tengo muchas limitaciones y la verdad no se ni por donde empezar
No se que programas necesito, como se introducen los códigos, la verdad esq no se como hacerlo... si alguien me pudiera echar una mano se lo agradeceria de corazon.

Saludos.
angelp4491 escribió:Con el permiso de seoane, he echo una pequeña gui de este fantastico programa.

[Enlace externo eliminado para invitados]

codigo fuente

[Enlace externo eliminado para invitados]

Hola Angel, que programa es este??. Descifra los .crypt5??

Un saludo.
PepeDoFoxo escribió:
angelp4491 escribió:Con el permiso de seoane, he echo una pequeña gui de este fantastico programa.

[Enlace externo eliminado para invitados]

codigo fuente

[Enlace externo eliminado para invitados]

Hola Angel, que programa es este??. Descifra los .crypt5??

Un saludo.

He utilizado esta programa y he obtenido un archivo .db
Luego he ido al SQLite Administrator y lo he intentado abrir, pero... "Cannot perform this operation on a closed dataset"... no se que ocurre...
PepeDoFoxo escribió:
PepeDoFoxo escribió:
angelp4491 escribió:Con el permiso de seoane, he echo una pequeña gui de este fantastico programa.

[Enlace externo eliminado para invitados]

codigo fuente

[Enlace externo eliminado para invitados]

Hola Angel, que programa es este??. Descifra los .crypt5??

Un saludo.


He utilizado esta programa y he obtenido un archivo .db
Luego he ido al SQLite Administrator y lo he intentado abrir, pero... "Cannot perform this operation on a closed dataset"... no se que ocurre...
El programa es de seoane, yo lo único que he echo es ponerle una GUI, si no te vale con este prueba con el de seoane, y me comentas porque a mí si me funciona.
angelp4491 escribió:
PepeDoFoxo escribió:
PepeDoFoxo escribió:
angelp4491 escribió:Con el permiso de seoane, he echo una pequeña gui de este fantastico programa.

[Enlace externo eliminado para invitados]

codigo fuente

[Enlace externo eliminado para invitados]

Hola Angel, que programa es este??. Descifra los .crypt5??

Un saludo.


He utilizado esta programa y he obtenido un archivo .db
Luego he ido al SQLite Administrator y lo he intentado abrir, pero... "Cannot perform this operation on a closed dataset"... no se que ocurre...
El programa es de seoane, yo lo único que he echo es ponerle una GUI, si no te vale con este prueba con el de seoane, y me comentas porque a mí si me funciona.
Ojalá supiera como probar directamente el de Seoane, pero para eso tendría que compilar eso con delphin no??...
No se si alguien ha probado el tuyo con la interface y eso, a mi me tira un .db al que le doy el nombre que quiero pero luego no lo doy abierto ni con Acces, ni con SQLite Administrator, etc... no se que puedo estar haciendo mal, se supone que el programa que subiste tu (que es el de Seoane con una GUI) solo hay que buscar el archivo y meter la direccion asociada al movil y ya no?, sin la necesidad de tener delphin ni nada, y que el archivo que .db que te da ya se podría abrir con cualquier programa de bases de datos... no se xq no puedo
Responder

Volver a “Nuestros Programas”