>> 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.