John the Ripper 1.9.0-jumbo-1 αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš FPGA

αž…αŸαž‰αž•αŸ’αžŸαžΆαž™ αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΆαž™αž›αŸαžαžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž…αžΆαžŸαŸ‹αž”αŸ†αž•αž»αž John the Ripper 1.9.0-jumbo-1 αŸ” (αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž—αž·αžœαžŒαŸ’αžαžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ† 1996αŸ” ) αž›αžΎ αž‘αŸ†αž–αŸαžšαž‚αž˜αŸ’αžšαŸ„αž„ αž”αŸ’αžšαž—αž–αž’αžΆαž…αž‘αžΆαž‰αž™αž€αž”αžΆαž“ αž€αŸαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž‡αž½αž”αž”αŸ’αžšαž‡αž»αŸ†αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Windows αŸ”

αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆ 1.8.0 αž†αŸ’αž“αžΆαŸ†αž”αžΆαž“αž€αž“αŸ’αž›αž„αž•αž»αžαž‘αŸ…αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž€αŸ†αžŽαŸ‚ 1-jumbo-4.5 αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 6000 (git commits) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αž–αžΈαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‡αžΆαž„ 80 αŸ” αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αž”αŸ’αžšαžΎ αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž–αžΈ GitHubαžŸαŸ’αžαžΆαž“αž—αžΆαž–β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžšαž€αŸ’αžŸαžΆβ€‹αžŸαŸ’αžαž·αžšαž—αžΆαž–β€‹αž”αžΎβ€‹αž‘αŸ„αŸ‡β€‹αž”αžΈβ€‹αž‡αžΆβ€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌβ€‹αžšβ€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž‘αžΎαž„β€‹αžŠαŸ„αž™β€‹αžŸαžΆαžšβ€‹αžαŸ‚β€‹ αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž”αž‹αž˜αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αžΈαž˜αž½αž™αŸ— (αž€αžΆαžšαžŸαŸ’αž“αžΎαžŸαž»αŸ†αž‘αžΆαž‰) αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž˜αž»αžαž„αžΆαžšαž–αž·αžŸαŸαžŸαž“αŸƒαž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž‚αžΊαž€αžΆαžšαž›αŸαž…αž‘αžΎαž„αž“αŸƒαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ FPGA (FPGA) αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎ CPU, GPU αž“αž·αž„ Xeon Phi αŸ”


αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžαžΆαžš ZTEX 1.15 αž†αŸ’αž“αžΆαŸ†αžšαž½αž˜αž‘αžΆαŸ†αž„αž”αž“αŸ’αž‘αŸ‡αžŸαŸ€αž‚αŸ’αžœαžΈ FPGA αž…αŸ†αž“αž½αž“ 4 αž αžΎαž™αžŠαžΎαž˜αž‘αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαž…αž˜αŸ’αž”αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‡αžΈαž€αž™αž€αžšαŸ‰αŸ‚ Bitcoin αž€αžΆαžšαž”αŸ’αžšαžΎαž›αŸαžαžŸαž˜αŸ’αž„αžΆαžαŸ‹ 7 αž”αŸ’αžšαž—αŸαž‘αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ– bcrypt, descrypt αž”αž»αžšαžΆαžŽ (αžšαž½αž˜αž‘αžΆαŸ†αž„ bigcrypt), sha512crypt, sha256crypt, md5crypt (αžšαž½αž˜αž‘αžΆαŸ†αž„ Apache apr1 αž“αž·αž„ AIX smd5), Drupal7 αž“αž·αž„ phpass (αž”αžΆαž“αž”αŸ’αžšαžΎαŸ” αž‡αžΆαž–αž·αžŸαŸαžŸαž“αŸ…αž€αŸ’αž“αž»αž„ WordPress) αŸ” αž–αž½αž€αž‚αŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž›αžΎ FPGA αž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ bcrypt αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ‚αž›αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αŸƒ ~119k c/s αž‡αžΆαž˜αž½αž™αž“αžΉαž„ 2^5 αžŠαžŠαŸ‚αž›αŸ— ("$2b$05") αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαžΆαž˜αž–αž›αž”αŸ’αžšαž αŸ‚αž› 27 αžœαŸ‰αžΆαžαŸ‹ αž›αžΎαžŸαž–αžΈαž›αž‘αŸ’αž’αž•αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GPU αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž˜αž½αž™αž”αž“αŸ’αž‘αŸ‡ αžαž˜αŸ’αž›αŸƒαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„ αž“αž·αž„αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαŸ‰αžΆαžαŸ‹αŸ” αž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž•αž„αžŠαŸ‚αžšαŸ” αž…αž„αŸ’αž€αŸ„αž˜ αž€αŸ’αžαžΆαžšαž“αŸƒαž”αŸ’αžšαž—αŸαž‘αž“αŸαŸ‡ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αžšαž αžΌαžαžŠαž›αŸ‹ 16 αž”αž“αŸ’αž‘αŸ‡ (64 FPGAs) αžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž–αžΈ Raspberry Pi 2 αžαŸ‚αž˜αž½αž™αŸ” αž˜αž»αžαž„αžΆαžš John the Ripper αž’αž˜αŸ’αž˜αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš αžšαž½αž˜αž‘αžΆαŸ†αž„αžšαž”αŸ€αž”αž‘αžΆαž™αž›αŸαžαžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž“αž·αž„αž€αžΆαžšαž‘αžΆαž‰αž™αž€αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαž“αŸƒαžŸαž‰αŸ’αž‰αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž€αžΆαžšαž„αžΆαžš αž™αžΎαž„αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžΆαŸ†αž„αž˜αž»αž (αžšαž”αŸ€αž” "---mask" αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΆαžšαžšαž½αž˜αž•αŸ’αžŸαŸ†αž‡αžΆαž˜αž½αž™αžšαž”αŸ€αž”αž•αŸ’αžŸαŸαž„αž‘αŸ€αž) αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž“αŸƒαžŸαž‰αŸ’αž‰αžΆαžŠαŸ‚αž›αž”αžΆαž“αž‚αžŽαž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αŸ’αž“αž€αžŠαŸ‚αž›αž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€ FPGA αŸ” αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αž€αžΆαžšαžšαž…αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“ (ឧ. sha512crypt αž“αž·αž„ Drupal7) αž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αž“αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αŸ’αžšαžΎαž“αžαŸ’αžŸαŸ‚ (αžŸαŸ’αž“αžΌαž›αžŸαŸŠαžΈαž—αžΈαž™αžΌαž‘αž“αŸ‹) αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αžŸαŸ’αž“αžΌαž›αž‚αŸ’αžšαžΈαž”αžαŸ’αžšαžΌαž“αž·αž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαŸ” αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΉαž€αž“αžΆαŸ†αžŠαŸ„αž™ Denis Burykin αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ jumbo αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ–

  • αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“β€‹αž’αŸ†β€‹αž“αŸƒβ€‹αž”αŸ’αžšαž—αŸαž‘β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž“αŸƒ hashes, ciphers, etc. αžšαž½αž˜β€‹αž‘αžΆαŸ†αž„β€‹ hashes αž–αžΆαž€αŸ’αž™β€‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹β€‹αž”αž»αžšαžΆαžŽ (αž§αž‘αžΆαž αžšαžŽαŸ αž–αžΈβ€‹αž€αŸ†αžŽαŸ‚β€‹αžαŸ’αž˜αžΈβ€‹αž“αŸƒ QNX) αž–αŸ’αžšαž˜β€‹αž‘αžΆαŸ†αž„β€‹αž€αžΆαž”αžΌαž” cryptocurrency, encrypted archives αž“αž·αž„ encrypted file systems (αž§αž‘αžΆαž αžšαžŽαŸ Bitlocker αž“αž·αž„ FreeBSD geli) αž€αŸαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αžαŸ’αž˜αžΈαž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž–αžΈαž˜αž»αž“ (αž§αž‘αžΆαž αžšαžŽαŸ αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ bcrypt-pbkdf αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OpenBSD softraid) αž“αž·αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ” αžŸαžšαž»αž”αž˜αž€ αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™ 80 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž›αžΎ CPU αž“αž·αž„ 47 αž“αŸ…αž›αžΎ OpenCL (αž αžΎαž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αžαžΌαž…αž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹αž…αžΆαžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αžαŸ’αž˜αžΈ αž“αž·αž„αž›αŸ‚αž„αž”αŸ’αžšαžΎ)αŸ” αž…αŸ†αž“αž½αž“αžŸαžšαž»αž”αž“αŸƒαž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‚αžΊ 407 αž“αŸ…αž›αžΎαžŸαŸŠαžΈαž—αžΈαž™αžΌ (ឬ 262 αž˜αž·αž“αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™ "αžαžΆαž˜αžœαž“αŸ’αž" αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž–αžΈαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’) αž“αž·αž„ 88 αž“αŸ…αž›αžΎ OpenCL αŸ”
  • αž€αžΆαžšαž”αžŠαž·αžŸαŸαž’αž˜αž·αž“αž‚αžΆαŸ†αž‘αŸ’αžšαž—αžΆαžŸαžΆ CUDA αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αŸαž‰αž…αž·αžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡ OpenCL αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαžšαŸ†αžαžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ NVIDIA GPUs αž–αŸαž‰αž›αŸαž‰αž‘αŸ (αž αžΎαž™αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αžΆαž…αž‡αž½αž™αž”αžΆαž“ αžŠαŸ„αž™αžŸαžΆαžšαž€αžΆαžšαž•αŸ’αžαŸ„αžαž‘αŸ…αž›αžΎαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž›αžΎαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž˜αž½αž™αž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹αž“αžΈαž˜αž½αž™αŸ—αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GPU αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž–αžΈαžšαž–αžΈαž˜αž»αž“)αŸ”
  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαŸŠαžΈαž˜αžŒαžΈαžαŸ’αž˜αžΈ - AVX2, AVX-512 (αžšαž½αž˜αž‘αžΆαŸ†αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Xeon Phi αž‡αŸ†αž“αžΆαž“αŸ‹αž‘αžΈαž–αžΈαžš) αž“αž·αž„ MIC (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αŸ†αž“αžΆαž“αŸ‹αž‘αžΈαž˜αž½αž™) - αž€αŸαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž˜αžŒαžΈαž‡αžΆαžŸαž€αž› αž“αž·αž„αž–αŸαž‰αž›αŸαž‰αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“ αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž–αžΈαž˜αž»αž“αž€αŸ†αžŽαžαŸ‹αž‘αŸ… AVX αž“αž·αž„ XOP αž“αŸ…αž›αžΎ x86(-64) αž“αž·αž„
    NEON, ASIMD αž“αž·αž„ AltiVec αž“αŸ…αž›αžΎ ARM, Aarch64 αž“αž·αž„ POWER αžšαŸ€αž„αž‚αŸ’αž“αžΆαŸ” (αž˜αž½αž™αž•αŸ’αž“αŸ‚αž€αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒ GSoC 2015αŸ” )
  • αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CPU αž“αž·αž„ OpenCL αž‘αžΆαŸ†αž„αž–αžΈαžšαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž…αŸ†αž“αž½αž“ hash αžŠαŸαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆ (αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαž•αŸ’αž‘αž»αž€ 320 αž›αžΆαž“ SHA-1 hashes αž“αŸ…αž›αžΎ GPU αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„) αž“αž·αž„αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαž‚αžŽαž“αžΆ hash αŸ” αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αž›αŸ‡αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž‡αžΆαžŸαž€αž› αžαŸ’αž›αŸ‡αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž›αžΎαžŸαŸ†αžŽαž»αŸ†αžšαž„αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹ αž“αž·αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αž‚αžΊαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž…αŸ†αž–αŸ„αŸ‡αž‘αž˜αŸ’αžšαž„αŸ‹αž“αžΈαž˜αž½αž™αŸ—αŸ”
  • (Auto-)αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸƒαž€αžΆαžšαž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž›αŸ’αž’αž”αŸ†αž•αž»αžαž“αŸƒαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž“αŸ…αž›αžΎ CPU (β€œβ€”tune=auto β€”verbosity=5”) αž“αž·αž„αž‘αŸ†αž αŸ†αž€αžΆαžšαž„αžΆαžšαžŠαŸαž›αŸ’αž’αž”αŸ’αžšαžŸαžΎαžšαž“αŸ…αž›αžΎ OpenCL (αž”αžΆαž“αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜) αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΆαžšαž‚αž·αžαž‘αŸ…αž›αžΎαž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž™αžΊαžαž“αŸƒ NVIDIA GTX ស៊េរី GPUs αž‘αŸ…αž”αŸ’αžšαŸαž€αž„αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž–αŸαž‰αž›αŸαž‰ 10xx αž“αž·αž„αžαŸ’αž˜αžΈαž‡αžΆαž„αž“αŸαŸ‡αŸ” αž€αžΆαžšαž”αŸ’αžšαžΎ hashes αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‘αž»αž€αž™αŸ‰αžΆαž„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ αž“αž·αž„αž”αŸ’αžšαžœαŸ‚αž„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαž“αŸƒαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™ (αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αž‡αžΆαž˜αž»αž“) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž”αŸ‚αž”αž“αŸαŸ‡αŸ”
  • αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ "αž€αž“αŸ’αžŸαŸ„αž˜αžαžΆαž˜αžœαž“αŸ’αž" αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž›αžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ αž“αž·αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαž—αŸαž‘αžŸαž‰αŸ’αž‰αžΆαž€αžΌαž“αž€αžΆαžαŸ‹αžαŸ’αž˜αžΈ αž§αž‘αžΆαž αžšαžŽαŸ "-format=dynamic='sha1(md5($p.$s)'" αžŠαŸ‚αž›αž‚αžŽαž“αžΆαž“αŸ…αž›αžΎαžŸαŸŠαžΈαž—αžΈαž™αžΌαžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸŠαžΈαž˜αžŒαžΈ . αž‡αžΆαž’αžΆαžαž»αž•αŸ’αžŸαŸ†αž“αŸƒαž€αž“αŸ’αžŸαŸ„αž˜αž”αŸ‚αž”αž“αŸαŸ‡ αžŸαž‰αŸ’αž‰αžΆαžšαž αŸαžŸαžšαžΆαž”αŸ‹αžŸαž·αž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš (αž–αžΈαž–αžΆαž€αŸ’αž™αžŸαžΆαž˜αž‰αŸ’αž‰αžŠαžΌαž…αž‡αžΆ MD5 αž‘αŸ…αž‡αžΆαž€αž˜αŸ’αžšαž“αž·αž„αž’αžŸαž€αž˜αŸ’αž˜αž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜αžŠαžΌαž…αž‡αžΆ Whirlpool) αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαžšαž„ αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„ αž“αž·αž„αž€αžΆαžšαžŒαž·αž€αžΌαžŠ αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžαž½αž’αž€αŸ’αžŸαžš αžŸαŸαž…αž€αŸ’αžŠαžΈαž™αŸ„αž„αž‘αŸ…αž›αŸαžαžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž’αŸ†αž”αž·αž› αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž“αž·αž„αžαŸαžšαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαŸ”
  • αž€αžΆαžšαž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž˜αž·αž“αž…αž„αŸ‹αž”αžΆαž“αž–αžΈ hashcat αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ’αž”αžΆαž”αŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸƒ hashcat αž–αžΈαž˜αž»αž“ (αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž…αŸ’αž”αžΆαž”αŸ‹αž”αž‰αŸ’αž‡αžΈαž–αžΆαž€αŸ’αž™) αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž›αŸαžαž§αž”αž€αžšαžŽαŸ OpenCL αž–αžΈαž›αŸαž 1 αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž“αŸƒαž”αŸ’αžšαžœαŸ‚αž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαžΌαž…αž‚αŸ’αž“αžΆ (αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž”αŸ’αžšαžœαŸ‚αž„ 7) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”
  • αžšαž”αŸ€αž”αžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž’αžΆαž…αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž”αžΆαž“ (αžšαž”αŸ€αž”αž”αŸ†αž”αŸ‚αž€) αžšαž½αž˜αž‘αžΆαŸ†αž„ PRINCE αž–αžΈ hashcat (αž”αž„αŸ’αž€αžΎαžαž‡αžΆ "αžƒαŸ’αž›αžΆ" αžŠαŸ„αž™αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαž–αžΆαž€αŸ’αž™αž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒαž”αŸ’αžšαžœαŸ‚αž„αžŸαžšαž»αž”) αžŸαŸ†αžŽαž»αŸ†αžšαž„ (αž“αžΆαŸ†αž˜αž€αž“αžΌαžœαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž…αŸ†αž“αž½αž“αž˜αž·αž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž“αŸƒαžαž½αž’αž€αŸ’αžŸαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαžαž½αž’αž€αŸ’αžŸαžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž˜αž€αž€αŸαžŠαŸ„αž™αŸ” αž–αžΈαžŸαŸ†αžŽαž»αŸ†αžŠαŸαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“) αž“αž·αž„αž€αžΌαž“αž€αžΆαžαŸ‹αžαžΆαž„αž€αŸ’αžšαŸ… (αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž‘αž˜αŸ’αžšαž„αŸ‹αžαžΆαž„αž€αŸ’αžšαŸ…αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž—αžΆαžŸαžΆ C-like αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž’αžΆαž…αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž”αžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎ "αž–αžΆαž€αŸ’αž™" αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αžΈαž˜αž½αž™αŸ—αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αž–αžΈαžšαž”αŸ€αž”αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž) αŸ” αž•αž„αžŠαŸ‚αžš αžšαž”αŸ€αž”αžαžΆαž„αž€αŸ’αžšαŸ…αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‡αžΆαž˜αž»αž“αžαŸ’αž˜αžΈαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
  • αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αŸ€αž”αž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆ (αž˜αž½αž™αž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒαž•αŸ’αžŸαŸαž„αž‘αŸ€αž - αž€αžΆαžšαžŠαžΆαž€αŸ‹αž‡αž„αŸ‹) αž€αŸαžŠαžΌαž…αž‡αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž…αŸ’αž”αžΆαž”αŸ‹ (αž€αžΆαžšαžŠαžΆαž€αŸ‹αž‡αž„αŸ‹αž€αŸ’αž”αž½αž“αž”αž‰αŸ’αž‡αžΈαž–αžΆαž€αŸ’αž™) αŸ”
  • αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžšαž”αŸ€αž”αžšαž”αžΆαŸ†αž„αž˜αž»αž (αž€αžΆαžšαž›αžΆαžαžŸαž“αŸ’αž’αžΉαž„αž”αž“αŸ’αžαž·αž…αž˜αŸ’αžαž„ αŸ— αž“αŸƒαžšαž”αžΆαŸ†αž„αž€αŸ’αž“αž»αž„αž‡αž½αžšαž”αŸ’αžšαžœαŸ‚αž„αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαž”αžΆαŸ†αž„αž“αŸ…αž•αŸ’αž“αŸ‚αž€αž˜αŸ’αžαžΆαž„αž“αŸƒαž§αž”αž€αžšαžŽαŸ OpenCL αž¬αž”αž“αŸ’αž‘αŸ‡ FPGA) αž“αž·αž„αž€αžΆαžšαž”αž„αŸ’αž€αŸ’αžšαžΆαž”αžαŸ‚αž˜αž½αž™ (αž’αžΆαž€αž”αŸ’αž”αž€αž·αžšαž·αž™αžΆαžŸαž˜αž αŸαžαž»αž•αž›αž›αžΎαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž‚αžŽαž“αžΆαž…αŸ†αž“αž½αž“αž›αŸαžαž…αŸ’αžšαžΎαž“αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆ αžŠαŸ‚αž›αž–αžΈαž˜αž»αž“αž˜αž·αž“αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž’αžΆαž…αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž“αŸαŸ‡ αž αžΎαž™αž€αŸαž˜αžΆαž“αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž›αžΎαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž•αž„αžŠαŸ‚αžš)αŸ”
  • αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž‡αžΆαž…αŸ’αžšαžΎαž“αž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΌαž“αžΈαž€αžΌαžŠ αž“αž·αž„αž€αžΆαžšαž’αŸŠαž·αž“αž€αžΌαžŠαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž„αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ”
  • αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž‡αžΆαž…αŸ’αžšαžΎαž“αž…αŸ†αž–αŸ„αŸ‡αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ *2john (αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž―αž€αžŸαžΆαžšαž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹
    αž”αŸ’αžšαžΎαž‡αžΆαž˜αž½αž™ john) αž‡αžΆαž–αž·αžŸαŸαžŸ wpapcap2john (αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž…αžšαžΆαž…αžšαžŽαŸαžœαŸ‰αžΆαž™αž αŸ’αžœαžΆαž™) αŸ”
  • αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαŸ’αž˜αžΈαž‡αžΆαž…αŸ’αžšαžΎαž“ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ john.conf αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αž˜αŸ’αžšαžΎαžŸαžŸαŸ’αž‚αŸ’αžšαžΈαž” αž“αž·αž„αž˜αž»αžαž„αžΆαžšαžαŸ’αž˜αžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆ αž˜αž·αž“αž˜αŸ‚αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‘αŸαŸ”
  • αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž‚αž»αžŽαž—αžΆαž–αž€αžΌαžŠαžŠαŸ„αž™αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž‡αžΆαž˜αž½αž™ AddressSanitizer (αž–αžΈαž˜αž»αž“) αž“αž·αž„ UndefinedBehaviorSanitizer (αž”αž“αŸ’αžαŸ‚αž˜) αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜ fuzzer αž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ (αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒ GSoC 2015) αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹ (αž”αž„αŸ’αž€αžΎαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αžšαžΆαž”αŸ‹αžŸαž·αž”αŸ” αž”αž“αŸ’αžŸαŸ† αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αž–αž½αž€αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž˜αŸ’αžšαž„αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹)αŸ”

αž”αŸ’αžšαž—αž–: linux.org.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹