Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]lamacz hasel metoda prob i bledow
Forum PHP.pl > Forum > Przedszkole
Kamil Pietrzak
Witam

Jako, ze naszla mnie wena humanistyczna, to postanowilem napisac jakies dzielo. Padlo na laczacz hasel, ale niestety nie dzialajacy.

  1. <?
  2.  
  3. $timeStart = time();
  4.  
  5. $pass = 'aaa';
  6.  
  7. $symbol[0] = '0';
  8. $symbol[1] = '1';
  9. $symbol[2] = '2';
  10. $symbol[3] = '3';
  11. $symbol[4] = '4';
  12. $symbol[5] = '5';
  13. $symbol[6] = '6';
  14. $symbol[7] = '7';
  15. $symbol[8] = '8';
  16. $symbol[9] = '9';
  17. $symbol[10] = 'a';
  18. $symbol[11] = 'b';
  19. $symbol[12] = 'c';
  20. $symbol[13] = 'd';
  21. $symbol[14] = 'e';
  22. $symbol[15] = 'f';
  23. $symbol[16] = 'g';
  24. $symbol[17] = 'h';
  25. $symbol[18] = 'i';
  26. $symbol[19] = 'j';
  27. $symbol[20] = 'k';
  28. $symbol[21] = 'l';
  29. $symbol[22] = 'm';
  30. $symbol[23] = 'n';
  31. $symbol[24] = 'o';
  32. $symbol[25] = 'p';
  33. $symbol[26] = 'q';
  34. $symbol[27] = 'r';
  35. $symbol[28] = 's';
  36. $symbol[29] = 't';
  37. $symbol[30] = 'u';
  38. $symbol[31] = 'v';
  39. $symbol[32] = 'w';
  40. $symbol[33] = 'x';
  41. $symbol[34] = 'y';
  42. $symbol[35] = 'z';
  43.  
  44. $w = 1;
  45.  
  46. $string_symbols[0] = 0;
  47.  
  48. while($w == 1)
  49. {$b++;
  50. $string_symbols[0]++;
  51.  
  52. if($string_symbols[0] == 35)
  53. {
  54. while($string_symbols[$a] == 35)
  55. {
  56. $string_symbols[$a] = 0;
  57. $a++;
  58. if($string_symbols[$a])
  59. {
  60. $string_symbols[$a]++;
  61. }
  62. else
  63. {
  64. $string_symbols[$a] = 0;
  65. }
  66. }
  67. $a = 0;
  68. }
  69.  
  70. $string = implode(' ', $string_symbols);
  71.  
  72. $string = str_replace('0',$symbol[0], $string);
  73. $string = str_replace('1',$symbol[1], $string);
  74. $string = str_replace('2',$symbol[2], $string);
  75. $string = str_replace('3',$symbol[3], $string);
  76. $string = str_replace('4',$symbol[4], $string);
  77. $string = str_replace('5',$symbol[5], $string);
  78. $string = str_replace('6',$symbol[6], $string);
  79. $string = str_replace('7',$symbol[7], $string);
  80. $string = str_replace('8',$symbol[8], $string);
  81. $string = str_replace('9',$symbol[9], $string);
  82. $string = str_replace('10',$symbol[10], $string);
  83. $string = str_replace('11',$symbol[11], $string);
  84. $string = str_replace('12',$symbol[12], $string);
  85. $string = str_replace('13',$symbol[13], $string);
  86. $string = str_replace('14',$symbol[14], $string);
  87. $string = str_replace('15',$symbol[15], $string);
  88. $string = str_replace('16',$symbol[16], $string);
  89. $string = str_replace('17',$symbol[17], $string);
  90. $string = str_replace('18',$symbol[18], $string);
  91. $string = str_replace('19',$symbol[19], $string);
  92. $string = str_replace('20',$symbol[20], $string);
  93. $string = str_replace('21',$symbol[21], $string);
  94. $string = str_replace('22',$symbol[22], $string);
  95. $string = str_replace('23',$symbol[23], $string);
  96. $string = str_replace('24',$symbol[24], $string);
  97. $string = str_replace('25',$symbol[25], $string);
  98. $string = str_replace('26',$symbol[26], $string);
  99. $string = str_replace('27',$symbol[27], $string);
  100. $string = str_replace('28',$symbol[28], $string);
  101. $string = str_replace('29',$symbol[29], $string);
  102. $string = str_replace('30',$symbol[30], $string);
  103. $string = str_replace('31',$symbol[31], $string);
  104. $string = str_replace('32',$symbol[32], $string);
  105. $string = str_replace('33',$symbol[33], $string);
  106. $string = str_replace('34',$symbol[34], $string);
  107. $string = str_replace('35',$symbol[35], $string);
  108.  
  109. $string = str_replace(' ','', $string);
  110. echo $string . "\n";
  111. if($string == $pass)
  112. {
  113. echo 'znaleziono haslo: ' . $string . "\n";
  114. $w = 0;
  115. }
  116.  
  117. //ustawione ograniczenia zapetlania do 1000 - w tym momencie petla sama sie nei zatrzyma
  118. if($b==1000)
  119. {
  120. $w =0;
  121. }
  122. }
  123.  
  124. $timeFinish = time();
  125. $timeWork = $timeFinish-$timeStart;
  126.  
  127. echo 'czas pracy: ' . $timeWork . "\n";


Problem prawdopodobnie tkwi w petli z wiersza 54.

Skrypt ustawilem z ograniczeniam do 1000, poniewaz wpada w dziwna petle. Uzylem echo aby przesledzic jego dzialanie i efekt jest nie taki jak powinien - dochodzi do z i powinien w tym momencie wyswietlic ba, a pojawia sie 37, potem 38, 39 az do 99, na miejscu 100 pojawia sie znow jakis nieprawidlowy ciag
bmL
Strasznie to pogmatwane. Ja bym proponował Ci zainteresować się funkcją chr();
Kamil Pietrzak
Nie bardzo rozumiem w jaki sposob moze mi pomoc ta funkcja.

Skrypt dziala w ten sposob:
1. sprawdza po kolei kazda litere z alfabetu, czy nie jest tym samym co $pass, jesli dojdzie do z, to zwieksza drugi znak i znow jedzie po alfabecie, jak znow dojdzie do z to jeszcze raz zwieksza drugi znak, jak drugi znak dojdzie do z, to zwieksza 3 itd.
Ulysess
to nie jest łamacz haseł O.o bo ty sprawdzasz każdą literę a łamacz haseł działa na zasadzie generowania listy haseł i porównywania z hasłem do złamania, jeśli wygenerowane hasło jest równe łamanemu = hasło zostało złamane.. a Ty zrobiłeś tak jak na filmach ... ;p
Fifi209
Z php.net

  1. <?php
  2.  
  3. # Modified from <a href="http://linuxalpha1.eicn.ch/OReilly_books/books/webprog/pcook/ch04_26.htm" target="_blank">http://linuxalpha1.eicn.ch/OReilly_books/b...ook/ch04_26.htm</a>
  4. # Takes a non-associatuve 1D (vector) array of items
  5. # and returns an array of arrays with each possible permutation
  6. function array_2D_permute($items, $perms = array( )) {
  7. static $permuted_array;
  8. if (empty($items)) {
  9. $permuted_array[]=$perms;
  10. #print_r($new);
  11. #print join(' ', $perms) . "\n";
  12. } else {
  13. for ($i = count($items) - 1; $i >= 0; --$i) {
  14. $newitems = $items;
  15. $newperms = $perms;
  16. list($foo) = array_splice($newitems, $i, 1);
  17. array_unshift($newperms, $foo);
  18. array_2D_permute($newitems, $newperms);
  19. }
  20. return $permuted_array;
  21. }
  22. }
  23.  
  24. $arr=array("Architecture","Mexico","Periodicals","Test");
  25. $result=array_2D_permute($arr);
  26. print_r($result);
  27. ?>
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-2025 Invision Power Services, Inc.