Sunteți pe pagina 1din 15

¾È³çÇϼ¼¿ä.

15ȸ°ÁÂÀÔ´Ï´Ù.
À̹ø½Ã°£¿¡´Â À‾´Ð½º ÇØŗ ÇÁ—αח¥ ¸î°¡Áö À̾߱â¿Í ¹èÄ¡º¸Ãæ
±×¸®°í HWP ¾ÏÈ£ Çص¶¿¡ °üÇÑ ¸ðµç »çÇ×À» ¼Ò½º °ø°³Çϸç À̾߱â ÇÏ°Ú½À´Ï´Ù.

ÀüºÎÅÍ Æнº¿öµå °ü¸®°¡ ¹«Ã´À̳ª Áß¿äÇÏ´Ù°í ¸»ÇßÀ»°ÍÀÌ´Ù.


À‾´Ð½º »ó¿¡¼ Æнº¿öµå¸¦ ÃßÀûÇÒ ¼ö ÀÖ´Â ÅøÀ» ¼Ò°³ÇÏ°Ú´Ù.
´ëÇ¥ÀûÀÎ °ÍÀ¸—Î COPS ¿Í CRACK °¡ ÀÖ´Ù.
À‾´Ð½º¸¦ »ç¿ëÇÏ°í ÀÖ´Â »ç¿ëÀÚ¶ó¸é ÃæºÐÈ÷ °³ÀÎÀûÀ¸—Î ÀÌ°ÍÀ» ½Ã½ºÅÛÇÏ¿¡¼ µ¹—Áº¼¼ö ÀÖ´Ù.
´Ü, ½Ã½ºÅÛ —ε带 ¸¹¾Æ Àâ±â¶§¹®¿¡ ½Ã½ºÅÛÀÌ ´À—ÁÁ® ¿î¿µÀÚ°¡ üũÇÒ ¼ö ÀÖÀ¸´Ï ÁÖÀǹٶõ´Ù.
COPS ´Â ÆÄÀÏ,µð—ºÅ丮,µð¹ÙÀ̽º Æ۹̼Ç,½¬¿î Æнº¿öµå µîÀ» °Ë»çÇÑ´Ù.
CRACK ´Â Æнº¿öµå ȍÀÏÀ» °Ë»çÇؼ ½±°Ô ÃßÃø°¡´ÉÇÑ Æнº¿öµå¸¦ ã¾Æ³»¾î ¾Ë—ÁÁØ´Ù.
ÇÁ—ÒÇÁÆ® »ó¿¡¼ ´Ü¼øÈ÷ CRACK À̶ó°í Ä¡¸é °á°ú¸¦ ÀúÀåÇÑ ÈÀÏÀÌ »ý¼ºµÈ´Ù.
ÀÌ°ÍÀ» CAT(µµ½ºÀÇ TYPE°ú ºñ½ÁÇÏ´Ù°í ¹è¿üÁÒ?)À» ÀÌ¿ëÇØ º¸¸é °á°úÄ¡°¡ ³ª¿Â´Ù.
°á°ú°°À» º¸¸é ¿µ¹®À¸—Î °£´ÜÈ÷ ÀÛ¼ºÇÑ Æнº¿öµå´Â ½±°Ô °É¸°´Ù.
±×—¡¼ Æнº¿öµå¸¦ ¼³Á¤ÇÒ¶§´Â ¾î—Á¿î ±âÈ£³ª Çѱ۵îÀ¸—Î ÀÛ¼ºÇÏ´Â °ÍÀÌ ÁÁÀ»°ÍÀÌ´Ù.
COPS ¿Í CRACK ´Â Ä«À̽ºÆ®,¼°´ë ¼¹ö¿¡¼µµ Á¦°øÇÑ´Ù.
±¸ÇÏ°íÀÚ ÇÏ´Â ºÐÀº ¿¬¶ôÁֽñ⠹ٶø´Ï´Ù. ´Ü, À‾´Ð½º!!!
À‾´Ð½º º¸¾È¿¡ ´ëÇؼ´Â ´ÙÀ½¿¡ ´õ ¼³¸íÇÏ°Ú½À´Ï´Ù.
SATAN (»çź)¿¡ ´ëÇؼ Àü ½Ã°£¿¡ ¸»¾¸µå—ȽÀ´Ï´Ù.
»çźÀ̶õ À̸§¿¡ °ÅºÎ°¨À» °®´Â »ç¶÷µéÀº »êŸ ¶ó°íµµ ÇÏ´õ±º¿ä.
»çźÀº ¿ø—¡ Security Analaysis Tool for Auditing Networks ÀÇ ¾àÀÚÀÔ´Ï´Ù.
COPS °¡ º¸¾È»çÇ׸¸À» üũÇØÁÖ³ª »çźÀº NFS,NIS —Î ¹°¸° Ÿ È£½ºÆ®ÀÇ º¸¾È±îÁöµµ üũÇϵµ
—Ï È®ÀåÇÑ °ÍÀÌ´Ù.
À̸¦ ¾Ç¿ëÇϸé ÀÚ½ÅÀÌ ÇØŗÇÏ°í ½ÍÀº ¿ø°Ý È£½ºÆ®ÀÇ º¸¾ÈÀ» ¾Ë¾Æ³¾¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÇÏÁö¸¸ ½ÇÁ¦ »çźÀ» ÀÌ¿ëÇÏ´Â ÇØÄ¿´Â ÈçÄ¡¾Ê´Ù.
¼¼°è¿¡¼ ³»³ë¶ó ÇÏ´Â À‾¸íÇÑ ÇØÄ¿µéÀº Àڽŵ鸸ÀÇ µ¶Æ‾ÇÑ Çϵå¿þ¾î/¼ÒÇÁÆ®¿þ¾îÀûÀÎ ÇØŗ ÅøÀ»
°¡Áö°í Àֱ⠶§¹®ÀÌ´Ù.
»çźÀº ¾ÆÁÖ ½±°Ô ÀϹÝÀε鵵 »ç¿ëÇÒ¼ö ÀÖ´Ù.
GUI ÇüÅ—Π¸¶¿ì½º ¸î¹ø ¿òÁ÷ÀÌ¸é µÇ±â ¶§¹®ÀÌ´Ù.
ÀÌ¿Ü¿¡ PACKERMAN °ú ETHERMAN À̶ó´Â ÇÁ—αח¥À» µé¼ö ÀÖ´Ù.
ÀÌ°ÍÀº ftp:\\ciac.ini.gov/ciac ¿¡¼ ±¸ÇÒ¼ö ÀÖ´Ù.
ÀÎÅͳÝÀº ³×Æ®¿öÅ©ÀÇ ¸ÁÀÌ´Ù.
¸¸¾à ¾î¶² ÆíÁöµéÀ» º¸³¾°æ¿ì ¹Ýµå½Ã ´Ù¸¥ ¸ÁÀ» °æÀ‾ÇØ¾ß ÇÒ°ÍÀÌ´Ù.
¹Ù—Î ÀÌ°ÍÀ» ³ë¸®°í µµÃ»À» ÇÏ´Â °ÍÀÌ´Ù.
¹°—Ð À½¼ºÀÌ ¾Æ´Ñ ÆÐŶÀ» ÈÉÄ¡´Â °ÍÀÌ´Ù.
packermanÀº °ð ½±°Ô —α×Àΰú Æнº¿öµå¸¦ ÈÉÄ¥¼ö ÀÖ´Ù´Â ¾ê±â´Ù.
Áï ethermanÀ¸—Î Àü¼Û ´Ù—® ¹ß»ýÁöÁ¡À» °ñ¶ó À§ÀÇ °ÍÀ¸—Î üŗÇÏ´Â °ÍÀÌ´Ù.

´ÙÀ½Àº Àü¿¡ ¹èÄ¡°Á º¸ÃæÀÔ´Ï´Ù.


µð¹ÙÀ̽º ¾Æ½ÃÁÒ?
> xxx À̗±½ÄÀ¸—Î Ãâ—ÂÀ» ÁöÁ¤ÇѴٴ°Š¹è¿ì¼ÌÀ»°Ì´Ï´Ù.
´ÙÀ½Àº ±×—± µð¹ÙÀ̽º Ãâ— ÀåÄ¡µé Á¤¸®ÀÔ´Ï´Ù.

AUX : ÃÖÃÊÀÇ ºñµ¿±â(Asynchronous)Åë½Å Æ÷Æ®(½Ã¸®¾ó Åë½Å¿¡ »ç¿ë)


COM1 : ¿ª½Ã ÃÖÃÊÀÇ ºñµ¿±â Åë½Å Æ÷Æ®(½Ã¸®¾ó Åë½Å¿¡ »ç¿ë)
COM2 : µÎ¹ø° ºñµ¿±â Åë½Å Æ÷Æ®(½Ã¸®¾ó Åë½Å¿¡ »ç¿ë)
COM3 : ¼¼¹ø° ºñµ¿±â Åë½Å Æ÷Æ®(½Ã¸®¾ó Åë½Å¿¡ »ç¿ë)
COM4 : ³×¹ø° ºñµ¿±â Åë½Å Æ÷µå(½Ã¸®¾ó Åë½Å¿¡ »ç¿ë)
CLOCK$ : ½Ã½ºÅÛÀÇ real-time clock
CON : Àԗ½à Űº¸µå, Ãâ—½à ½ºÅ©¸°À» ³ªÅ¸³½´Ù
LPT1 : ù¹ø° ÆЗ‾—² ÇÁ¸°ÅÍ Æ÷Æ®
LPT2 : µÎ¹ø° ÆЗ‾—² ÇÁ¸°ÅÍ Æ÷Æ®
LPT3 : ¼¼¹ø° ÆЗ‾—² ÇÁ¸°ÅÍ Æ÷Æ®
PRN : ù¹ø° ÆЗ‾—² ÇÁ¸°ÅÍ Æ÷Æ®
NUL : Á¸ÀçÇÏÁö ¾Ê´Â µð¹ÙÀ̽º , ȍ¸é¿¡ Ç¥½ÃµÇÁö ¾Ê°Ô ÇÑ´Ù.

¾Æ—¡ÇÑ±Û 2.X ¾ÏÈ£ Çص¶ »ç°Ç


¾Æ—¡ÇÑ±Û 2.X ÀÇ ¾ÏÈ£ Å©—¢(CRACK) »ç°Ç °³¿ä
½´ÆÛÄÄÇ»Å͗εµ 1¹é30³âÀÌ»ó °É—Á¾ß °Ü¿ì Ç® ¼öÀÖ´Ù´Â ¾Æ—¡¾ÆÇѱÛÀÇ
¹®¼¾ÏÈ£¸¦ 27¼¼µÈ ÇÑ Ã»³â ÄÄÇ»ÅÍÀü¹®°¡°¡ °£´ÜÈ÷ Ç®¾î³Â´Ù.
¾Æ—¡¾ÆÇÑ±Û Á¦ÀÛ»çÀÎ Çѱ۰úÄÄÇ»ÅÍ(ÇÑÄÄ)»ç´Â ±×°£ "¹®¼Àá±Ý ¾ÏÈ£±â
´ÉÀÌ 42¾ï9õ4¹é96¸¸7õ2¹é95°³ÀÇ ¼ýÀÚ¸¦ Á¶ÇÕÇØ ¸¸µç °ÍÀ̱⿡ ¾î¶² Àü
¹®°¡µµ °¨È÷Ç® ¼ö ¾ø´Ù"°í Àå´ãÇØ¿Â ÅÍ¿´´Ù.
ÄÄÇ»Å͸¦ ÀÌ¿ëÇÑ ÀüÅëÀûÀÎ ¾ÏÈ£Çص¶¹ýÀº ÄÚµå ÀÚµ¿Àԗ ¼ÒÇÁÆ®¿þ¾î¸¦
½á¼ °¢°¡Áö °æ¿ìÀÇ ¼ö¸¦ ºü¸¥ ¼Óµµ—Î ¹«ÀÛÀ§ Àԗ½ÃÄÑ º¸´Â ¹æ¹ý¿¡ ÀÇÁ¸
ÇÏ´Â °ÍÀ̾ú´Ù.
±×—‾³ª ȍÁ¦ÀÇ ÀÌ½Â¿í¾¾(27.¼¿ï´ë ´ëÇпø ÄÄÇ»ÅÍ°øÇаú Á¹)°¡ ÇàÇÑ
¹æ¹ýÀº ÀüÇô´Þ ¶ú´Ù.
À̾¾´Â ¾Æ—¡¾ÆÇÑ±Û ¹®¼ÆÄÀÏÀÌ ¡¸HWP 2.1..XXXXXX¡¹—Î ½ÃÀ۵Ǵ ¸Ó¸®
ºÎºÐ(ÇØ´õ)¿¡ ¾ÏÈ£°¡ µé¾î°¡¸ç ÀÌ¾î ¿£ÅÍ(ENTER)Å° Äڵ尡 µé¾î°¡°í º»¹®
³»¿ëÀº ±×µÚ¿¡ µû¶ó¿À´Â »ç½ÇÀ» ¾Ë¾Ò´Ù.
±×´Â ¹®¼ÆÄÀÏÀÇ ÀÌ°°Àº ±ÔÄ¢¼º¿¡ ÁÖ¸ñÇß´Ù.
¸¸ÀÏ ÇÁ—αח¥ÀÌ ¹®¼ÆÄÀÏ¿¡ óÀ½ ³ª¿À´Â ¾ØÅÍÅ° Äڵ尪(16Áø¹ýÀ¸—Î
´Â 0D)À» ã¾Æ³» ÀÌ°Í ÀÌÀüºÎºÐ¿¡ ÀÖ´Â ¼ýÀÚ³ª ¹®ÀÚ(Áï ¾ÏÈ£)´Â ¹«½ÃÇÏ°í
±× µÞºÎºÐ¸¸ ÀоîµéÀÌ¸é ¿ø—¡ÀÇ ¾ÏÈ£´Â Çص¶ÇÒ ÇÊ¿äÁ¶Â÷ ¾ø¾îÁú °ÍÀÌ´Ù.
°á±¹ ¾ÏÈ£ ÀÚü¸¦ Çص¶ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¾Æ¿¹ °Ç³Ê¶Ù¾î¹ö¸®´Â ±â¹ßÇÑ
"¹ß»óÀÇ ÀüÈ‾"ÀÌ ¹Ù—Î ÇØ´äÀ̾ú´Ù.
±×´Â ¿ø—¡ ÇÑÄÄÀÌ Á¦°øÇÏ´Â AT±ÞÀÌÇÏ ±¸ÇüÄÄÇ»ÅÍ¿ë ¾Æ—¡ÇÑÇѱÛ(²¿¸¶
¾Æ—¡¾ÆÇѱÛ)½ÇÇàÆÄÀÏÀ» ¿ª¿£Áö´Ï¾î¸µ(µð½º¾î¼Àºí¸µ)°ú µð¹ö±ë ±â¹ýÀ» ÀÌ
¿ë, ÀÌó—³ ¹®¼¾ÏÈ£ üÁ¦¸¦ ¾Æ¿¹ ¹«½ÃÇÏ°í ¹®¼ÆÄÀÏÀ» ÀоîµéÀ̵µ—Ï °³
Á¶ÇÑ 'HAN21.EXE' ÇÁ—αח¥À» ¸¸µé¾ú´Ù.
À̾¾´Â ÀÌ°°Àº ¹æ¹ýÀÇ ±¸»óÀÌ ¶°¿À¸£±îÁö´Â ¼ö°³¿ùÀÌ °É—ÈÁö¸¸ Á¤ÀÛ
ÇÁ—αח¥°³Á¶¸¦ Çϴµ¥´Â ´ÜÁö ¸çÄ¥¹Û¿¡ °É¸®Áö ¾Ê¾Ò´Ù°í ¸»Çß´Ù.

¾Ïȣȍ ±â¹ý
¾ÏÈ£ÀÛ¼º ½Ã½ºÅÛÀº ¸Þ½ÃÁö¸¦ ¾î¶°ÇÑ ºÐ¼®¿¡µµ °ßµ®³¾ ¼ö ÀÖ´Â ¾ÏÈ£¹®À¸—Î ¹Ù
²Ùµµ—Ï ¼³°èÇÏ´Â °ÍÀÌ´Ù. ¿©±â¿¡´Â ÄÚµå ½Ã½ºÅÛ ¶Ç´Â ¾Ïȣȍ½Ã½ºÅÛ ¹æ¹ýÀ»
ÀÌ¿ëÇÏ°í ÀÖ´Ù. ÄÚµå½Ã½ºÅÛÀº ÀϹÝÀû ¹®ÀÚ, ´Ü¾î, ¹®Àå µîÀ» ¸ð¸£½º ºÎÈ£¿Í
°°Àº Æ‾Á¤ ±âÈ£—Πǥ½ÃÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ¿¡ ¹ÝÇØ ¾ÏÈ£½Ã½ºÅÛÀº ¾Ë°í¸®Áò°ú
Å°—Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç, Å°´Â ¾Ë°í¸®ÁòÀÇ ¿øÄ¢¿¡ µû¶ó ÀϹݹ®ÀåÀÌ Â¥¿©Áø ¹®
Àå ±âÈ£ ¶Ç´Â ¼ýÀÚÀÇ ¼øÂ÷Àû Ç¥ÀÌ´Ù. ¾Ïȣȍ ¾Ë°í¸®ÁòÀº °£´ÜÇÏ°Ô ÀϹݹ®Àå
ÀÇ °¢ ¹®ÀÚ¸¦ ¾ËÆĺª ¼ø¼¿¡ µû¸¥ ¼ýÀڗΠǥ½ÃÇÏ°í ¾ÏÈ£ÆÇ(Key te.t)¿¡¼ÀÇ
¾ËÆĺª ¹®ÀÚ°¡ À§Ä¡ÇÑ ¹øÈ£¸¦ ÀÐÀº ´ÙÀ½ ÀÌ µÎ°³¸¦ ÇÕÇÑ °ÍÀÌ °¡¹ý±ºÀÌ´Ù.
¾ÏÈ£Çص¶Àº ¸Þ½ÃÁö¸¦ ¼Û½ÅÇÏ´Â »ç¶÷°ú ¼ö½ÅÇÏ´Â »ç¶÷ÀÌ µ¿½Ã¿¡
°°Àº ¾ÏÈ£ÆÇÀ» °¡Áö°í Àֱ⠶§¹®¿¡ ¼ö½ÅµÈ ¾ÏÈ£¹®À» ¾ÏÈ£ÀÛ¼º ¼ø¼ÀÇ ¿ªÀ¸—Î
ã¾Æ°¡¸é ÀϹݹ®ÀåÀ¸—Î Çص¶ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î "Âø—úÁöÁ¡Àº B"¶ó´Â ¶æÀÇ
¿µ¹®(Meet at landing zone(LZ) bravo)À» ¾ÏȣȍÇϸé UGJUGBNECXIXT°¡ µÈ´Ù.
ÀÌ°ÍÀº ÀϹݹ®ÀåÀÇ ¿µ¹®À» ¾ËÆĺª ¼øÀ¸—Î ¹è¿ÇÏ°í 5ÀÚ¸®ÀÇ ¹Ýº¹µÇ´Â ¼ýÀÚ82
516 82516 825¿Í ÇÕÇÑ ¼ýÀÚ¸¦ Ç¥½ÃÇÑ ÈÄ(À̶§ µÎ ¼ýÀÚÀÇ ÇÕÀÌ 26À» ³Ñ´Â °æ
¿ì 26À» »©°í °è»êÇÑ´Ù. ¿¹¸¦µé¾î 30Àº 26À» »©¸é 4°¡ µÇ°í ÀÌ°ÍÀº ¿µ¹® ¾Ë
ÆĺªÀ¸—Πǥ±âÇϸé D°¡ µÇ´Â °ÍÀÌ´Ù) ÀÌ ¼ýÀÚ¸¦ ¿µ¹® ¾ËÆĺªÀ¸—Πǥ±âÇÑ °Í
ÀÌ ¾ÏÈ£¹®ÀÌ µÇ°í ÀÌ °úÁ¤À» ¿ªÀ¸—Î ½ÃÇàÇÏ¸é ¾ÏÈ£¸¦ Çص¶ÇÒ ¼ö ÀÖ´Ù.
ÄÄÇ»ÅÍ ³×Æ®¿öÅ©ÀÇ º¸¾ÈÀº ºí—Ï ¾ÏÈ£¿Í ½ºÆ®¸² ¾ÏÈ£¸¦ »ç¿ëÇÏ°í ÀÖ´Ù. ºí—Ï
¾ÏÈ£´Â ÀϹݹ®ÀåÀ» ¾ÏÈ£¹®ÀåÀ¸—Î ¸¸µé±â À§ÇØ Å° ÅؽºÆ®ÀÇ ºí—Ï°ú ´ëÀÀÇÒ ¼ö
ÀÖµµ—Ï ÀÏÁ¤ÇÑ Å©±âÀÇ ºí—ÏÀ¸—Î ºÐÇÒÇÑ´Ù. ÇÕ¸®Àû º¸¾ÈÀ» À§ÇØ ºí—ÏÀÇ Å©±â
¸¦ ´Ù¼Ò Å©°Ô Àâ´Â´Ù. ÀüÇüÀûÀ¸—Î ºí—ÏÀÇ Å©±â´Â 64ºñÆ®ÀÌ´Ù. ½ºÆ®¸² ¾ÏÈ£´Â
Å° ÅؽºÆ® ¹®ÀÚ¿—κÎÅÍ °¢°¢ÀÇ ÀϹݹ®Àå ¿ä¼Ò¸¦ Çϳª—Î Á¶ÇÕÇÏ¿© »ý¼ºµÈ ÀÏ
¹Ý¹®Àå¿¡¼ ¿î¿ëµÈ´Ù. ½ºÆ®¸² ¾ÏÈ£´Â Åë½Å ¾ÖÇø®ÄÉÀ̼ǿ¡ ¸Å¿ì ÀûÇÕÇÑ °ÍÀ¸
—Î ÀϹݹ®Àå¿¡´Ù ºñ¹Ð¾ÏÈ£ ¾Ë°í¸®ÁòÀ» ´õÇÑ Å° ÅؽºÆ® ¹®ÀÚ¿À» ¸¸µé±â À§ÇØ
Åë»óÀûÀ¸—Î ºí—Ï ¾Ïȣȍ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. ³×Æ®¿öŗ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÌÁ¡Àº Ä¿
¹Â´ÏÄÉÀ̼ÇÀÇ ÆÄÀÌÇÁ ¶óÀο¡ ³ªÅ¸³ª´Â ¾ÏȣȍÀÇ °¢ ¿ä¼Ò´Â ¸ðµç ¼±Çà¿ä¼Ò¿¡
´Þ—Á ÀÖ´Ù´Â °ÍÀÌ´Ù.

µ¥ÀÌÅÍ ¾Ïȣȍ Ç¥ÁØ ¾Ë°í¸®Áò(DES)Àº Áö³ 77³â ºñ¹Ð—Î Ãë±ÞµÇÁö ¾ÊÀº Á¤º¸
ÀÇ Àü¼Û°ú ÀúÀå¿¡ ´ëÇÑ ¹Ì ¿¬¹æ Á¤º¸Ã³¸®Ç¥ÁØ(Federal Information ProcessS
tandard:FIPS)À¸—Î ÀÎÁ¤¹Þ¾Ò´Ù. DES ¾Ë°í¸®ÁòÀº ANSI X. 3 106 1983À¸—ÎÁö
³ 83³â¿¡ ¹Ì±¹Ç¥Áرⱸ(ANSI)¿¡ ÀÇÇØ °ø½ÄÀûÀ¸—Î Àΰ¡¹Þ¾Ò´Ù.
±âº»ÀûÀÎ ¾Ïȣȍ ¿£ÁøÀº 64ºñÆ®ÀÇ ÀϹݹ®ÀåÀ» 64ºñÆ® ºí—ÏÀÇ ¾ÏÈ£¹®ÀåÀ¸—Î
º‾Çü½ÃÅ°´Â 56ºñÆ® Å°¸¦ »ç¿ëÇÏ´Â ºí—Ï ¾ÏÈ£—Î ¿î¿ëµÈ´Ù. °¢°¢ÀÇ 64ºñÆ® ÀÏ
¹Ý¹®ÀåÀÇ ºí—ÏÀº Àý¹ÝÀÎ 32ºñÆ®—Î ³ª´©¾îÁö°í °á°ú°¡ Àç°áÇյDZâ±îÁö ¾à 16
°³ÀÇ °úÁ¤À» °ÅÄ£´Ù. ÀÌ°ÍÀ» ECB(Electronic Code Book)¸ðµå¶ó°í ÇÑ´Ù. ÀÌ
¸ðµå¸¦ »ç¿ëÇÏ¿© ¾ÏÈ£¹®ÀåÀÇ °¢ ºí—ÏÀº ´Ù¸¥ ¸ðµç ¾ÏÈ£¹®Àå°ú ¿ÏÀüÈ÷ µ¶¸³µÇ
¾î ħÀÔÀÇ À§Çù¿¡¼ ¹þ¾î³‾ ¼ö ÀÖ´Ù. ¾ÏÈ£ ºí—Ï ¿¬°á(Cipher Block Chainin
g:CBC)¸ðµå¿¡¼´Â ¸¶Áö¸— ¾ÏȣȍÀÛ¾÷¿¡ ÀÇÇÑ ¾ÏÈ£¹®ÀåÀº ´ÙÀ½ ºí—ÏÀÇ ºñ¾ÏÈ£
ȍµÈ ÀϹݹ®Àå°ú ¿¬°áµÈ´Ù. À̗‾ÇÑ ¹æ¹ýÀ¸—Î ¾ÏÈ£¹®ÀåÀÇ °¢ ºí—ÏÀº ±×°Í¿¡
¼±ÇàµÇ´Â ¸ðµç ¹®Àå°ú ¿¬°áµÈ´Ù.
64ºñÆ®ÀÇ ÀϹݹ®Àå ºí—ÏÀÌ ÀÔ—ÂµÇ 56ºñÆ®ÀÇ Å°°¡ ¹«ÀÛÀ§—Î ¼±ÅõǸé 7¡¿10
ÀÇ 16½Â¿¡ ÇØ´çÇÏ´Â Á¶ÇÕ¿¡ ÀÇÇØ ¸¸µé¾îÁø DES¹æ¾î´Â ÁÖ¸Ô±¸±¸½Ä ³¢¿ö¸ÂÃß±â
¹æ¹ý¿¡ ÀÇÇÑ Ä§ÀÔÀ» ÃæºÐÈ÷ ¸—À» ¼ö ÀÖ´Ù.
DES´Â ´ëĪÀû ¾ÏÈ£½Ã½ºÅÛÀ¸—Î ¾Ë—ÁÁ® ÀÖ´Ù. DES º¸¾È½Ã½ºÅÛÀÇ ±Ùº»Àû ´ÜÁ¡Àº
¸Þ½ÃÁö¸¦ ¼Û½ÅÇÏ´Â ÂÊ°ú ¼ö½ÅÇÏ´Â ÂÊ ¸ðµÎ°¡ Å°¸¦ °¡Áö°í ÀÖ¾î¾ß Çϸç, ÀÌ
Å°´Â ÀÚÁÖ º‾°æµÇ¾î¾ß ÇÏ°í Å°ÀÇ ¹èÆ÷°¡ ¾ÈÀüÇÏ°Ô º¸È£µÇ¾î¾ß ÇÑ´Ù. ÀÌ¿Í´Â
´ëÁ¶ÀûÀ¸—Î ºñ´ëĪ ¾ÏÈ£½Ã½ºÅÛÀº ¾Ïȣȍ¿Í ¾ÏÈ£Çص¶À» ÇÏ´Â µ¥ ÀÖ¾î °ø¿ë Å°
¿Í °³ÀÎ Å°¸¦ ±âº»À¸—Î ÇÑ´Ù. ¸¸¾à A°¡ B¿¡°Ô ¸Þ½ÃÁö¸¦ ¼Û½ÅÇϗÁ¸é A´Â ¹Ýµå
½Ã BÀÇ °ø¿ë Å°¸¦ ¾Ë¾Æ¾ß ÇÏ°í ±× °ø¿ë Å°¸¦ ÀÌ¿ëÇÏ¿© ¼Û½Å ¸Þ½ÃÁö¸¦ ¾Ïȣȍ
ÇÑ´Ù. ÀÌ ¸Þ½ÃÁö´Â ¿À—ÎÁö BÀÇ °³ÀÎ Å°¸¦ ÀÌ¿ëÇÏ¿© B¸¸ ÀÐÀ» ¼ö ÀÖ´Ù. °¡Àå
º¸ÆíÀûÀ¸—Î »ç¿ëµÇ°í ÀÖ´Â ºñ´ëĪ ¾Ë°í¸®ÁòÀº RSA ¾Ë°í¸®ÁòÀε¥ RSA µ¥ÀÌÅÍ
º¸¾Èȸ»ç°¡ Æ‾Çã¿Í »ç¿ëÇã°¡¸¦ °¡Áö°í ÀÖ´Ù. ºñ´ëĪ ¾Ë°í¸®ÁòÀÇ ´ÜÁ¡Àº °è»ê
ÁֱⰡ ±æ´Ù´Â °ÍÀÌ´Ù. À̗‾ÇÑ ÀÌÀ‾ ¶§¹®¿¡ ´ëĪ ¾Ë°í¸®ÁòÀº ¼Û½Å³»¿ëÀÇ º¸
È£¸¦ À§ÇØ ¸¹ÀÌ »ç¿ëµÇ°í, ºñ´ëĪ ¾Ë°í¸®ÁòÀº ¼Û/¼ö½ÅÀÚÀÇ È®ÀÎÀ» À§ÇØ Á֗Î
»ç¿ëµÇ°í ÀÖ´Ù. PC º£À̽ºÀÇ ¸Þ½ÃÁö Àü¼Û ¾ÖÇø®ÄÉÀ̼ǿëÀ¸—Î »ç¿ëÀÌ °¡´ÉÇÑ
DES ¼ÒÇÁÆ®¿þ¾î »óÇ°À¸—δ ¿¡º£—¹Æ®»çÀÇ "ÇÁ¶óÀ̺ñÆ® ¶óÀÎ"°ú ¼¾Æ®—² Æ÷ÀÎ
Æ® ¼ÒÇÁÆ®¿þ¾î»çÀÇ "PC ½ÃÅ¥¾î"µîÀÌ ÀÖ´Ù.
Áö³ 75³â ÀÌÈÄ ÀüÀÚ¿ìÆíÀÇ È®»êÀ¸—Î ¸Þ½ÃÁö ±³È‾Á¦Ç°ÀÇ ¾ÈÁ¤ÀûÀÎ »ç¿ëÀ» ÁÖ
µµÇÒ Ç¥ÁØ °³¹ß¿¡ ºÒÀÌ ºÙ¾ú´Ù. ÀÌ°ÍÀº ¸Þ½ÃÁö¸¦ ¼Û½ÅÇÏ´Â »ç¶÷°ú ¼ö½ÅÇÏ´Â
»ç¶÷ÀÌ ´Ù¾çÇÑ ÇקÆû°ú ³×Æ®¿öÅ© ¾ÆÅ°ÅØó¿¡ ±¸¾Ö¹ÞÁö ¾Ê°í ¼—Î Åë½ÅÇÒ ¼ö
ÀÖµµ—Ï ÇÏ´Â ¸ðµ¨À» ±ÔÁ¤ÇϗÁ´Â °ÍÀÌ´Ù.
ÀüÀÚ¿ìÆí¿ë Ç¥ÁØÀ¸—δ X.400°ú X.500ÀÌ Ã¤Åõǰí ÀÖ´Ù. X.400Àº ±¹Á¦Àü½ÅÀü
ȍ ÀÚ¹®À§¿øȸ(CCITT)¿¡ ÀÇÇØ °³¹ßµÈ OSI ÃßõÀÇ ÀüÀÚ MHS ¿ä¼ÒÀ̸ç, ÀÌ¿Ü¿¡
¼Û/¼ö½ÅÀÚÀÇ À̸§°ú ÁÖ¼Ò¸¦ Á¤ÀÇÇÑ´Ù.
X.500Àº µð—ºÅ丮¸¦ Á¶È¸Çϱâ À§ÇØ »ç¿ëµÇ´Â 2°³ÀÇ ÇÁ—ÎÅäÄÝ(´ëȍ¿¡ ÇÊ¿äÇÑ
Åë½Å±Ô¾àÀ¸—Î ¸Þ½ÃÁöÀÇ Ã³À½°ú ³¡¿¡ ºÙÀÓ. DAP¿Í DSP°¡ ÀÖÀ½)°ú ºÐ»êµÈ Àüü
µð—ºÅ丮ÀÇ ±¸Á¶¸¦ Á¤ÀÇÇÑ´Ù.
ºñ´ëĪÀû °ø°øÀÇ ¾ÏÈ£ ½Ã½ºÅÛÀ» È¿°úÀûÀ¸—Î »ç¿ëÇϱâ À§Çؼ´Â »ç¿ëÀÚ°¡ ¹Ý
µå½Ã ¼Û/¼ö½Å¿ë Å°¸¦ ½±°Ô ȹµæÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¸¸¾à ¼Û/¼ö½Å¿ë Å°°¡ °ø
°øÀÇ X.500 µð—ºÅ丮¿¡ ÀúÀåµÇ´Â °æ¿ì »ç¿ëÀÚ¿Í ½Ã½ºÅÛ°£ Ãæµ¹ÀÌ ÀϾ°Å³ª
°ø°øÀÇ µð—ºÅ丮 ³»¿ëÀÌ º‾°æµÉ ¼ö ÀÖ´Ù. X.500 µð—ºÅ丮´Â º¸¾ÈÀ̳ª »ç¼³
¼ºñ½º°¡ ¾Æ´Ï±â ¶§¹®¿¡ µð—ºÅ丮—κÎÅÍ Àо °ø°øÀÇ Å°¸¦ È®ÀÎÇϱâ À§ÇØ
¼ µð—ºÅ丮°¡ »ç¿ëÀڵ鿡°Ô Á¦°øµÇ¾î¾ß ÇÑ´Ù. ¸Þ½ÃÁö ¼Û½ÅÀÚÀÇ È®ÀÎÀº OSI
¹æ¾îÀÇ ÇʼöÀû ÀåÄ¡ÀÌ´Ù.

¾Ïȣȍ ±â¹ýÀÇ ´ëÇ¥Àû Á¾—ù


ÀÏ¹Ý PC±Þ¿¡¼ »ç¿ëÇÏ´Â ¾Ïȣȍ±â¹ýÀ» »ç¿ëÇÑ ÇÁ—αח¥ÀÇ ´ëÇ¥ÀûÀÎ ¿¹¸¦ µé°Ú´Ù.
°ÅÀÇ ³°øºÒ¶ôÀ̶ó´Â DES ±â¹ýÀ» Àû¿ëÇÑ ¾ÏȣȍÀÌ´Ù.
ÇÏÁö¸¸ ¾Æ—¡ÇÑ±Û 2.X ´Â ÀÌÁ¦ Å©—¢ÀÌ µÇ¾ú´Ù.

1) ¾Æ—¡ÇÑ±Û 2.5ÀÇ ¾Ïȣü°è ------------ Cracked


½ÇÁ¦´Â ÀÌ¹Ì ¿À—¡Àü¿¡ CrackµÇ¾ú´Ù°í ¾Ë—ÁÁ³´Ù.
´ÜÁö À̹øÀÇ ÀÌ½Â¿í¾¾¿¡ ´ëÇÑ À̹ø °ü½ÉÀº ¾ð—ÐÀÇ ½ºÅ¸¸¸µé±â¿´´Ù.

2) Pkzip 2.04gÀÇ ¾Ïȣü°è ------------- Cracked already


¿ÏÀüÇÏÁö´Â ¾Ê´ÙÁö¸¸ ÀÌ¹Ì 93³â¸»¿¡ Crack ¼º°ø»ç½ÇÀÌ º¸°íµÇ¾ú´Ù´Â ¹®ÀÌ´Ù.

3) NU's DISKREETÀÇ ¾Ïȣü°è ----------- Crackable but not yet


¾ÆÁ÷ ¼ö±ÝÀÌ °¡´Â Áõ°Å—Î Crack Çß´Ù´Â ¼Ò½ÄÀ» µé¾îº¸Áö ¸øÇß´Ù.
4) PCtools' PC-SecureÀÇ ¾Ïȣü°è ------ almost Crackable
ºÒ°¡´ÉÇÏÁö ¾Ê´Ù.

2,3,4¹øÀº ¸ðµÎ DESÀÇ º‾ÇüÀ» »ç¿ëÇÑ´Ù.


Æ‾È÷ PKZIPÀº ¾ÐÃà°ú ¾Ïȣȍ¸¦ µ¿½Ã¿¡ Çϱ⠶§¹®¿¡
Á¤¸»—Î Á¤¸»—Î Ç®±â°¡ Èûµé´Ù.
NORTONÀÇ DISKREET¸¦ ¾²¸é
¾ÈÀü¼ºÀÌ ´Ù¼Ò ¶³¾îÁø´Ù´Â ¼Ò¹®µµ ÀÖÁö¸¸ Æí¸®ÇÏ°í ¾ÈÀüÇÏ°Ô ¾ÏÈ£¸¦ °É ¼ö ÀÖ´Ù.
ÀÌ°Í ¿ª½Ã ¹Ì±¹ Á¤ºÎ Ç¥ÁØ ¾Ïȣȍ ¹æ½ÄÀ» Áö¿øÇϱ⠶§¹®¿¡
°³ÀÎÀûÀÎ º¸¿ÏÀ» À§Çؼ´Â ÀüÇô ÇÏÀÚ°¡ ¾ø´Ù.
PKZIP°ú DISKREET -- ÇǾ¾ ÅøÁîÀÇ PC-Secureµµ ÀÖ´Ù. -- ÀÇ
¾Ïȣȍ´Â Áö±Ý±îÁö´Â °ÅÀÇ ¸ø Ǫ´Â ¹æ½ÄÀ¸—Î Á¤ÆòÀÌ ³
¾Ïȣȍ ¹æ½ÄÀ» »ç¿ëÇÏ°í Àֱ⠶§¹®¿¡ ¾È½ÉÇصµ µÉ °ÍÀÌ´Ù.
4-2-2 °£´ÜÇÑ ¾Ïȣȍ ±â¹ýÀÇ Àû¿ë
¾Ïȣȍ ÀúÀå ¹æ¹ý¿¡ °¡Àå °£´ÜÇϸ鼍 ¾µ¸ðÀִ°ÍÀÌ Å°°ªÀ» XOR ¿¬»êÇϴ°ÍÀÌ´Ù.
< ¼Ò½º >

#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAXKEY 7
static KEY[MAXKEY] = { 0x32 , 0x23 , 0xf2 , 0xeb , 0x43 , 0x0c,0x1b };
static unsigned int count =0;
void code(char *in, char *out);
void code(char *in, char *out)
{
FILE *fp,*fp2;
char ch;
if (( fp=fopen(in,"rb"))==NULL) {
printf("cannot open input FILE [%s]\n",in);
exit(1);
}
if(fp2=fopen(out,"wb"))==NULL) {
printf("cannot open output FILE [%s]\n",out);
exit(1);
}
do {
ch=getc(fp);
ch^= KEY[ count % MAXKEY ];
if(feof(fp) ) break;
putc(ch,fp2);
count ++;
} while(!ferror(fp) && !ferror(fp2));
close(fp);close(fp2);
}
void main(int argc,char *argv[])
{
printf("CODE CHANGE V1.0 by ddn2\n");
if(argc!=3){
printf("\a\aUsage : codech <input file> <output file>\n");
exit(1);
}
if(!strcmp(argv[1],argv[2])) {
printf("\nFileNAME must be like !\n");
exit(0);
}
code(argv[1],argv[2]);
printf("\n Complete Coding !!\n");
}

°£´ÜÇÑ ¾Ïȣȍ XOR


¾Ïȣȍ ½ÃÅ°°í ½ÍÀº ¹®¼¸¦ ¸Þ¸ð¸®¿¡ ¿Ã—Á³õÀºµÚ¿¡ °£´ÜÈ÷ ÇѹÙÀÌÆ®½Ä XOR ½ÃÅ°¸é µÈ´Ù.
µ¥ÀÌŸ ÁÖ¼Ò°¡ ds:0100 À̶ó ÇÒ¶§..
mov cx,45h <<== µ¥ÀÌŸ Å©±â
mov di,100h <<== µ¥ÀÌŸ ÁÖ¼Ò
start:
mov ah,[di]
XOR ah,12h <<== 12h —Î XOR
mov [di],ah
inc di
loop start

ÇØÁ¦ ¹æ¹ýµµ ¶È°°´Ù.

¾Ïȣȍ ÇÁ—αח¥ ¿¹Á¦

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define kcode 0x5f
main(int argc,char *argv[]){
FILE *fp1,*fp2;
int ch;
textmode(C80);
clrscr();
textbackground(BLU );
textcolor(CYAN);
highvideo();
window(20,10,60,20);
clrscr();
if(argc!=3){
cprintf("Usuage:amho file1.nam file2.nam\r\n");
printf("\n\n\n\n\n\n\n\n\n KIM's secret-number program");
exit(1);
}
cprintf("\r\n\n\n\n\nNow,your progiam is LOCKKING\r\nFor secret-number\r\n
\n\n\n");
fp1=fopen(argv[1],"rb");
fp2=fopen(argv[2],"wb");
do{
ch=getc(fp1);
if(feof(fp1))break;
ch^=kcode;
putc(ch,fp2);
}while(!ferror(fp1)&&!ferror(fp2));
printf("Complete.........");
fclose(fp1);
fclose(fp2);
}

´ÙÀ½Àº ¾Ïȣȍ³ª ÄÄÇ»ÅÍ °ü—à Á¤º¸¸¦ ¾òÀ»¼ö ÀÖ´Â ´ëÇ¥Àû »çÀÌÆ® µéÀÌ´Ù.
*ÄÄÇ»ÅÍ ¼ºñ½º
À̸§:biz.comp.services
ÀÚ¿øÁ¾—ù:À‾Áî³Á
»ó¾÷ÀûÀÎ ¼ºñ½º »ç¾÷¼Ò.
*Åë½Å
À̸§:comp.dcom.mobems
ÀÚ¿øÁ¾—ù:À‾Áî³Á
µ¥ÀÌŸ Åë½Å,Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î.
*¾ÏÈ£ÇÐ
À̸§:crypto-l
ÀÚ¿øÁ¾—ù:¸®½ºÆ®¼ºê
ÁÖ¼Ò:crypto-l@jpntuvm0.bitnet
¾ÏÈ£ÇÐ ³íÀÇ ÁøÇàÁßÀÎ ¿¬±¸ Á¤º¸±³È‾µî
¼öÇаú °ü—ÃµÈ Á¤º¸ À‾Æ÷
±¸µ¶¿äûÁÖ¼Ò.
info-pgp-request@lucpul.it.luc.edu
À̸§:info-PGP
Áö¿øÁ¾—ù:¸®½ºÆ®
ÁÖ¼Ò:info-pgp@lucpul.it.luc.edu
°ø°³ Å° ¾ÏÈ£ ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö PGP¿¡ ´ëÇÑÅä—Ð.
À̸§:info-PGP
ÀÚ¿øÁ¾—ù:¸®½ºÆ®
ÁÖ¼Ò:info-pgp-request@lucpul.it.luc.edu
MS-DOS,UNIX,SPARC,VMS,¾ÖÆ®¸®,¾Æ¹Ì°¡,±×¸®°í
´Ù¸§ ÇקÆûÀ» À§ÇÑ PHIL ZIMMER MAN & CO`S PRETTY
GOOD PRIVACY(PGP)°ø°³ Å° ¾ÏÈ£ ÇÁ—αח¥À» À§ÇÑ Åä—Ð.
*»çÀ̹ö°ø°£
À̸§:cyber-l
ÀÚ¿øÁ¾—ù:¸®½ºÆ®¼ºê
ÁÖ¼Ò:cyber-l@marist.bitnet
»çÀ̹ö°ø°£ Çö»ó¿¡ °üÇÑ°Í.
À̸§:virtu-l
ÀÚ¿øÁ¾—ù:¸®½ºÆ®¼ºê
ÁÖ¼Ò:virtu-l@vmd.cso.uiuc.edu
À‾Áî³Ý ´ÜüÀÎ sci.virtual-worldsÀÇ ÇÑ °ÔÀÌÆ®¿þ¾î
ÀÌ¸ç °¡»óÇö½Ç¿¡ ´ëÇÑ Åä—Ð.
*¿¬¹æÁ¤ºÎ
À̸§:fedjobs
ÀÚ¿øÁ¾—ù:¸®½ºÆ®¼ºê
ÁÖ¼Ò:fedjobs@dartcmsl.dartmouth.edu
¾Æ—¡¾Æ Çѱۿ¡¼ÀÇ ÄÚµå ÀúÀå¹ý
¿©—‾ ´Ù¸¥ ÇÁ—αח¥µéó—³ ¾Æ—¡¾Æ Çѱ۵µ ÇÑ±Û ÄÚµå´Â Á¶ÇÕÇü Äڵ带 ¾´´Ù. ±×—‾³ª
¾Æ—¡¾Æ ÇÑ±Û ÈÀÏÀ» ÀÏ¹Ý ¿¡µðÅ͗Πºä Çغ» »ç¶÷Àº ¹®¼ ÀÚü´Â ÀüÇô ³ªÅ¸³ªÁö ¾Ê´Â°Í
À» º¸¾ÒÀ» °ÍÀÌ´Ù. ¾Æ—¡¾Æ ÇÑ±Û ÈÀÏ¿¡¼´Â 2ByteÄڵ带 ÇÏÀ§,»óÀ§ÀÇ ¼øÀ¸—Î ³ªÅ¸³»±â
¶§¹®ÀÌ´Ù. Á¶ÇÕÇü ÇÑ±Û "°¡"ÀÇ ÄÚµå´Â 88h,61hÀε¥ ¾Æ—¡¾Æ Çѱۿ¡¼´Â ÀÌ°ÍÀÌ 61h,88h
—Î ÀúÀåµÇ´Â °ÍÀÌ´Ù. ÀúÀå »Ó ¾Æ´Ï¶ó ¾Æ—¡¾Æ ÇѱÛÀÇ ¸ðµç ±ÛÀÚ Ã³¸®´Â ±×¿Í °°Àº ¹æ¹ý
À» ¾´´Ù. 2Byte¹®ÀÚ°¡ ¾Æ´Ñ°Í..¿¹¸¦ µéÀÚ¸é "A"ÀÇ °æ¿ì´Â ¾Æ—¡¾Æ Çѱۿ¡¼´Â 2ByteÄÚ
µå—Î º‾È‾ÇÏ¿© ó¸®ÇÑ´Ù Áï A´Â Äڵ尡 41hÀε¥ ¾Æ—¡¾Æ Çѱۿ¡¼´Â 0041h Áï, 41h,00h
—Î ¹Ù²Ù¾î ó¸®ÇÏ°Ô µÈ´Ù.
¾Æ—¡¾Æ ÇÑ±Û ¾Ïȣü°è¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸í
¾Æ—¡¾Æ ÇÑ±Û ¾Ïȣü°è´Â Àԗ¹ÞÀº ¾ÏÈ£¸¦ °¡Áö°í ¿©—‾ ¿¬»ê°úÁ¤À» °ÅÃļ Äڵ带 ¸¸
µé°í ±× ÄÚµå—Î ¹®¼¸¦ ¾ÏȣȍÇÏ´Â ¹æ¹ýÀ¸—Î, ÀÌ ¹æ¹ýÀº ¿ø—¡ ¾Ïȣü°è¸¦ ¿ÏÀüÈ÷ ÀÌÇØ
ÇÏ°í ¼³»ç ¾Æ—¡¾Æ ÇѱÛÀÇ ¼Ò½º¸¦ ÀÔ¼öÇß´Ù°í Ä¡´õ¶óµµ Ç®±â°¡ °ÅÀÇ ºÒ°¡´ÉÇÑ ¹æ¹ýÀÌ´Ù.
Àԗ¹ÞÀº ¾ÏÈ£¸¦ ¾Ë¾Æ¾ß ¹®¼¸¦ Ǫ´Â Å° Äڵ带 ±¸ÇÒ ¼ö Àֱ⠶§¹®¿¡, ¼Ò½º¸¦ ÀÔ¼öÇÑ
´Ù°í Çصµ ¾Ïȣü°è¸¦ ÀÌÇØÇÏ´Â Á¤µµ¿¡¼ ±×Ä¡°Ô µÈ´Ù. ±×—‾³ª ±×—± ¾Ïȣȍ ±â¹ýÀÌ ÃÖ
±Ù ±úÁ³´Ù. À̗ÐÀûÀ¸—Î ±ú±â°¡ °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù°í ÇÏ´Â ¾ÏÈ£°¡ ±úÁø ÀÌÀ‾´Â ¹«¾ùÀ̸ç
±× ¹æ¹ýÀº ¹«¾ùÀϱî? ÀÌ ´Ü¿ø¿¡¼´Â ¾Æ—¡¾Æ ÇѱÛÀÇ ¾Ïȣü°è¿Í ±×°ÍÀ» Ǫ´Â ¹æ¹ýÀ» ¼³
¸íÇÑ´Ù. ¾Æ—¡¾Æ ÇÑ±Û ¾Ïȣü°è¿¡¼ ¾²ÀÌ´Â ÄÚµå´Â µÎ°¡Áö°¡ Àִµ¥, ÆíÀÇ»ó À̰͵éÀ»
ºñ±³ ÄÚµå, Å° ÄÚµå¶ó°í ºÎ¸£ÀÚ.
ºñ±³ÄÚµå¶õ?
ºñ±³ÄÚµå´Â Àԗ¹ÞÀº ¾ÏÈ£°¡ ¹®¼ÀÇ ¾ÏÈ£¿Í °°ÀºÁö¸¦ ºñ±³Çϴµ¥ ¾²ÀÌ´Â °ÍÀ¸—Î ¹®¼
ÀÇ Çص¶ ÀÚü¿¡´Â °ü¿©ÇÏÁö ¾Ê´Â´Ù. ¾Æ—¡¾Æ ÇѱÛÀº ¹®¼¿¡ ¾ÏÈ£¸¦ ´ã¾Æ ÀúÀåÇÒ¶§¿¡ ¿ì
¼± Àԗ¹ÞÀº ¾ÏÈ£ÀÇ ¾Æ½ºÅ° ÄÚµå ȤÀº Á¶ÇÕÇü ÇÑ±Û Äڵ带 °¡Áö°í »çÄ¢¿¬»ê°ú ºñÆ®¿¬
»êÀ» ¼‾¾î ±× °á°ú¸¦ ȍÀÏ¿¡ ÀúÀåÇÑ´Ù. ±×¸®°í ¾ÏÈ£°¡ °É¸° ¹®¼¸¦ ºÒ—‾¿Ã¶§´Â ¾ÏÈ£¸¦
ÀÔ—Â¹Þ¾Æ °°Àº °è»êÀ» ÇÏ¿© ³ª¿Â °á°ú¿Í ȍÀÏ¿¡ ÀúÀåµÈ °á°ú¸¦ ºñ±³ÇÏ¿© °°À» °æ¿ì ¹®
¼¸¦ Ǫ´Â ÀÛ¾÷À¸—Î ³Ñ¾î°¡°í Ʋ¸± °æ¿ì¿¡ ¾ÏÈ£°¡ Ʋ¸®´Ù´Â ¸Þ½ÃÁö¸¦ Ãâ—ÂÇÏ°í ¹®¼ÀÐ
±â¸¦ Ãë¼ÒÇÑ´Ù.
ÀÌ ÄÚµåÀÇ ¸ñÀûÀº ´Ü¼øÈ÷ ºÒ—‾¿Ã¶§ Àԗ¹ÞÀº ¾ÏÈ£¿Í ÀúÀåÇÒ ¶§ Àԗ¹ÞÀº ¾ÏÈ£¸¦ ºñ±³
ÇÏ´Â °ÍÀÌÁö¸¸ ±×—¸´Ù°í ¾ø¾î¾î´Â ¾ÈµÇ´Â ÄÚµåÀÌ´Ù. °¡—É, ¹®¼¸¦ Ǫ´Â Äڵ带 °¡Áö°í
¾ÏÈ£¸¦ ºñ±³ÇÑ´Ù°í ÇÏ¸é ¹®¼¸¦ Ǫ´Â Äڵ尡 ȍÀÏ¿¡ ÀúÀåµÇ¾î ÀÖ¾î¾ß ÇÏ´Â °ÍÀÌ´Ù. ±×
—‾¸é ¹®¼ ¾È¿¡ ÀúÀåµÈ Äڵ带 °¡Áö°í ±× ¹®¼ÈÀÏÀ» Ç® ¼ö°¡ ÀÖ°Ô µÈ´Ù. ±×—‾¹Ç—Î ºñ
±³ÇÏ´Â ÄÚµå¿Í ¹®¼¸¦ Ǫ´Â Äڵ带 µû—Î ÇÏ¿© ºñ±³ÇÏ´Â Äڵ常 ȍÀÏ¿¡ ÀúÀåÇÏ´Â °ÍÀÌ
´Ù.
ºñ±³ÄÚµåÀÇ ±¸¼º
ºñ±³ÄÚµå´Â 16bit, Áï 2¹ÙÀÌÆ®ÀÇ Á¤¼ö—Î À̗ç¾îÁ®ÀÖ´Ù. ¼ö—Πģ´Ù¸é 0~65535ÀÇ °ªÀÌ
´Ù. ±×—³ ÀÌ ºñ±³ÄÚµå´Â ¾î¶»°Ô ¸¸µå´Â°¡? ºñ±³Äڵ带 ±¸ÇÏ´Â —çƾÀ» c—Î ³ªÅ¸³»¸é ´Ù
À½°ú °°ÀÌ µÈ´Ù. ¿©±â¼´Â À§¿¡¼ ¼³¸íÇÑ Äڵ带 »ç¿ëÇÑ´Ù.
unsigned int password[100]={...} /*Æнº¿öµåÀÇ 2ByteÄÚµåµé... 0ÀÌ¸é ³¡À» ³ªÅ¸³¿*/
unsigned int get_comparing_code()
{
unsigned int cc=0,offs=0;
while(password[offs]==0) {
cc<<=3;
cc~=password[offs];
cc+=0xa5;
offs+=2;
}
cc%=0xff00;
cc+=0x55;
return(cc);
}
±×—³ ÀÌ ºñ±³ÄÚ´Â ¾îµð¿¡ ÀúÀåµÇ´Â°¡? ¾Æ—¡¾Æ ÇÑ±Û 2.1ÀÇ HWP¹®¼ÈÀÏÀÇ offset 126
¿¡ 2Byte°¡ ÀúÀåµÇ¾îÀÖ´Ù. ¹°—Ð ¾ÏÈ£°¡ ¾øÀ»¶§´Â 00h,00h ÀÌ´Ù.
¾ÏÈ£¸¦ ³Ö¾î ÀúÀåÇÑ ÈÄ¿¡ À§¿Í °°Àº ½ÄÀ¸—Î ºñ±³Äڵ带 °è»êÇÏ¿© ¸¸µç ÈÄ ±×°÷¿¡ Àú
ÀåµÈ ¼öÄ¡¸¦ º¸¸é ±× µÑÀº ÀÏÄ¡ÇÒ °ÍÀÌ´Ù.
Çص¶ÄÚµå¶õ?
Çص¶ÄÚµå´Â ¹®¼ÀÇ ¾Ïȣȍ¸¦ Ǫ´Â µ¥ ¾²ÀÌ´Â ÄÚµå—Î °¡Àå Áß¿äÇÑ ÄÚµå¶ó°í ÇÒ ¼ö ÀÖ
´Ù. ÀÌ Çص¶ ÄÚµå´Â ¹®¼ ȍÀÏ¿¡ ÀúÀåµÇÁö ¾Ê´Â´Ù. ÀÌ Çص¶ÄÚµå´Â ¿ª½Ã ¾ÏÈ£¸¦ Àԗ¹Þ
¾Æ ±× ¾Æ½ºÅ° ÄÚµå ȤÀº Á¶ÇÕÇü Äڵ带 °¡Áö°í ¿©—‾ ¿¬»êÀ» ÇÏ¿© ¸¸µé¾îÁö¸ç, ¾ÏÈ£¸¦
³Ö¾î¼ ÀúÀåÇÒ¶§, ȤÀº ¾ÏÈ£¸¦ ÀÔ—Â¹Þ¾Æ ºÒ—‾¿Ã¶§ °è»êÀ» ÇÏ¿© ¾ÏȣȍÇÏ¿© ȍÀÏÀ» Àú
ÀåÇϰųª ¾ÏȣȍµÈ ȍÀÏÀ» Ç®¾î Àоî¿Ã¶§ Àá½Ã¸¸ »ý¼ºµÈ´Ù. ÀÌ Çص¶Äڵ带 »ý¼ºÇÏ´Â
°úÁ¤Àº ºÒ—‾¿Ã¶§ÀÇ °æ¿ì Àԗ¹ÞÀº ¾ÏÈ£—Î ¸¸µç ºñ±³ÄÚµå¿Í ȍÀÏ¿¡ ÀúÀåµÈ ºñ±³Äڵ带
ºñ±³ÇÏ¿© °°À» ¶§ ½ÇÇàµÈ´Ù.

Çص¶ÄÚµåÀÇ ±¸¼º
Çص¶ÄÚµå´Â ºñ±³ÄÚµå¿Í ¸¶Âù°¡Áö—Î 16bit, 2¹ÙÀÌÆ®ÀÇ Á¤¼ö—Î À̗ç¾îÁ®ÀÖ´Ù. ¿ª½Ã ¼ö
—Πģ´Ù¸é 0~65535ÀÇ °ªÀÌ µÈ´Ù. Çص¶ÄÚµåÀÇ Á¦ÀÛ¹ýµµ ºñ±³Äڵ带 ¸¸µå´Â ¹ý°ú ¸Å¿ì
ºñ½ÁÇÏ´Ù. ´Ü Çص¶Äڵ带 ¸¸µé¶§´Â ºñÆ® ¿¬»ê Áß È¸Àü(Rotate)¶ó´Â ¿¬»êÀ» ¾²´Âµ¥ ¸¹
Àº °í±Þ¾ð¾îµéÀÌ ÀÌ ¿¬»êÀº Áö¿øÀ» ÇÏÁö ¾Ê±â ¶§¹®¿¡ ¿©±â¼´Â ´Ù¸¥ ¿¬»êµéÀ» ¼‾¾î¼
ȸÀü¿¬»êÀ» ÇÒ ¼ö ÀÖµµ—Ï ÇÒ °ÍÀÌ´Ù.
unsigned int password[100]={...} /*Æнº¿öµåÀÇ 2ByteÄÚµåµé... 0ÀÌ¸é ³¡À» ³ªÅ¸³¿*/
unsigned int get_decoding_code()
{
unsigned int dc=0,offs=0;
while(password[offs]==0) {
dc=(dc>>3)|((dc&7)>>13); /* dc¸¦ ¿À¸¥ÂÊÀ¸—Î 3ºñÆ® ȸÀüÇÑ´Ù */
/* À§ÀÇ ¹®Àå ´ë½Å
asm mov cl,3
asm ror dc,cl
À¸—Î ¹Ù²Ü ¼ö ÀÖ´Ù.
*/
dc~=password[offs];
dc+=0xa5;
offs+=2;
}
return(dc);
}

Çص¶ÄÚµå—Î Àڗá Çص¶Çϱâ


±×—³ Çص¶ÄÚµå´Â ¾î¶»°Ô Çϴ°¡? ¸»±×´ë—Î ¹®¼¸¦ Çص¶ÇÏ´Â ¿¼èÀÇ ¿ªÇÒÀ» ÇÏ´Â °ÍÀÌ
´Ù. ±×—‾¸é ¹®¼´Â ¾î¶² ¿ø¸®—Î Ç®°Ô µÇ´Â °ÍÀΰ¡? ¿ì¼± ¹®¼ÀÇ ¾Ïȣȍ¿¡ ´ëÇØ ¾Ë¾Æº¼
ÇÊ¿ä°¡ ÀÖ´Ù. ¾Æ—¡¾Æ ÇѱÛÀÇ ¹®¼ ȍÀÏÀº ¾ÕÀÇ Çì´õ ºÎºÐÀ» Á¦¿ÜÇÑ ¸ðµç ºÎºÐÀÌ ¹®¼
µ¥ÀÌŸ ÀúÀå ºÎºÐÀ¸—Î ¸ðµç ºÎºÐÀÌ 2Bytes´ÜÀ§—Î µÇ¾î ÀÖ´Ù. ±×¸®°í ¾Ïȣȍ´Â ÀÌ ¹®¼
µ¥ÀÌŸ ºÎºÐÀÇ Àü ºÎºÐ¿¡ ÇÏ°Ô µÈ´Ù. ¹®¼¿¡¼ »ç¿ëµÇ´Â ±ÛÀÇ ÄÚµå ¿ª½Ã ¸ÕÀú ¼³¸íÇß
´ø ¹æ½ÄÀ¸—Î ÀúÀåÀÌ µÈ´Ù.
ÀÌ ¹®¼µ¥ÀÌŸ ºÎºÐÀ» Ǫ´Â ºÎºÐÀ» c¾ð¾î—ΠǥÇöÇÏÀÚ¸é ´ÙÀ½°ú °°ÀÌ µÈ´Ù.
unsigned int document_data[SIZE]={...} /*¹®¼ µ¥ÀÌŸÀÇ 2Byte ÄÚµåµé...0ÀÌ¸é ³¡*/
void decode_document(int dc) /* Çص¶ Äڵ尡 ÀԗÂÀ¸—Î µé¾î°£´Ù */
{
unsigned int ax,dx,offs=0,si;
unsigned char ah,al,cnt,tmp;
si=0;
while(document_data[offs]==0) {
ax=document_data[offs];
cnt=6;
do {
dx=(dc>>cnt)+(dc&((1<<cnt)-1)>>(16-cnt); /*dx¸¦ ¿À¸¥ÂÊÀ¸—Î cnt¸¸Å ȸÀü*/
tmp=ax>>8;
ah=tmp;
al=ax&255;
ah^=(dx&255);
ah^=al;
al=tmp;
ax=(ah<<8)+al;
cnt-=2;
} until cnt<6
ax^=si;
si++;
document_data[offs]=ax;
}
}
Çص¶Äڵ带 Æã¼Ç¿¡ ³Ö°í ¾ÏȣȍµÈ ¹®¼ µ¥ÀÌŸ¸¦ document_data ¹è¿¿¡ ³Ö¾î Æã¼ÇÀ»
È£ÃâÇϸé document_data¿¡ Çص¶µÈ Äڵ尡 ´ã°ÜÁú °ÍÀÌ´Ù.

¾Æ—¡¾Æ ÇÑ±Û ¾Ïȣü°èÀÇ ±¸¸Û


¾Æ—¡¾Æ Çѱۻ翡¼´Â ¾Æ—¡¾Æ ÇÑ±Û 2.1ÀÇ ¾Ïȣü°è´Â 32bit¾Ïȣü°èÀ̸ç, ±×¿¡ µû¶ó
Å°¸¦ ¹«ÀÛÀ§—Î ¸¸µé¾î Ç®¾îº¸´Â ¹æ½ÄÀ¸—δ 2ÀÇ 32½ÂÀÎ ¾à 4¾ï2õ¹øÀÇ °è»êÀ» °ÅÃľß
ÇÑ´Ù°í ÁÖÀåÇß´Ù. ±×—‾³ª ºñ±³ÄÚµå 16bit¿¡ Çص¶ÄÚµå 16bit°¡ ÀÖ´Ù°í ¾ÏÈ£°¡ 32bit¶ó
°í °è»êÇÑ °ÍÀº À߸øÀÌ´Ù. ½ÇÁ¦—Î ¾ÏÈ£¸¦ Ǫ´Âµ¥ À־´Â Çص¶Äڵ常 ÇÊ¿äÇÑ °ÍÀÌ´Ù.
±×—‾¸é ¹«ÀÛÀ§—Î ´ëÁ¶Çؼ Ǫ´Â ÃÖ¾ÇÀÇ ¹æ¹ýÀ¸—Î Ǭ´Ù ÇÏ´õ¶óµµ 2ÀÇ 16½ÂÀÎ ¾à6¸¸5õ
¹øÀÇ °è»êÀÌ¸é µÇ´Â °ÍÀÌ´Ù. 6¸¸5õ¹øÀÌ¸é ¾öû³ª°Ô ¸¹Àº Ƚ¼öÀ̶ó »ý°¢µÉ ¼ö ÀÖÀ¸³ª
±×—¸Áö ¾Ê´Ù. ÄÄÇ»ÅͶõ ¸»±×´ë—Î °è»ê±âÀÌ¸ç ¾öû³ª°Ô ºü¸¥ °è»êÀ» ÇÒ ¼ö ÀÖ´Ù. ±×¸®
°í À§¿¡¼ ¾Ë¾Æº¸¾ÑµíÀÌ ¾Æ—¡¾Æ ÇѱÛÀÇ ¾ÏÈ£¸¦ Çص¶Çϴµ¥ »ç¿ëµÇ´Â ¿¬»êÀº ºñÆ® ȸÀü
(Shift/Rotate)³ª And µî µ¡¼À °è»êº¸´Ù ±â°è°¡ »¡¸® ÇÒ ¼ö ÀÖ´Â ¿¬»ê¿¡ +,*,/°¡ ¾à°£
¼‾ÀÎ Á¤µµÀÌ´Ù. °Ô´Ù°¡ °è»êµÇ´Â ¼ö ¿ª½Ã 2Byte Á¤¼öÇüÀ¸—Î Çϵå¿þ¾îÀûÀ¸—Î 16Bit XT
ÀÌ»óÀÌ¸é ¸ù¶¥ ¿¬»êÀÌ °¡´ÉÇÑ ¼öÀÌ´Ù. À̗¸°Ô µÇ¾úÀ»¶§ ¾î¼Àºí¸®¾î—Î ÀÏÀÏÈ÷ ´ëÀÔÇغ¸
´Â ÇÁ—αח¥À» §´Ù°í Çϸé ª°Ô´Â ¼ö½Ê ÃÊ¿¡¼ ±æ¾îµµ ¼ö ºÐÀÌ¸é ¾ÏÈ£°¡ Ç®¸®°Ô µÉ
°ÍÀÌ´Ù.
¾î¶»°Ô Ç® ¼ö Àִ°¡?
À§¿¡¼ ¸»Çß´ø °áÁ¡À» ÀÌ¿ëÇÏ¸é ¾Ïȣü°è´Â Ç®¸± ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×—‾³ª ¶Ç ÇϳªÀÇ
°ü¹®ÀÌ ÀÖ´Ù. ¾Æ—¡¾Æ Çѱۿ¡¼´Â Çص¶Äڵ带 Àԗ¹޾Ƽ ¾ÏÈ£¸¦ Ǫ´Â °ÍÀÌ ¾Æ´Ï´Ù. ¾Ï
È£ ¹®ÀÚ¿À» ¹Þ¾Æ ¿¬»êÀ» °ÅÃÄ ºñ±³Äڵ带 ¸¸µç ÈÄ¿¡ ºñ±³ÄÚµå¿Í ºñ±³ÇÏ°í ±× ÈÄ¿¡ ÇØ
µ¶ÄÚµå—Î ¹®¼¸¦ Ç®°Ô µÇ¾î À־ Çص¶Äڵ常 ¾Ë°Ô µÇ¸é ºñ±³Äڵ带 ¸ð¸£°Ô µÇ¾î ¾Ï
È£°¡ Ʋ—È´Ù´Â ¸Þ½ÃÁö¸¦ ¹ÞÀ» °ÍÀÌ°í ºñ±³Äڵ常 ¾Ë°Ô µÈ´Ù¸é Çص¶ÄÚµå—Î Ç®À» ¶§ ¹®
¼°¡ À߸ø Ç®¾îÁ® "¹®¼°¡ ¼Õ»óµÇ¾ú½À´Ï´Ù."¶ó´Â ¿¡—‾°¡ ³ª¿À°Ô µÉ °ÍÀÌ´Ù. ¶ÇÇÑ µÎ
Äڵ带 Çѹø¿¡ ¸ðµÎ ±¸ÇÑ´Ù°í ÇßÀ»¶§´Â 4¾ï 2õ¹øÀ» ¸ðµÎ µ¹—ÁºÁ¾ß ±¸ÇÒ ¼ö°¡ ÀÖ´Â °Í
ÀÌ´Ù.
±×—‾³ª ÀÌ ¹®Á¦ ¿ª½Ã »ý°¢À» ¾î´ÀÁ¤µµ Çغ¸¸é ÇØ°áÀÌ °¡´ÉÇÏ´Ù. ¿ì¼± Çص¶Äڵ带 ±¸
ÇÏ°Ô µÇ¾úÀ»¶§ ¹®ÀÚ¿À» ¾î¶»°Ôµç°£¿¡ ¹«ÀÛÀ§—Î ¸¸µé¾î¼ ±× ¹®ÀÚ¿—Î Çص¶Äڵ带 ±¸
ÇßÀ» ¶§ ¸Â¾Æ ¶³¾îÁö´Â ¹®ÀÚ¿À» ±â¾ïÇÑ ÈÄ¿¡ ±× ¹®ÀÚ¿—Î ºñ±³Äڵ带 °è»êÀ¸—Î ±¸ÇÏ
¿© ¾Æ—¡¾Æ ÇÑ±Û ÈÀÏÀÇ Çì´õ ºÎºÐÀÇ ºñ±³Äڵ尡 ÀÖ´Â °÷¿¡ ½á ³ÖÀ¸¸é µÇ´Â °ÍÀÌ´Ù.
±×—± ÈÄ¿¡ ¾Æ—¡¾Æ Çѱۿ¡¼ ¹®¼¸¦ ÀÐÀ»¶§ ±¸ÇÑ ¹®ÀÚ¿À» ÀԗÂÇÏ¸é ¾ÏÈ£´Â Ç®¸®°Ô µÇ
´Â °ÍÀÌ´Ù. ¶Ç´Â ¹®¼ ºÎºÐÀ» ¾Æ¿¹ ÇÁ—αח¥»ó¿¡¼ Ç®¾î¼ ¾ÏÈ£¾øÀÌ ÀúÀåÇÏ´Â ¹æ¹ýµµ
ÀÖÀ» ¼ö ÀÖ´Ù.
±×—±µ¥ Çص¶Äڵ带 ±¸ÇÏ´Â °Í ¿ª½Ã ¹®Á¦°¡ ÀÖÀ» ¼ö ÀÖ´Ù. Çص¶Äڵ带 ÀÏÀÏÈ÷ ¸¸µé¾î
¼ ¹®¼ µ¥ÀÌŸ¸¦ Ç®¾î³ª°¥¶§ Ç®¸° ¹®¼ µ¥ÀÌŸ°¡ ¸Â´Â °ÍÀÎÁö¸¦ ¾Ë¾Æ³¾ ¹æ¹ýÀÌ ¾ø´Â
°ÍÀÌ´Ù.
ÀÌ°Í ¶ÇÇÑ »ý°¢À» Çغ¸¸é ¾Ë ¼ö ÀÖ´Ù. ¾Æ—¡¾Æ ÇѱÛÀÇ Á¤»óÀûÀÎ ÄÚµå´Â ÇѱÛÀÏ ¶§ Á¶
ÇÕÇü Äڵ带 µÚ¹Ù²Û ÄÚµå¶ó´Â °ÍÀ» ¾Õ¿¡¼ ¾ð±ÞÇß´Ù. ¹®¼ ȍÀÏÀÇ ´ëºÎºÐÀÇ Ã¹ ºÎºÐ¿¡
´Â ÇѱÛÀÌ ÀÖÀ» °ÍÀÌ°í Äڵ带 Ç®¾úÀ» ¶§ Á¶ÇÕÇü ÇÑ±Û Äڵ尡 µÇ´Â Äڵ尡 ¸î ÆÛ¼¾Æ®
°¡ ÀÖ´ÂÁö ¼¼¾î¼ ¾î´À ±âÁØ ÀÌ»óÀÌ¸é ¸Â´Ù°í Ä¡¸é ´ëºÎºÐÀÇ ¹®¼°¡ Ç®¸®°Ô µÈ´Ù. Á¶
ÇÕÇü ÇÑ±Û Äڵ尡 µÇ´ÂÁö ¾Ë¾Æº¸´Â ¹æ¹ýÀº Á¶ÇÕÇü ÇѱÛÀÇ ¿ø¸®¸¸ ¾Ë¸é ½±°Ô ¾Ë ¼ö ÀÖ
´Ù. ±×—‾³ª ¹®¼ Áß¿¡´Â ¾ÕºÎºÐ¿¡ Ç¥ ¶Ç´Â ±×¸², ¿Ü±¹¾î µîÀÌ ¸¹ÀÌ ÀÖ´Â °æ¿ì°¡ ÀÕ´Ù.
ÀÌ °æ¿ì´Â ÀüÀÚÀÇ ¹æ¹ýÀ¸—Î Ç® ¼ö´Â ¾ø´Ù. ÀÌ°æ¿ì´Â ¾Æ—¡¾Æ ÇÑ±Û ¹®¼ ȍÀÏÀÇ ¹®¼ µ¥
ÀÌŸ ¿µ¿ªÀÇ ±¸Á¶¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. Çص¶Äڵ尡 Ʋ—ÈÀ» °æ¿ì ÀüüÀûÀ¸—Î Ʋ¸®°Ô ¹ø¿ªµÇ
¹Ç—Î ±× ±¸Á¶ ¶ÇÇÑ ¿À—ù°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. ÀÌ °ÍÀ» ¾Ë¾Æº¸´Â °ÍÀÌ °¡Àå È®½ÇÇϳª ¾Æ—¡
¾Æ ÇÑ±Û ÈÀÏÀÇ ±¸Á¶´Â °ø°³µÇ¾îÀÖÁö ¾ÊÀ¸¹Ç—Î ±¸Á¶¸¦ ¾Ë¾Æ³»´Â ÀÛ¾÷À» ÇØ¾ß ÇÒ °ÍÀÌ
´Ù.

´ÙÀ½Àº HWP21NUM.EXE ÀÇ C ¼Ò½ºÀÌ´Ù.


HWP21NUMÀº ¾Æ—¡ ÇÑ±Û 2.1 ÀÇ ¼ýÀÚȍµÈ ¾ÏÈ£¸¦ Ç®±âÀ§ÇÑ ÇÁ—αח¥ÀÌ´Ù.
¹®Á¦°¡ µÇ°íÀÖ´Â CODE21 °ú´Â ´Þ¸® »ç¿ë¿¡ ¹ýÀû ÇÏÀÚ°¡ ÀüÇô¾ø´Ù.

/* FileName: HWP21NUM.C
Description: HWP 2.1 Çü½ÄÀÇ ¹®¼ÆÄÀÏÀÇ ¼ýÀÚ ¾ÏÈ£ Çص¶±â
Programming: Lim Hyoung-Taek
Compile: tcc -B hwp21num
*/
#include <io.h>
#include <fcntl.h>
#include <string.h>
#include <stdio.h>
/* ¼³¸í: ¿©±â¼´Â Àԗ ŰÀÇ °ªÀ» ÃÖ´ë 5°³±îÁö Àâ¾Æ¼ ÇÁ—αח¡¹ÖÀ» Çß´Ù.
¸¸¾à Å° °ªÀ» ´õ ¸¹ÀÌ Àâ¾Æ¾ß ÇÏ´Â °æ¿ì´Â ÇÁ—αח¥À» °íÃļ
»ç¿ëÇϱ⠹ٶõ´Ù. C¸¦ Á¶±Ý ÇϽô ºÐÀ̶ó¸é ½±°Ô ¼öÁ¤ÇÒ ¼ö
ÀÖÀ» °ÍÀÌ´Ù.
Âü°í—Î ¸¸¾à ¾ÏÈ£°¡ 123456°ú °°ÀÌ 6ÀÚ¸®ÀÎ °æ¿ì´Â ¾ÏÈ£ Çص¶½Ã
23456°ú °°ÀÌ µÚ¿¡¼ 5°³ ±îÁö¸¸ Çص¶ÇÑ´Ù. ÀÌ °æ¿ì ¼ýÀÚ´Â 0~9
±îÁö À̹ǗΠŰ Çϳª¾¿ ´ÃÀ϶§ ¸¶´Ù 10¹èÀÇ ½Ã°£ÀÌ ¼Ò¿äµÈ´Ù.
»ç½Ç Çص¶ ÇÁ—αח¥À̶ó±â º¸´Ù´Â Æнº¿öµå ¾îÅà ÇÁ—αח¥°ú
ºñ½ÁÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù.
¾Ë°í¸®Áò º¸´Ù´Â »ý»ê¼º À§Á֗Π»¡¸® ÀÛ¼ºÇ߱⠶§¹®¿¡ ¼Ò½º¸¦
º¸¸é ´Ù¼Ò ºñÈ¿À²ÀûÀÎ ºÎºÐÀÌ ÀÖÀ»ÅÙµ¥, Á» ´õ ºü¸¥ ¼Óµµ°¡
³ª¿Ã ¼ö ÀÖµµ—Ï °íÃļ »ç¿ëÇصµ ÁÁ´Ù.
Á¦°¡ ½Ã°£ÀÌ ¾ø¾î¼ ±×—±µ¥, ´ã¿¡ ½Ã°£ÀÌ ³ª¸é(°ÅÀÇ ¾È³‾°Ì´Ï´Ù: ½Ã°£³ª¸é
³î¾Æ¾ßÁÒ...) °ÁÂÇØ µå¸®ÁÒ...
»ç½Ç ÀÌ ÇÁ—αח¥°ú´Â ´Ù¸¥¹æ¹ýÀ¸—Î... ½ÇÁ¦—Î ÇÑ.ÄÄ¿¡¼´Â 32bit¶ó°í´Â
ÇÏÁö¸¸ 16bitÀÇ Çص¶¿ëÅ°¸¦ »ç¿ëÇϹǗΠÇص¶¿ë Å°¸¦ ¾îÅÃÇؼ ¹®¼ÆÄÀÏÀ»
Á¤»óÀûÀÎ Äڵ尡 ³ª¿Ã¶§±îÁö ±¸ÇÏ¸é ´Ü ¼ö½ÊÃÊ¸é ½±°Ô Çص¶¿ë Å°¸¦ ±¸ÇÒ
¼ö ÀÖ½À´Ï´Ù. ÀÏ´Ü Çص¶¿ëÅ°¸¸ ±¸ÇÏ¸é ³ª¸ÓÁö´Â ½±°Ô ÇÒ ¼ö ÀÖÁÒ..
½ÇÁ¦—Î code21ÀÌ À̗± ¹æ¹ýÀÏ °Ì´Ï´Ù...
±Ùµ¥.. ÇÑ±Û 3.0¿¡¼´Â 64bit¸¦ »ç¿ëÇÑ´Ù°í ÇÏ´Ï ¹°—Ð 32bitÀÇ Çص¶Å°¸¦
»ç¿ëÇÏ°ÚÁö¸¸¿ä... À̶§´Â Á¤¸» ¾îÅÃÇصµ 42¾ï¹øÀÌ»óÀ» ¾îÅÃÇØ¾ß ÇÏ´Ï
(¹°—Ð Áß°£¿¡ ±¸ÇÒ¼öµµ ÀÖÁö¸¸¿ä.) À̗± ¹æ¹ýÀ¸—δ °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù°í
ÇÒ ¼ö ÀÖ°í¿ä... »õ—Î¿î ¹æ¹ýÀ» ¿¬±¸ÇØ¾ß ÇÒ°Ì´Ï´Ù. ÀÏ´Ü zipÀÇ ¾Ïȣȍ°¡
32bit des¶ó°í ÇÏ´Ï À̸¦ ±úº¸´Â °Íµµ ÁÁÀº ¹æ¹ýÀÏ°Ì´Ï´Ù. ½ÇÁ¦—Î ¾ÆÁ÷
±úÁöÁö ¾Ê°í ÀÖ½À´Ï´Ù. ÀϺ»¿¡¼ ´©±º°¡ des¸¦ ²£´Ù´Â ¾ê±âµµ ÀÖ´õ±º¿ä...
±×—‾³ª 3.0¿¡¼µµ ¼ýÀÚ¾ÏÈ£¿¡¼´Â ÀÌ ÇÁ—αח¥¿¡¼ ¾Ë°í¸®Áò¸¸ ¹Ù²Ù¸é
±×—¡µµ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
À̗± ¹æ½ÄÀ¸—Î ¿µ¹®À̳ª ÇÑ±Û ¾ÏÈ£¸¦ ¾Ë¾Æ³»´Â°Ç ½Ã°£ÀÌ ³Ê¹«³Ê¹« ¾öû³ª°Ô
°É¸®¹Ç—Î ½ÇÁ¦—Î ¹é³âÀÌ ³Ñ°Ô(±× ÀÌ»óÀÌ µÉ¼öµµ: Å° °¹¼ö¿¡ µû¶ó¼ ´Þ¶óÁö
¹Ç—Î..) °É¸± ¼öµµ ÀÖ½À´Ï´Ù..
ÇÏ¿©°£ Âü°íÇϼż ´õ ÁÁÀº ¾Ë°í¸®ÁòÀ» ¿¬±¸ÇϽñ⠹ٶø´Ï´Ù.
*/

/* ¹è¿¿¡ µé¾î¿Â ÀÔ—ÂµÈ Å°(¾ÏÈ£)¸¦ ÀÌ¿ëÇؼ È®Àοë Å°¸¦


±¸ÇÏ´Â ÇÔ¼ö. ¿ªÀ¸—Î È®Àοë Å°¿¡¼ ÀÔ—ÂµÈ Å°¸¦ ±¸ÇÒ ¼ö´Â ¾ø´Ù.
¾Ë°í¸®ÁòÀ» Àß »ìÆ캸¸é ¿ªÀ¸—δ ºÒ°¡´ÉÇÏ´Ù´Â °É ¾Ë ¼ö ÀÖÀ»
°Í ÀÌ´Ù. */
unsigned GetConfirmKey(unsigned InpKey[])
{
int i = 0;
_BX = InpKey[i];
asm xor si, si
asm xor ax, ax
asm cmp bx, +00
asm jnz _1e0f
exit(0);
_1dfa:
asm mov ax, si
asm mov cl, 3
asm shl ax, cl
asm push ax
_BX = InpKey[i];
asm pop ax
asm xor ax, bx
asm add ax, 0a5h
asm mov si, ax
asm inc WORD PTR i
_1e0f:
asm push ax
_BX = InpKey[i];
asm pop ax
asm cmp bx, +0
asm jnz _1dfa
asm mov ax, si
asm mov bx, 0ff00h
asm xor dx, dx
asm div bx
asm add dx, +55h
asm mov ax, dx
return(_AX);
}
/* ¹è¿¿¡ µé¾î¿Â ÀÔ—ÂµÈ Å°(¾ÏÈ£)¸¦ ÀÌ¿ëÇؼ Çص¶¿ë Å°¸¦
±¸ÇÏ´Â ÇÔ¼ö. ¿ªÀ¸—Î Çص¶¿ë Å°¿¡¼ ÀÔ—ÂµÈ Å°¸¦ ±¸ÇÒ ¼ö´Â ¾ø´Ù.
¾Ë°í¸®ÁòÀ» Àß »ìÆ캸¸é ¿ªÀ¸—δ ºÒ°¡´ÉÇÏ´Ù´Â °É ¾Ë ¼ö ÀÖÀ»
°Í ÀÌ´Ù. */
unsigned GetDecodeKey(unsigned InpKey[])
{
int i = 0;
_BX = InpKey[i];
asm xor si, si
asm xor dx, dx
asm jmp _0016;
_0007:
asm mov cx, 3
asm ror dx, cl
asm push ax
_BX = InpKey[i];
asm pop ax
asm xor dx, bx
asm inc WORD PTR i
_0016:
asm push ax
_BX = InpKey[i];
asm pop ax
asm cmp bx, +00
asm jnz _0007
asm mov ax, dx
return (_AX);
}
main(int argc, char* argv[])
{
char path[80];
unsigned ConfirmKey;
unsigned InpKey[6];
int handle;
int PasswordCount = 1;
int fFoundPassword = 0;
InpKey[5] = 0x0000;
printf("¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤\N");
printf("¦¢ ¦¢ \n");
printf("¦¢ HWP 2.1 Numeric password decoder¦¢\n");
printf("¦¢ ¦¢\n");
printf("¦¢ Production: 1995, Lim Hyoung-Taek ¦¢\n");
printf("¦¢ ¦¢\ n");
printf("¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥\n");
if (argc < 2)
{
printf("Usage: HWP21NUM [pathname][filename][.hwp]\n");
exit(1);
}
strcpy(path, argv[1]);
if (strrchr(path, '.') == NULL)
strcat(path, ".HWP");
handle = open(path, O_RDONLY);
if (handle == -1)
{
printf("\7Error: cannot find such directory or filename\n");
exit(1);
}
lseek(handle, 0x7eL, SEEK_SET); /* ¿ÀÇÁ¼Â 7eh—Î À̵¿ */
read(handle, &ConfirmKey, 2); /* È®ÀÎÅ° Àбâ */
close(handle);
printf("Wait a moment ...\n");
for (InpKey[4]=0x0030;InpKey[4] <= 0x0039; InpKey[4]++)
{
printf(".");
for (InpKey[3]=0x0030;InpKey[3] <= 0x0039; InpKey[3]++)
{
if (InpKey[4] == 0x0030)
InpKey[4] = 0;
for (InpKey[2]=0x0030;InpKey[2] <= 0x0039; InpKey[2]++)
{
if (InpKey[3] == 0x0030 && InpKey[4]==0x0000)
InpKey[3] = 0;
for (InpKey[1]=0x0030;InpKey[1] <= 0x0039; InpKey[1]++)
{
if (InpKey[2] == 0x0030 && InpKey[3]==0x0000 &&
InpKey[4] == 0x0000)
InpKey[2] = 0;
for (InpKey[0]=0x0030;InpKey[0] <= 0x0039; InpKey[0]++)
{
if (InpKey[1] == 0x0030 && InpKey[2]==0x0000 &&
InpKey[3] == 0x0000 && InpKey[4]==0x0000)
InpKey[1] = 0;
if (GetConfirmKey(InpKey) == ConfirmKey)
{
printf("\n\n\7Success: found password %d\n", PasswordCount++);
printf("\nConfirm key = %xh", ConfirmKey);
printf("\nDecode key = %xh", GetDecodeKey(InpKey));
printf("\nPassword = %c%c%c%c%c\n", InpKey[0],
InpKey[1], InpKey[2], InpKey[3], InpKey[4]);
fFoundPassword = 1;
}
}
if (!InpKey[1])
InpKey[1] = 0x0030;
}
if (!InpKey[2])
InpKey[2] = 0x0030;
}
if (!InpKey[3])
InpKey[3] = 0x0030;
}
if (!InpKey[4])
InpKey[4] = 0x0030;
}
if (! fFoundPassword)
printf("\n\7Failure: password not found");
printf("\n");
}

S-ar putea să vă placă și