1 00:00:00,000 --> 00:00:13,000 2 00:00:13,000 --> 00:00:15,890 >> ROB สลิง: ฉันร็อบและ ให้ได้รับการแตกร้าว 3 00:00:15,890 --> 00:00:19,390 ดังนั้นจำจาก spec pset ว่า เรากำลังจะต้องใช้ 4 00:00:19,390 --> 00:00:20,890 ฟังก์ชั่นห้องใต้ดิน 5 00:00:20,890 --> 00:00:26,330 สำหรับหน้าคนเรามีสอง กัญชากำหนด _xopensource 6 00:00:26,330 --> 00:00:28,290 ไม่ต้องกังวลเกี่ยวกับสาเหตุ เราจำเป็นต้องทำอย่างนั้น 7 00:00:28,290 --> 00:00:31,550 และกัญชารวม 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 โปรดจำไว้ว่าโปรแกรมที่ถูกที่ควร ที่จะทำงานเช่นเดียวกับรอยแตกจุดเฉือนและ 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 ที่แค่ไปนามแฝงเดิม 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 ขึ้นที่นี่เราสังเกตเห็นว่ากัญชาที่กำหนดไว้ ระยะเวลาในการเข้ารหัสเป็น 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 ในฟังก์ชั่นห้องใต้ดิน 40 00:02:18,080 --> 00:02:21,740 >> และที่นี่เราจะเห็นว่าเกลือเป็นฮ่า 41 00:02:21,740 --> 00:02:27,610 ดังนั้นเราจึงต้องการคัดลอกสองคนแรก อักขระระยะเวลาในเกลือเป็นกัญชา 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 ขอให้สังเกตว่าเราต้องบวกระยะเวลาในเกลือ หนึ่งเนื่องจากเรายังคงต้องเป็นโมฆะ 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 หนึ่งที่ระยะเวลาสูงสุดคือกัญชาที่กำหนดไว้ เป็นแปดตั้งแต่รหัสผ่านสูงสุด 48 00:02:51,930 --> 00:02:55,090 เป็นแปดตัวอักษรยาว 49 00:02:55,090 --> 00:02:59,860 และเรากำลังจะใช้นี้เพื่อย้ำ กว่าสายที่เป็นไปได้ทั้งหมดที่จะทำได้ 50 00:02:59,860 --> 00:03:01,430 เป็นรหัสผ่านที่ถูกต้อง 51 00:03:01,430 --> 00:03:07,720 ดังนั้นถ้าตัวอักษรที่ถูกต้องในรหัสผ่าน เป็นแค่ A, B และ C แล้ว 52 00:03:07,720 --> 00:03:14,970 เราจะย้ำกว่า b, c, AA, ba, CA, และอื่น ๆ จน 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 มันวนลูปกับสตริงเป็นไปได้ทั้งหมด ที่อาจจะมีรหัสผ่านที่ถูกต้อง 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 >> และเราต้องการที่จะย้ำไป คาดเดาที่ถูกต้องต่อไป 78 00:04:43,250 --> 00:04:46,410 ดังนั้นนั่นคือสิ่งที่ในขณะนี้ ห่วงพยายามที่จะทำ 79 00:04:46,410 --> 00:04:51,760 มันจะย้ำเดาของเรา การคาดเดาที่ถูกต้องต่อไป 80 00:04:51,760 --> 00:04:56,080 ขอให้สังเกตว่าเมื่อเราบอกว่า ตัวอักษรโดยเฉพาะอย่างยิ่งในการคาดเดาของเรามี 81 00:04:56,080 --> 00:05:01,770 ถึงสัญลักษณ์สูงสุดซึ่งขึ้นที่นี่ เป็นกัญชากำหนดให้เป็นตัวหนอนตั้งแต่ 82 00:05:01,770 --> 00:05:05,710 ที่ตัวอักษร ASCII ค่าที่มากที่สุด ที่ผู้ใช้สามารถป้อนที่ 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 สัญลักษณ์ค่าที่ผู้ใช้สามารถ ป้อนที่แป้นพิมพ์ 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 ดังนั้นวิธีการคาดเดาของเรา ไปย้ำ? 89 00:05:28,730 --> 00:05:33,685 ดีถ้าตัวอักษรที่ถูกต้องเป็น A, B, และ C แล้วถ้าเราเริ่มต้นด้วย, 90 00:05:33,685 --> 00:05:36,630 มันจะย้ำไป B ก็จะ ย้ำไปที่ C 91 00:05:36,630 --> 00:05:44,360 c คือสัญลักษณ์สูงสุดของเราดังนั้นเราจะตั้ง คกลับไป, สัญลักษณ์ขั้นต่ำ 92 00:05:44,360 --> 00:05:48,100 และจากนั้นเราจะย้ำดัชนี ไปยังตัวอักษรถัดไป 93 00:05:48,100 --> 00:05:53,920 >> ดังนั้นถ้าเดาเดิมคือ C, ต่อไป ตัวละครจะเป็นโมฆะ 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 เพิ่มขึ้นเป็นโมฆะ terminator, แล้วเรากำลังจะตั้งค่าให้ 97 00:06:04,690 --> 00:06:06,260 สัญลักษณ์ขั้นต่ำ 98 00:06:06,260 --> 00:06:11,431 ดังนั้นถ้าเดาคือ C แล้วของเรา ใหม่คาดเดาเป็นไปได้ AA 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 ดังนั้นเราจึงเพิ่มแปดของ c เป็น หน้าที่ของเราเดา - 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 >> ดังนั้นหากเรามุ่งเน้นที่จะเป็นโมฆะสุดท้ายที่ เทอร์มิแล้วเรายังไม่ได้พบ 110 00:07:03,530 --> 00:07:07,750 รหัสผ่านที่ถูกต้องโดยใช้เพียงแปด ตัวอักษรซึ่งหมายความว่าไม่มี 111 00:07:07,750 --> 00:07:10,550 รหัสผ่านที่ถูกต้องที่เข้ารหัสลับ เพื่อสตริงที่กำหนด 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 ดังนั้นห่วงขณะนี้เป็นไปย้ำ กว่าสตริงเป็นไปได้ทั้งหมด 115 00:07:20,280 --> 00:07:24,640 >> หากพบการใด ๆ ที่จะเข้ารหัส สายการเข้ารหัสที่คาดไว้ก็จะ 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 กว่าทั้งหมด สตริงที่เป็นไปได้อาจจะ 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 >> ขอให้แตก 123 00:07:47,230 --> 00:07:51,050 ดีโอ๊ะ - มันพูดว่าไม่ได้กำหนด อ้างอิงไปยังห้องใต้ดิน 124 00:07:51,050 --> 00:07:55,330 ดังนั้นจำ, p สำหรับชุดข้อมูลจำเพาะและ นอกจากนี้ยังมีหน้าคนสำหรับฝังศพใต้ถุนโบสถ์ที่เรา 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 เพื่อขอทำงานแตกเมื่อได้รับ สายการเข้ารหัส - 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 ของการเข้ารหัส รหัสผ่านและพยายามที่แตกว่า 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 กว่าเป็นไปได้ทั้งหมด สายสามตัวอักษร 142 00:08:58,660 --> 00:09:01,420 นั่นหมายความว่าเราได้แล้วเสร็จ iterating กว่าหนึ่งทั้งหมดเป็นไปได้และ 143 00:09:01,420 --> 00:09:04,660 สองสตริงตัวอักษร 144 00:09:04,660 --> 00:09:09,180 ตอนนี้ก็มีลักษณะเช่นนี้เป็นไปได้ ใช้เวลาสักครู่ก่อนที่เราจะไปถึง 145 00:09:09,180 --> 00:09:10,580 สายสี่ตัวอักษร 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 เราอยู่สายสี่ตัวอักษร 149 00:09:18,450 --> 00:09:22,800 แต่ตอนนี้เราจำเป็นต้องย้ำกว่าทั้งหมด สายสี่ตัวอักษรที่เป็นไปได้ซึ่ง 150 00:09:22,800 --> 00:09:26,000 ที่อาจต้องใช้เวลาอาจจะ 10 นาที 151 00:09:26,000 --> 00:09:28,720 และแล้วเมื่อเราไปถึงห้าตัวอักษร สตริงเราต้องย้ำกว่าทั้งหมด 152 00:09:28,720 --> 00:09:31,450 ของคนเหล่านั้นซึ่งอาจ ใช้เวลาสองสามชั่วโมง 153 00:09:31,450 --> 00:09:34,080 และเราจำเป็นต้องย้ำกว่าเป็นไปได้ทั้งหมด หกตัวอักษรสตริงซึ่ง 154 00:09:34,080 --> 00:09:36,560 อาจใช้เวลาสองสามวันและอื่น ๆ 155 00:09:36,560 --> 00:09:41,380 >> ดังนั้นมันอาจจะใช้เวลานานมากที่อาจเกิดขึ้น เวลาที่จะย้ำกว่าเป็นไปได้ทั้งหมด 156 00:09:41,380 --> 00:09:44,850 แปดตัวอักษรและสตริงน้อยลง 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 บางทีผู้ใช้ก็ค่อนข้างฉลาด และพยายามที่ท้ายตัวเลข 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 รหัสผ่านจะเป็น "แฮกเกอร์" แต่พวกเขากำลัง ไปแทนที่ทุกกรณีของ e 175 00:10:54,980 --> 00:10:56,600 กับสาม 176 00:10:56,600 --> 00:10:58,440 เพื่อให้คุณสามารถทำเช่นนี้เกินไป 177 00:10:58,440 --> 00:11:02,100 ย้ำกว่าทุกคำในพจนานุกรม แต่แทนที่ตัวอักษรที่ 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 บังคับให้ย้ำกว่าทั้งหมด สตริงที่เป็นไปได้ 182 00:11:17,340 --> 00:11:22,100 ดังนั้นในที่สุดคุณต้องย้ำ กว่าสตริงทั้งหมดจากตัวละครตัวหนึ่งไป 183 00:11:22,100 --> 00:11:28,110 แปดตัวอักษรซึ่งอาจต้องใช้เวลา เป็นเวลานานมาก แต่คุณต้องทำมัน 184 00:11:28,110 --> 00:11:30,024 >> ชื่อของฉันคือร็อบโบว์ 185 00:11:30,024 --> 00:11:31,425 และนี่คือโปรแกรม 186 00:11:31,425 --> 00:11:36,533