1 00:00:00,000 --> 00:00:13,000 2 00:00:13,000 --> 00:00:15,890 >> ROB BOWDEN: მე Rob და დე, cracking. 3 00:00:15,890 --> 00:00:19,390 ასე რომ გახსოვთ pset სპეც რომ ჩვენ უნდა სჭირდება გამოყენება 4 00:00:19,390 --> 00:00:20,890 სამარხი ფუნქცია. 5 00:00:20,890 --> 00:00:26,330 კაცი გვერდზე, ჩვენ გვაქვს ორი hash განსაზღვრავს _xopensource. 6 00:00:26,330 --> 00:00:28,290 არ ინერვიულოთ შესახებ, თუ რატომ ჩვენ უნდა გავაკეთოთ, რომ. 7 00:00:28,290 --> 00:00:31,550 ასევე hash მოიცავს unistd.h. 8 00:00:31,550 --> 00:00:35,920 >> ასე რომ, კიდევ ერთხელ, რომ იმ გზას, მოდით მიიღოს ფაქტობრივი პროგრამა. 9 00:00:35,920 --> 00:00:39,570 პირველი, რაც ჩვენ უნდა გავაკეთოთ არის დავრწმუნდეთ, მომხმარებლის შევიდა ძალაში დაშიფრული 10 00:00:39,570 --> 00:00:41,520 დაგავიწყდათ ბრძანებათა ზოლში. 11 00:00:41,520 --> 00:00:46,050 გახსოვდეთ, რომ პროგრამა უნდა უნდა აწარმოებს, როგორიცაა dot ხაზი ბზარი და 12 00:00:46,050 --> 00:00:48,120 მაშინ დაშიფრული სიმებიანი. 13 00:00:48,120 --> 00:00:52,990 >> ასე რომ, აქ ჩვენ შემოწმების რომ დავრწმუნდეთ რომ argc ორი თუ გვინდა 14 00:00:52,990 --> 00:00:54,380 გაგრძელება პროგრამა. 15 00:00:54,380 --> 00:00:58,830 თუ argc არ არის ორი, ეს ნიშნავს, რომ არც შესახებ არ გამოჩენილა დაშიფრული 16 00:00:58,830 --> 00:01:02,560 დაგავიწყდათ ზე ბრძანების, ან ისინი შევიდა მხოლოდ დაშიფრული 17 00:01:02,560 --> 00:01:05,379 დაგავიწყდათ ზე ბრძანების, რომელშიც თუ ჩვენ არ ვიცით, რა უნდა გააკეთოს 18 00:01:05,379 --> 00:01:07,660 ბრძანების ხაზი არგუმენტები. 19 00:01:07,660 --> 00:01:11,390 >> ასე რომ, თუ argc იყო ორი, ჩვენ შევძლებთ. 20 00:01:11,390 --> 00:01:14,160 აქ, ჩვენ ვაპირებთ, განაცხადოს ცვლადი დაშიფრული. 21 00:01:14,160 --> 00:01:17,650 ეს მხოლოდ აპირებს alias ორიგინალური argv1 ისე, რომ მთელი ამ 22 00:01:17,650 --> 00:01:20,690 პროგრამა, ჩვენ არ უნდა დავარქვათ argv1, რომელიც მაშინ უნდა ვიფიქროთ 23 00:01:20,690 --> 00:01:22,950 იმაზე, თუ რა რომ რეალურად ნიშნავდა. 24 00:01:22,950 --> 00:01:27,180 >> საბოლოოდ, ჩვენ გვინდა, რათა შეამოწმოს, რომ დაშიფრული დაგავიწყდათ შესახებ 25 00:01:27,180 --> 00:01:30,840 შევიდა შეეძლო პრაქტიკულად დაშიფრული პაროლი. 26 00:01:30,840 --> 00:01:35,120 პერ კაცი გვერდზე სამარხი, დაშიფრული პაროლი უნდა 13 27 00:01:35,120 --> 00:01:36,440 სიმბოლო. 28 00:01:36,440 --> 00:01:41,500 აქ, შეამჩნია, რომ ჩვენ hash განსაზღვრული დაშიფროთ სიგრძე როგორც 13. 29 00:01:41,500 --> 00:01:46,140 ასე რომ, ჩვენ უბრალოდ რაც დარწმუნებული ვარ, რომ სიმებიანი ხანგრძლივობა დაშიფრული 30 00:01:46,140 --> 00:01:49,090 პაროლი არის 13. 31 00:01:49,090 --> 00:01:52,280 >> და თუ ეს ასე არ არის, ჩვენ გვინდა გასასვლელად პროგრამა. 32 00:01:52,280 --> 00:01:56,470 ასე რომ, კიდევ ერთხელ, რომ იმ გზას, ჩვენ შეგვიძლია ახლა რეალურად ცდილობენ იპოვონ რა 33 00:01:56,470 --> 00:02:00,410 დაგავიწყდათ, რომ მისცა დაშიფრული დაგავიწყდათ იყო. 34 00:02:00,410 --> 00:02:04,870 აქ, ჩვენ გვინდა, რომ დაიბრუნოს მარილი საწყისი დაშიფრული პაროლი. 35 00:02:04,870 --> 00:02:08,930 გახსოვდეთ, თითო კაცი გვერდზე, რომ პირველი ორი გმირები დაშიფრული 36 00:02:08,930 --> 00:02:10,590 სიმებიანი, მინდა აქ - 37 00:02:10,590 --> 00:02:12,770 50ZPJ და ა.შ. - 38 00:02:12,770 --> 00:02:16,170 პირველი ორი გმირები მისცეს ჩვენს მარილი, რომელიც გამოიყენება 39 00:02:16,170 --> 00:02:18,080 in სამარხი ფუნქცია. 40 00:02:18,080 --> 00:02:21,740 >> აქ ჩვენ ვხედავთ, რომ მარილი იყო ჰა. 41 00:02:21,740 --> 00:02:27,610 ასე რომ, ჩვენ გადააკოპირეთ პირველი ორი პერსონაჟი, მარილი სიგრძის მყოფი hash 42 00:02:27,610 --> 00:02:30,230 განისაზღვრება, როგორც ორი. 43 00:02:30,230 --> 00:02:35,970 ჩვენ გვყავს კოპირება პირველი ორი გმირები წინამდებარე მასივი, მარილი. 44 00:02:35,970 --> 00:02:39,340 გავითვალისწინოთ, რომ ჩვენ გვჭირდება მარილი სიგრძის პლუს ერთი, რადგან ჩვენ ჯერ კიდევ null 45 00:02:39,340 --> 00:02:42,440 terminator დასასრულს ჩვენი მარილი. 46 00:02:42,440 --> 00:02:46,940 >> მაშინ ჩვენ ვაპირებთ ვაცხადებ მასივი, სტუმარს, საქართველოს ზომა მაქსიმალური სიგრძის პლუს 47 00:02:46,940 --> 00:02:51,930 , სადაც მაქსიმალური სიგრძე hash განსაზღვრული როგორც რვა, რადგან მაქსიმალური დაგავიწყდათ 48 00:02:51,930 --> 00:02:55,090 რვა სიმბოლო. 49 00:02:55,090 --> 00:02:59,860 და ჩვენ ვაპირებთ გამოვიყენოთ ეს iterate ყველა შესაძლო strings, რომ შესაძლებელი იქნებოდა 50 00:02:59,860 --> 00:03:01,430 ძალაშია პაროლები. 51 00:03:01,430 --> 00:03:07,720 ასე რომ, თუ მოქმედი პერსონაჟი დაგავიწყდათ მხოლოდ, ბ და გ, მაშინ 52 00:03:07,720 --> 00:03:14,970 გვინდა iterate მეტი, B, C, ა, ა, ა, და ასე შემდეგ, სანამ 53 00:03:14,970 --> 00:03:16,690 ჩვენ ვერ ვხედავ cccccccc - 54 00:03:16,690 --> 00:03:19,600 რვა გ ს. 55 00:03:19,600 --> 00:03:23,620 >> და თუ ჩვენ არ გვაქვს ქვემოთ ძალაშია დაგავიწყდათ, მაშინ ჩვენ უნდა ვთქვათ, რომ 56 00:03:23,620 --> 00:03:26,590 დაშიფრული სიმებიანი არ იყო ძალაში უნდა დაიწყოს. 57 00:03:26,590 --> 00:03:29,970 ასე რომ, ახლა, ჩვენ მივაღწევთ, ხოლო 1 ციკლი. 58 00:03:29,970 --> 00:03:33,100 გავითვალისწინოთ რომ იმას ნიშნავს რომ უსასრულო ციკლი. 59 00:03:33,100 --> 00:03:36,430 >> გავითვალისწინოთ, რომ არ არსებობს შესვენების განაცხადი შიგნით ამ უსასრულო ციკლი. 60 00:03:36,430 --> 00:03:38,570 არსებობს მხოლოდ დაბრუნების განცხადებებს. 61 00:03:38,570 --> 00:03:41,210 ასე რომ, ჩვენ არასოდეს რეალურად ველოდოთ გასასვლელად ციკლი. 62 00:03:41,210 --> 00:03:44,750 ჩვენ მხოლოდ ველით გასასვლელად პროგრამა. 63 00:03:44,750 --> 00:03:48,220 მე დასძინა ამ ბეჭდვითი განცხადება დასაწყისი მარყუჟის მხოლოდ ამობეჭდოთ 64 00:03:48,220 --> 00:03:51,790 რა არის ჩვენი დღევანდელი ვხვდები ზე რა პაროლი არის. 65 00:03:51,790 --> 00:03:53,630 >> ახლა, რა არის ეს მარყუჟის აკეთებს? 66 00:03:53,630 --> 00:03:58,330 ეს looping ყველა შესაძლო strings რომ შეიძლება იყოს მოქმედი პაროლები. 67 00:03:58,330 --> 00:04:02,700 პირველი, რაც ჩვენ ვაპირებთ გავაკეთოთ არის ჩვენი დღევანდელი ვხვდები, თუ რა 68 00:04:02,700 --> 00:04:03,920 პაროლი არის. 69 00:04:03,920 --> 00:04:07,230 ჩვენ წავა მარილი, რომ ჩვენ მოგვეწონა დან დაშიფრული ტექსტი, და ჩვენ 70 00:04:07,230 --> 00:04:09,850 მიმდინარეობს დაშიფვრა ვხვდები. 71 00:04:09,850 --> 00:04:14,760 ეს მოგვცემს დაშიფრული ვხვდები, რაც ჩვენ ვაპირებთ შედარების წინააღმდეგ 72 00:04:14,760 --> 00:04:18,810 დაშიფრული სტრიქონი შევიდა ბრძანებათა ზოლში. 73 00:04:18,810 --> 00:04:23,030 >> თუ ისინი იმავე, ამ შემთხვევაში სიმებიანი შესადარებელი დაბრუნდება ნულოვანი, თუ 74 00:04:23,030 --> 00:04:28,050 ისინი იგივე, მაშინ ვხვდები, იყო დაგავიწყდათ, რომ გენერირებული დაშიფრული 75 00:04:28,050 --> 00:04:33,520 სიმებიანი, ამ შემთხვევაში ჩვენ შეგვიძლია ბეჭდვა რომ როგორც ჩვენი სახელით და სანაცვლოდ. 76 00:04:33,520 --> 00:04:37,520 მაგრამ თუ ისინი არ არის იგივე, რაც ანუ ჩვენი ვხვდები არასწორია. 77 00:04:37,520 --> 00:04:43,250 >> გვინდა iterate to შემდეგი მართებული ვხვდები. 78 00:04:43,250 --> 00:04:46,410 ასე რომ, რა, ხოლო მარყუჟის ცდილობს გააკეთოს. 79 00:04:46,410 --> 00:04:51,760 იგი აპირებს iterate ჩვენი ვხვდები მომდევნო მოქმედი ვხვდები. 80 00:04:51,760 --> 00:04:56,080 გავითვალისწინოთ, რომ როდესაც ჩვენ ვამბობთ, რომ კერძოდ ხასიათი ჩვენს ვხვდები აქვს 81 00:04:56,080 --> 00:05:01,770 მიღწეული მაქსიმალური სიმბოლო, რომელიც აქ არის hash განისაზღვრება, როგორც tilde, რადგან 82 00:05:01,770 --> 00:05:05,710 ეს არის ის ყველაზე დიდი ASCII ღირებულება ხასიათი რომ მომხმარებელს შეუძლია enter-ს 83 00:05:05,710 --> 00:05:11,210 კლავიატურა, როდესაც ხასიათი აღწევს მაქსიმალური სიმბოლო, მაშინ ჩვენ გვინდა გაგზავნას 84 00:05:11,210 --> 00:05:17,150 უკან მინიმალური სიმბოლო, რომელიც არის სივრცე, კვლავ ყველაზე დაბალი ASCII 85 00:05:17,150 --> 00:05:20,800 ღირებულება სიმბოლო იმისა, რომ მომხმარებელს შეუძლია enter-ს კლავიატურაზე. 86 00:05:20,800 --> 00:05:22,940 >> ასე რომ, ჩვენ ვაპირებთ მითითებული, რომ მინიმალური სიმბოლო. 87 00:05:22,940 --> 00:05:25,720 და მაშინ ჩვენ ვაპირებთ წავიდეთ მომდევნო ხასიათი. 88 00:05:25,720 --> 00:05:28,730 ასე რომ, როგორ არის ჩვენი შთაბეჭდილებები აპირებს iterate? 89 00:05:28,730 --> 00:05:33,685 ისე, თუ მოქმედი გმირები არიან, B, და გ, მაშინ თუ ჩვენ დავიწყეთ, 90 00:05:33,685 --> 00:05:36,630 ეს თქვენ iterate to ბ, რომ თქვენ iterate რომ გ. 91 00:05:36,630 --> 00:05:44,360 გ არის ჩვენი მაქსიმალური სიმბოლო, ასე რომ ჩვენ მითითებული გ დაბრუნდა, მინიმალური სიმბოლო. 92 00:05:44,360 --> 00:05:48,100 და მაშინ ჩვენ iterate ინდექსი მომდევნო ხასიათი. 93 00:05:48,100 --> 00:05:53,920 >> ასე რომ, თუ ორიგინალური ვხვდები იყო გ, მომდევნო ხასიათი იქნება null 94 00:05:53,920 --> 00:05:55,560 terminator. 95 00:05:55,560 --> 00:06:00,670 ქვემოთ აქ, შეამჩნია, რომ თუ ხასიათი რომ ჩვენ გვინდა 96 00:06:00,670 --> 00:06:04,690 სიზუსტით იყო null terminator, მაშინ ჩვენ ვაპირებთ ვაყენებთ მას 97 00:06:04,690 --> 00:06:06,260 მინიმალური სიმბოლო. 98 00:06:06,260 --> 00:06:11,431 ასე რომ, თუ ვხვდები, იყო გ, მაშინ ჩვენი ახალი ვხვდები იქნება ა. 99 00:06:11,431 --> 00:06:16,050 და თუ ჩვენი ორიგინალური ვხვდები იყო cccc, მაშინ ჩვენი ახალი ვხვდები 100 00:06:16,050 --> 00:06:18,380 იქნება aaaaa. 101 00:06:18,380 --> 00:06:24,430 >> ასე რომ, როცა კი მივაღწევთ მაქსიმალური სიმებიანი მოცემული სიგრძეზე, მაშინ ჩვენ 102 00:06:24,430 --> 00:06:29,090 განახორციელებს მინიმუმამდე სიმებიანი მომდევნო სიგრძე, რომელიც 103 00:06:29,090 --> 00:06:34,420 მხოლოდ ყველა გმირები მინიმალური სიმბოლო. 104 00:06:34,420 --> 00:06:36,970 ახლა, რა არის ეს გამშვები აკეთებ აქ? 105 00:06:36,970 --> 00:06:42,780 ისე, თუ მაჩვენებელი გადავიდა მერვე ხასიათის ცხრა ხასიათი - 106 00:06:42,780 --> 00:06:46,460 ამიტომ ჩვენ დავამატებთ რვა გ, როგორც ჩვენი წინა ვხვდები - 107 00:06:46,460 --> 00:06:51,270 მაშინ ინდექსი აპირებს ყურადღების გამახვილებას ბოლო null terminator ჩვენი ვხვდები 108 00:06:51,270 --> 00:06:57,990 მასივი, რომელიც არ ნიშნავდა, რომ რეალურად იყოს გამოყენებული ჩვენი პაროლი. 109 00:06:57,990 --> 00:07:03,530 >> ასე რომ, თუ ჩვენ მიმართულია, რომ გასულ null terminator, მაშინ ჩვენ ვერ 110 00:07:03,530 --> 00:07:07,750 დაგავიწყდათ რომ მოქმედი გამოყენებით მხოლოდ რვა პერსონაჟი, რაც იმას ნიშნავს, რომ არ არსებობს 111 00:07:07,750 --> 00:07:10,550 მართებული პაროლი, რომ encrypts მოცემულ სიმებიანი. 112 00:07:10,550 --> 00:07:13,520 და ჩვენ გვაქვს ბეჭდვა, რომ ამბობდა ჩვენ ვერ შევძელით მოქმედი 113 00:07:13,520 --> 00:07:16,100 პაროლი და სანაცვლოდ. 114 00:07:16,100 --> 00:07:20,280 ასე რომ, ეს მაშინ, როცა მარყუჟის აპირებს iterate ყველა შესაძლო strings. 115 00:07:20,280 --> 00:07:24,640 >> თუ იგი აღმოაჩენს რაიმე რომ encrypts to მოსალოდნელია დაშიფრული ტექსტი, ეს თქვენ 116 00:07:24,640 --> 00:07:26,190 დაბრუნდნენ, რომ დაგავიწყდათ. 117 00:07:26,190 --> 00:07:29,610 და ეს ის არ პოულობენ არაფრის, მაშინ იგი დაბრუნდება, ბეჭდვა, რომ ეს 118 00:07:29,610 --> 00:07:31,910 ვერ შეძლო პოულობენ არაფრის. 119 00:07:31,910 --> 00:07:39,220 ახლა შეამჩნია, რომ iterating ყველა შესაძლებელია strings ალბათ აპირებს 120 00:07:39,220 --> 00:07:40,420 მიიღოს ხოლო. 121 00:07:40,420 --> 00:07:43,590 მოდით რეალურად ვხედავ, როგორ ხანგრძლივი რომ იღებს. 122 00:07:43,590 --> 00:07:47,230 >> გადავდგათ crack. 123 00:07:47,230 --> 00:07:51,050 ისე, oops - ნათქვამია გაურკვეველი მინიშნება საძვალე. 124 00:07:51,050 --> 00:07:55,330 ასე მახსოვს, რომ ჟ ადგენს სპეც და ასევე კაცის გვერდზე სამარხი, რომ ჩვენ 125 00:07:55,330 --> 00:07:58,130 უნდა ბმულზე საძვალე. 126 00:07:58,130 --> 00:08:01,130 ახლა, რო მიიღოს ბრძანება არ იცის, რომ თქვენ 127 00:08:01,130 --> 00:08:03,010 მინდა, რომ ფუნქცია. 128 00:08:03,010 --> 00:08:09,680 >> მოდით კოპირება ამ ორგანიზაციის ბრძანება და მხოლოდ დამატების შესახებ ბოლომდე 129 00:08:09,680 --> 00:08:13,300 ეს, დამაკავშირებელი საძვალე. 130 00:08:13,300 --> 00:08:14,820 ახლა კი ადგენს. 131 00:08:14,820 --> 00:08:23,880 მოდით აწარმოებს crack მოცემულ დაშიფრული სიმებიანი - 132 00:08:23,880 --> 00:08:25,130 ასე ცეზარის. 133 00:08:25,130 --> 00:08:28,690 134 00:08:28,690 --> 00:08:30,790 ასე რომ, ნამდვილად სწრაფად. 135 00:08:30,790 --> 00:08:33,230 >> გავითვალისწინოთ, რომ ეს დასრულდა 13. 136 00:08:33,230 --> 00:08:38,240 ასევე, კეისრის დაშიფრული დაგავიწყდათ ხდება, 13. 137 00:08:38,240 --> 00:08:41,650 მოდით ახალი პაროლი. 138 00:08:41,650 --> 00:08:45,830 ავიღოთ Hirschhorn ნახვა დაშიფრული სახელით და ვცდილობთ cracking, რომ. 139 00:08:45,830 --> 00:08:51,750 140 00:08:51,750 --> 00:08:55,110 >> ასე რომ შეამჩნია ჩვენ უკვე მიაღწია სამი სიმბოლო. 141 00:08:55,110 --> 00:08:58,660 და ჩვენ iterating ყველა შესაძლო სამი ხასიათი strings. 142 00:08:58,660 --> 00:09:01,420 ეს იმას ნიშნავს, რომ ჩვენ უკვე დასრულდება iterating ყველა შესაძლო ერთსა და 143 00:09:01,420 --> 00:09:04,660 ორი ხასიათი strings. 144 00:09:04,660 --> 00:09:09,180 ახლა, როგორც ჩანს, ამ აპირებს მიიღოს ხნით ადრე მივაღწევთ 145 00:09:09,180 --> 00:09:10,580 ოთხ ხასიათი strings. 146 00:09:10,580 --> 00:09:14,680 ეს შესაძლოა რამდენიმე წუთის განმავლობაში. 147 00:09:14,680 --> 00:09:16,055 >> ეს არ რამდენიმე წუთის განმავლობაში. 148 00:09:16,055 --> 00:09:18,450 ჩვენ ოთხი ხასიათი strings. 149 00:09:18,450 --> 00:09:22,800 მაგრამ ახლა, ჩვენ უნდა iterate ყველა შესაძლებელია ოთხი ხასიათი სიმები, რომლის 150 00:09:22,800 --> 00:09:26,000 რომ შესაძლოა, შესაძლოა, 10 წუთის განმავლობაში. 151 00:09:26,000 --> 00:09:28,720 და მაშინ, როდესაც ჩვენ მივაღწევთ ხუთ ხასიათი strings, ჩვენ უნდა iterate ყველა 152 00:09:28,720 --> 00:09:31,450 იმ, რომლებიც შეიძლება მიიღოს რამდენიმე საათის განმავლობაში. 153 00:09:31,450 --> 00:09:34,080 და ჩვენ უნდა iterate ყველა შესაძლო ექვსი ხასიათი სიმები, რომლის 154 00:09:34,080 --> 00:09:36,560 შესაძლოა რამდენიმე დღე და ასე შემდეგ. 155 00:09:36,560 --> 00:09:41,380 >> ასე რომ, ეს შეიძლება პოტენციურად ძალიან დიდი დრო, რომ iterate ყველა შესაძლო 156 00:09:41,380 --> 00:09:44,850 რვა ხასიათი და ნაკლები strings. 157 00:09:44,850 --> 00:09:50,600 ასე რომ შეამჩნია, რომ ეს არ არის აუცილებელი ძალიან ეფექტური ალგორითმის მოძიების 158 00:09:50,600 --> 00:09:51,860 პაროლი. 159 00:09:51,860 --> 00:09:54,540 თქვენ ალბათ ფიქრობთ, რომ არსებობს უკეთესი გზები. 160 00:09:54,540 --> 00:10:02,230 მაგალითად, დაგავიწყდათ zyx, 32ab ალბათ არ არის ძალიან გავრცელებული პაროლი, 161 00:10:02,230 --> 00:10:06,440 ხოლო დაგავიწყდათ 12345 არის ალბათ გაცილებით მეტი საერთო. 162 00:10:06,440 --> 00:10:13,570 >> ასე რომ, ერთი გზა ცდილობენ გაარკვიონ დაგავიწყდათ უფრო სწრაფად არის შევჩერდეთ 163 00:10:13,570 --> 00:10:15,560 ზე პაროლები, რომ ხშირია. 164 00:10:15,560 --> 00:10:20,480 ასე მაგალითად, ჩვენ შეგვიძლია ცდილობენ წაიკითხა სიტყვა საწყისი ლექსიკონი და ცდილობენ ყველა 165 00:10:20,480 --> 00:10:24,860 ეს სიტყვები, როგორც ჩვენი დაგავიწყდათ ხვდება. 166 00:10:24,860 --> 00:10:29,210 ახლა, შესაძლოა დაგავიწყდათ არ არის, რომ მარტივი. 167 00:10:29,210 --> 00:10:32,600 შესაძლოა შესახებ გარკვეულწილად ჭკვიანი და ცდილობენ appending ნომერი 168 00:10:32,600 --> 00:10:34,220 ბოლოს სიტყვა. 169 00:10:34,220 --> 00:10:37,000 >> ასე რომ, შესაძლოა, მათი დაგავიწყდათ იყო password1. 170 00:10:37,000 --> 00:10:41,520 ასე რომ, შეგიძლიათ ცდილობენ iterating ყველა სიტყვა ამ ლექსიკონის ერთი 171 00:10:41,520 --> 00:10:43,210 ჩაჯდება ბოლოს იგი. 172 00:10:43,210 --> 00:10:47,360 და მაშინ იქნებ შემდეგ აკეთებს, რომ თქვენ დამატება ორიდან ბოლოს იგი. 173 00:10:47,360 --> 00:10:50,240 >> ან იქნებ მომხმარებელი ცდილობს იყოს კიდევ უფრო ჭკვიანი, და მათ სურთ, რომ მათი 174 00:10:50,240 --> 00:10:54,980 დაგავიწყდათ იყოს "ჰაკერების", მაგრამ ისინი აპირებს შეცვალოს ყველა ინსტანციის ელექტრონული ნახვა 175 00:10:54,980 --> 00:10:56,600 ერთად threes. 176 00:10:56,600 --> 00:10:58,440 ასე, რომ თქვენ შეიძლება ამის გაკეთება ძალიან. 177 00:10:58,440 --> 00:11:02,100 Iterate ყველა სიტყვა ლექსიკონი მაგრამ შეცვლის ნიშნებს, 178 00:11:02,100 --> 00:11:04,790 ჰგავს ციფრები იმ ნომრები. 179 00:11:04,790 --> 00:11:09,670 >> ასე რომ, ამ გზით, შეიძლება დაჭერა კიდევ უფრო პაროლები, რომლებიც საკმაოდ გავრცელებული. 180 00:11:09,670 --> 00:11:14,690 თუმცა საბოლოოდ, ერთადერთი გზა, თქვენ შეგიძლიათ ხელში ყველა პაროლები არის უხეში 181 00:11:14,690 --> 00:11:17,340 აიძულოს iterate ყველა შესაძლებელია strings. 182 00:11:17,340 --> 00:11:22,100 ასე რომ, საბოლოო ჯამში, თქვენ უნდა iterate ყველა strings ერთი ხასიათის 183 00:11:22,100 --> 00:11:28,110 რვა პერსონაჟი, რომელიც შესაძლოა ძალიან დიდი ხანია, მაგრამ თქვენ უნდა გავაკეთოთ. 184 00:11:28,110 --> 00:11:30,024 >> ჩემი სახელი Rob Bowden. 185 00:11:30,024 --> 00:11:31,425 და ეს არის Crack. 186 00:11:31,425 --> 00:11:36,533