¾È³çÇϼ¼¿ä. 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 #include #include #include #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 \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 #include #include #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<>(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 #include #include #include /* ¼³¸í: ¿©±â¼­´Â ÀÔ·Â Å°ÀÇ °ªÀ» ÃÖ´ë 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"); }