Rob Bowden: Mən Rob oldum və nin krekinq almaq edək. Belə ki, pset spec dən unutmayın ki, biz istifadə etmək ehtiyacı üçün olacaq crypt funksiyası. Adam səhifə üçün biz iki hash _xopensource müəyyən edir. Niyə narahat etməyin Bunu etmək lazımdır. Və həmçinin hash unistd.h daxildir. Belə ki, bir dəfə yol həyata ki, edək faktiki proqram almaq. Biz nə etmək lazımdır ilk şey əmin olun istifadəçi cari bir şifrelenmiş daxil skript xətti parol. Proqram nəzərdə tutulur unutmayın dot çizgi crack kimi run ediləcək və sonra şifrelenmiş string. Belə ki, burada biz əmin olun kontrol edirik ki, iki argc biz istəyirsinizsə proqramı ilə davam edir. Argc iki deyilsə, ki, ya deməkdir istifadəçi şifreli daxil etməyib skript xətti parol və ya onlar yalnız şifreli daha daxil skript xətti parol olan halda biz nə edəcəyini bilmirəm command line dəlilləri. Argc iki idi, belə ki, biz davam edə bilərsiniz. Və burada, biz bəyan olacaq dəyişən şifrelenmiş. Yalnız alias orijinal olacaq argv1 Buna ərzində proqram, biz, bu argv1 zəng yoxdur sonra siz düşünmək əslində demək nə. Belə ki, nəhayət ki, doğrulamak üçün istəyirəm şifreli parol istifadəçi daxil həqiqətən ola bilərdi şifreli parol. Crypt adamı səhifə başına şifrelenmiş parol 13 olmalıdır uzun simvol. Up Burada hash müəyyən fark 13 uzunluğu şifrelemek. Beləliklə, biz yalnız əmin olduğu edirik şifreli və simli uzunluğu unutdunuz 13. Bu deyil, əgər, biz istəyirik proqram çıxmaq üçün. Belə ki, bir dəfə ki, yol ola bilər həyata var İndi həqiqətən tapmaq üçün cəhd nə şifrəli verdiyini unutdunuz parol idi. Burada, biz duz qamarlamaq istəyirəm şifreli parol edir. Adam səhifə başına saxla ki, şifreli ilk iki simvolların simli, burada kimi - 50ZPJ və s - İlk iki simvol vermək Bizi istifadə edilmişdir ki, duz crypt funksiyası. Və burada, biz duz ha olduğunu görürük. Beləliklə, biz ilk iki kopyalamak istediğiniz simvol, duz uzunluğu hash olan iki kimi müəyyən edilmişdir. Biz ilk iki simvol surəti var Bu massivinə, duz. Biz plus duz uzunluğu ehtiyac Qeyd edək ki, biz hələ null lazımdır bəri bir, Bizim duz sonunda terminator. Sonra bu seriala bəyan olacaq ölçüsü max uzunluğu qonaq, üstəgəl max uzunluğu müəyyən hash olduğu bir, səkkiz kimi, çünki maksimum unutdunuz səkkiz simvol uzun. Və biz təkrarlamaq üçün istifadə olacaq bütün mümkün strings üzərində təmin edə biləcək etibarlı parol ola bilər. Belə ki, əgər bir parol olan cari Sandıqı sonra yalnız a, b və c idi biz artıq b, c, təkrarlamaq olacaq aa, BA, CA, və s qədər biz cccccccc görmək almaq - səkkiz c var. Və biz cari aşağı əgər parol, sonra biz demək lazımdır ki, şifrelenmiş simli deyil ilə başlamaq etibarlıdır. Belə ki, indi, biz 1 loop bu çatmaz. Bu o deməkdir ki, Qeyd edək sonsuz loop. Heç bir fasilə bəyanat var Xəbər Bu sonsuz loop daxilində. Yalnız bəyan geri olunur. Beləliklə, biz, həqiqətən, gözləmək heç vaxt loop çıxmaq üçün. Biz yalnız proqram çıxmaq üçün gözləyirik. Mən bu çap bəyanat ekledik Bu loop üst yalnız çap hansı mövcud tahmin nə parol. İndi bu loop nə edir? Bu, bütün mümkün strings üzərində loop oldu ki, etibarlı parol ola bilər. Biz nə olacaq ilk şey Cari tahmin almaq nə üçün parol. Biz biz tutdu ki, duz çıxacağıq şifreli simli, və biz istəyirik tahmin şifrelemek gedir. Bu, bizə şifrəli tahmin verəcək biz qarşı müqayisə etmək olacaq ki, şifreli simli üçün istifadəçi command line da daxil olmuşdur. Onlar eyni varsa, bu halda müqayisə simli, əgər sıfır qayıdacaqlar onlar eyni istəyirik, sonra idi tahmin şifreli gətirmiş unutdunuz simli, biz çap edə bilərsiniz, bu halda bizim parol və gəlir kimi. Lakin onlar eyni deyil, əgər ki, bizim tahmin səhvdir deməkdir. Və biz təkrarlamaq istəyirik növbəti etibarlı danışarlar. Belə ki, nə bu isə loop etməyə çalışır. Bu, bizim tahmin təkrarlamaq olacaq növbəti etibarlı Guess. Biz deyəndə ki, görürsünüz ki, bizim tahmin xüsusi xarakter daşıyır olan qədər burada max simvolu çatıb hash, çünki tilde kimi müəyyən edilir ən böyük ASCII dəyər xarakter istifadəçi da daxil edə bilərsiniz ki, klaviatura, zaman xarakteri çatır max simvolu, sonra göndərmək istədiyiniz ki, minimum simvolu geri olan yenə ən aşağı ASCII boşluq deyil dəyər rəmzi istifadəçi ki klaviatura da daxil edin. Belə ki, müəyyən olacaq minimum simvolu. Və sonra getmək olacaq növbəti xarakteri haqqında. Belə ki, necə bizim guesses var təkrarlamaq üçün gedir? Yaxşı, etibarlı simvol, a, b, əgər və c, sonra biz bir ilə başlayan əgər o b təkrarlamaq lazımdır, bu, lazımdır c təkrarlamaq. c bizim max rəmzidir, biz müəyyən olacaq bir geri c, minimum rəmzidir. Və sonra biz index təkrarlamaq lazımdır növbəti xarakteri. Orijinal tahmin c, növbəti idi əgər xarakteri null olacaq Terminator. Down burada qeyd ki, əgər karakter indi biz istəyirik ki, artırılması, null terminator oldu sonra biz onu müəyyən olacaq minimum rəmzidir. Tahmin sonra, c idi əgər yeni tahmin aa olacaq. Bizim orijinal tahmin, əgər sonra cccc, yeni tahmin aaaaa olacaq. Belə olduqda biz maksimum simli olmaq verilmiş uzunluğu, biz istəyirik minimum simli həyata keçirəcəyik növbəti uzunluğu, hansı olacaq yalnız bütün simvol olmaq minimum rəmzidir. İndi bu çek burada nə edir? Yaxşı, əgər indeksi səkkizinci köçürüldü Doqquz xarakteri xarakter - belə ki, biz səkkiz c in əlavə et tahmin Əvvəlki - sonra indeksi diqqət gedir bizim tahmin son null terminator həqiqətən etmək üçün nəzərdə olmayan dizi, bizim parol istifadə edilə bilər. Biz ki, son null yönəlib Belə ki, əgər Terminator, sonra biz tapılmadı qüvvədə yalnız səkkiz istifadə ki unutdunuz yoxdur deməkdir simvol şifreler ki, düzgün parol verilmiş simli. Və deyirdik ki, çap etmək biz cari tapa bilmədi parol və qaytarılması. Beləliklə, bu isə loop təkrarlamaq niyyətindədir bütün mümkün strings artıq. Tapdığı Əgər hər hansı bir ilə şifreler ki, gözlənilən şifrəli simli, bu lazımdır ki, parol qaytarın. Və sonra, bir şey hesab etmir bu çap qayıdacaq ki, bir şey tapa bilmədi. İndi görürsünüz ki, bütün iterating mümkün strings yəqin ki, gedir bir müddət. Gəlin əslində necə çoxdan edir. Nin crack edək. Yaxşı, oops - bu undefined deyir crypt istinad. P spec edir və Belə ki, xatırlayıram crypt üçün də insan səhifə ki, crypt keçid lazımdır. İndi default əmr etmək bilmir ki, ki funksiyadan istifadə etmək istəyirəm. Belə ki, qoy bu müştəri komanda surəti və yalnız sonuna əlavə bu, birləşdirən crypt. İndi tərtib edir. Belə Gəlin verilmiş on crack çalıştırmak şifrəli string - Sezar belə. Belə ki, olduqca sürətli idi. Bu 13-də başa Qeyd edək ki,. Yaxşı, Sezar şifrelenmiş parol 13 olmaq olur. Elə bir parol edək. Nin Hirschhorn nin şifrəli edək parol və krekinq keçir. Biz artıq ulaştığınızı Belə ki, qeyd üç simvol. Və biz bütün mümkün üzərində iterating edirik üç xarakter strings. Yəni biz artıq başa etdik deməkdir bütün mümkün artıq iterating və iki xarakter strings. Bu gedir kimi, indi görünür biz ulaşmadan bir müddət almaq dörd xarakter strings. Bu bir neçə dəqiqə bilər. Bu bir neçə dəqiqə almadı. Biz dörd xarakter strings etdiyiniz. Amma indi biz bütün təkrarlamaq lazımdır mümkün dörd xarakter strings, hansı ki, bəlkə 10 dəqiqə bilər. Və sonra biz beş karakter çatdıqda strings, biz bütün təkrarlamaq lazımdır o, hansı güc bir neçə saat. Və biz bütün mümkün üzərində təkrarlamaq lazımdır altı xarakter strings, hansı belə bir neçə gün və bilər. Belə ki, çox uzun potensial bilər bütün mümkün üzərində təkrarlamaq üçün vaxt səkkiz xarakter və daha az strings. Belə ki, bu mütləq fark tapmaq üçün çox səmərəli alqoritm bir parol. Siz hesab edə bilər ki, yaxşı yol. Məsələn, parol zyx! 32ab yəqin ki, bir çox ümumi parol deyil 12345 Loqin isə yəqin ki, daha çox ümumi. Parol tapmaq üçün çalışırıq Belə bir yolu daha tez yalnız baxmaq üçün daha ümumi olan şifrələri. Belə ki, məsələn, biz sözləri oxumaq üçün cəhd edə bilərsiniz Bir lüğət və bütün cəhd bizim parol guesses kimi bu sözləri. İndi bəlkə bir parol ki, sadə deyil. Bəlkə istifadəçi qədər ağıllı idi və bir sıra eklenmesi cəhd Sözün sonu. Belə ki, bəlkə onların unutdunuz password1 idi. Beləliklə, siz bütün sözlər üzərində iterating cəhd edə bilərsiniz bir ilə lüğət onun sonuna əlavə. Və sonra bəlkə bunu sonra, will bunun sonuna bir iki əlavə. Və ya bəlkə istifadəçi hətta olmağa çalışır daha ağıllı, istədikləri onların parol "hacker" olaraq lakin onlar istəyirik e etdiyi bütün hallarda əvəz etmək niyyətindədir üçlər ilə. Belə ki, siz də bunu edə bilər. Lüğətə bütün sözləri üzərində təkrarlamaq ancaq ki, simvol əvəz bu nömrələri ilə ədəd kimi baxmaq. Bu yolla Belə ki, daha çox tutmaq bilər olduqca ümumi olan parol. Amma sonunda, yalnız yol bilərsiniz bütün parol ələ brute edir bütün təkrarlamaq məcbur mümkün strings. Belə ki, sonunda, siz təkrarlamaq lazımdır bir xarakter olan bütün strings üzərində bir almaq bilər səkkiz simvol çox uzun müddət, lakin siz bunu etmək lazımdır. My name Rob Bowden edir. Bu Crack edir.