Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] GaduGadu Password Cracker
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
maciek21
Witam serdecznie, potrzebuję skryptu, który rozkoduje plik w którym trzymane jest hasło do GaduGadu (config.dat)
Znalazłem coś takiego na jakimś forum (może nawet na tym, nie pamiętam), ale nie działa :(

  1. <?php 
  2.  
  3. include('bzium.php');  
  4.  
  5.  
  6.  
  7. if(!isset($_FILES['cfg']))  
  8.  
  9. die('  
  10.  
  11. <form action="" method="post" enctype="multipart/form-data">  
  12.  
  13. <input name="cfg" type="FILE">  
  14.  
  15. <input type="submit" value="ok">  
  16.  
  17. </form>  
  18.  
  19. ');  
  20.  
  21.  
  22.  
  23. if($_FILES['cfg']['name'] <> "config.dat")  
  24.  
  25. die('Nie ten plik! Hasło do GaduGadu znajduje sie w pliku config.dat!');  
  26.  
  27.  
  28.  
  29. $plik = fopen($_FILES['cfg']['tmp_name'], "r");  
  30.  
  31. if(fread($plik, 4) <> "cfg1")  
  32.  
  33. die('To nie jest config.dat od GaduGadu...');  
  34.  
  35. fclose($plik);  
  36.  
  37.  
  38.  
  39. $plik = fopen($_FILES['cfg']['tmp_name'], "r");  
  40.  
  41. fread($plik, 124);  
  42.  
  43. while($znak = fread($plik,1) and ord($znak) <> 0)  
  44.  
  45. $temp_[] = $znak;  
  46.  
  47. fclose($plik); 
  48.  
  49. $dane = ''; 
  50.  
  51. $plik = fopen($_FILES['cfg']['tmp_name'], "r");  
  52.  
  53. while($znak = fread($plik,1))  
  54.  
  55. $dane .= $znak;  
  56.  
  57. fclose($plik); 
  58.  
  59. $_1 = explode("Number", $dane); 
  60.  
  61. $numerek = hexdec(bin2hex($_1[1]{4}).bin2hex($_1[1]{3}).bin2hex($_1[1]{2})); 
  62.  
  63. $haslo = implode($temp_, "");  
  64.  
  65. for($i=1;$i<=(strlen($haslo)/2);$i++)  
  66.  
  67. $haslo_tab[] = $haslo{($i*2-2)}.$haslo{($i*2-1)};  
  68.  
  69. $odkodowane = "";  
  70.  
  71. for($i=0;$i<count($haslo_tab);$i++)  
  72.  
  73. $odkodowane .= $gg[$haslo_tab[$i]];  
  74.  
  75. echo 'Haslo do numerka '.$numerek.' to:  
  76.  
  77. <b><u>'.$odkodowane.'</u></b>  
  78.  
  79. <br><br>  
  80.  
  81. <a href="gg.php">wroc</a>';  
  82.  
  83. ?>


Do tego bzium.php to akurat mój wymysł.. :)
  1. <?php 
  2. $gg['BE'] = "A";
  3. $gg['AC'] = " ";
  4. $gg['AD'] = "0";
  5. $gg['AE'] = "@";
  6. $gg['AF'] = "p";
  7. $gg['AG'] = "`";
  8. $gg['AH'] = "p";
  9. $gg['BC'] = "!";
  10. $gg['BD'] = "1";
  11. $gg['BE'] = "A";
  12. $gg['BF'] = "Q";
  13. $gg['BG'] = "a";
  14. $gg['BH'] = "q";
  15. $gg['BN'] = "Ń";
  16. $gg['BP'] = "ń";
  17. $gg['CD'] = "2";
  18. $gg['CE'] = "B";
  19. $gg['CF'] = "R";
  20. $gg['CG'] = "b";
  21. $gg['CH'] = "r";
  22. $gg['DC'] = "#";
  23. $gg['DD'] = "3";
  24. $gg['DE'] = "C";
  25. $gg['DF'] = "S";
  26. $gg['DG'] = "c";
  27. $gg['DH'] = "s";
  28. $gg['DK'] = "Ł";
  29. $gg['DL'] = "ł";
  30. $gg['DN'] = "Ó";
  31. $gg['DP'] = "ó";
  32. $gg['EC'] = "$";
  33. $gg['ED'] = "4";
  34. $gg['EE'] = "D";
  35. $gg['EF'] = "T";
  36. $gg['EG'] = "d";
  37. $gg['EH'] = "t";
  38. $gg['FC'] = "%";
  39. $gg['FD'] = "5";
  40. $gg['FE'] = "E";
  41. $gg['FF'] = "U";
  42. $gg['FG'] = "e";
  43. $gg['FH'] = "u";
  44. $gg['FK'] = "Ą";
  45. $gg['GC'] = "&";
  46. $gg['GD'] = "6";
  47. $gg['GE'] = "F";
  48. $gg['GF'] = "V";
  49. $gg['GG'] = "f";
  50. $gg['GH'] = "v";
  51. $gg['GM'] = "Ć";
  52. $gg['GO'] = "ć";
  53. $gg['HC'] = "'";
  54. $gg['HD'] = "7";
  55. $gg['HE'] = "G";
  56. $gg['HF'] = "W";
  57. $gg['HG'] = "g";
  58. $gg['HH'] = "w";
  59. $gg['IC'] = "[";
  60. $gg['ID'] = "8";
  61. $gg['IE'] = "H";
  62. $gg['IF'] = "X";
  63. $gg['IG'] = "h";
  64. $gg['IH'] = "x";
  65. $gg['JC'] = ")";
  66. $gg['JD'] = "9";
  67. $gg['JE'] = "I";
  68. $gg['JF'] = "Y";
  69. $gg['JG'] = "i";
  70. $gg['JH'] = "y";
  71. $gg['JL'] = "ą";
  72. $gg['KC'] = "*";
  73. $gg['KD'] = ":";
  74. $gg['KE'] = "J";
  75. $gg['KF'] = "Z";
  76. $gg['KG'] = "j";
  77. $gg['KH'] = "z";
  78. $gg['KM'] = "Ę";
  79. $gg['KO'] = "ę";
  80. $gg['LC'] = "+";
  81. $gg['LD'] = ";";
  82. $gg['LE'] = "K";
  83. $gg['LF'] = "[";
  84. $gg['LG'] = "k";
  85. $gg['LH'] = "{";
  86. $gg['MC'] = ",";
  87. $gg['MD'] = "<";
  88. $gg['ME'] = "L";
  89. $gg['MG'] = "l";
  90. $gg['MH'] = "|";
  91. $gg['NC'] = "-";
  92. $gg['ND'] = "=";
  93. $gg['NE'] = "M";
  94. $gg['NF'] = "]";
  95. $gg['NG'] = "m";
  96. $gg['NH'] = "}";
  97. $gg['OC'] = ".";
  98. $gg['OD'] = ">";
  99. $gg['OE'] = "N";
  100. $gg['OF'] = "^";
  101. $gg['OG'] = "n";
  102. $gg['OH'] = "~";
  103. $gg['PC'] = "/";
  104. $gg['PD'] = "?";
  105. $gg['PE'] = "O";
  106. $gg['PF'] = "_";
  107. $gg['PG'] = "o";
  108. $gg['PI'] = "Ź";
  109. $gg['PJ'] = "ź";
  110. $gg['PK'] = "Ż";
  111. $gg['PL'] = "ż";
  112. ?>


Przy próbie rozkodowania hasła zwraca:
Cytat
Haslo do numerka [numer] to: VVVV


Mógłby ktoś to poprawić lub podać namiary na tego typu skrypt?

// Dobry dział? :- )
Speedy
Pewnie próbujesz rozkodować pliki konfiguracyjne w najnowszym gadu-gadu. Z tego, co mi wiadomo, to zmienili tam sposób szyfrowania haseł na jakiś bardziej wyrafinowany i chyba w tak trywialny sposób go nie rozszyfrujesz tongue.gif.
maciek21
Cytat(Speedy @ 21.11.2007, 02:12:22 ) *
Pewnie próbujesz rozkodować pliki konfiguracyjne w najnowszym gadu-gadu. Z tego, co mi wiadomo, to zmienili tam sposób szyfrowania haseł na jakiś bardziej wyrafinowany i chyba w tak trywialny sposób go nie rozszyfrujesz tongue.gif .


Troszkę się zmienił, ale spróbój ręcznie. Imho, działa. Teraz tylko trzeba zrobić coś z kodem który robiłby to za nas tongue.gif
Pomożesz?

Linijka z hasłem w najnowszym GaduGadu wygląda tak:
Kod
Password2 DGIGFHKGFGNGFHKGFG

Teraz wystarczy rozebrać troche te hasło, po dwa.
DG
IG
FH
KG
FG
NG
FH
KG
FG

I pozamieniać wg bzium.php smile.gif
in5ane
No to rozbierz je funkcją preg_match_all i będziesz miał je pod zmienną np.:
  1. <?php
  2. $pass[0]; // - DG
  3. $pass[0]; // - IG
  4. $pass[1]; // - FH
  5. $pass[2]; // - KG
  6. $pass[3]; // - FG
  7. $pass[4]; // - NG
  8. $pass[5]; // - FH
  9. $pass[6]; // - KG
  10. $pass[7]; // - FG
  11. ?>

No i później pozamieniać tylko funkcją str_replace.

P.S.: Tylko nie jestem pewny czy właśnie preg_match_all rozdziela po np. 2 znakach..
maciek21
Hm? Przecież hasła nie mają takiej samej długości..
I ja nadal nie wiem jak to zrobić, nie znam php prawie wcale sad.gif
Mógłbyś dać więcej wskazówek?

Odświerzam. Może ktoś jednak wie jak to zrobić...
in5ane
Ta funkcja rozbroi po dwa znaki czy string ma 10000000 znaków czy 4.
maciek21
No, ale jak to później dalej pozamieniać? :<
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.