Ȩ  >
>
>
>
>
BINARY HACKS : ÇØÄ¿°¡ Àü¼öÇÏ´Â Å×Å©´Ð 100¼±
¾ß½Ã »çÅä·ç(Satoru Takabayashi), ¿ìÄ«ÀÌ ÈĹÌÅä½Ã(Fumitoshi Ukai), »çÅä À¯½ºÄÉ(Yusuke Sato), Çϸ¶Áö ½ÅÀÌÄ¡·Î(Shinichiro Hamaji), ½´µµ Ä«ÁîÀ¯Å°(Kazuyuki Shudo) Àú / Áø¸íÁ¶ ¿ª ¤Ó ¾ÆÀÌÆ¼¾¾(ITC) ¤Ó BINARY HACKS
 

10 %¡é
+5 %P

ÆîÃ帱â È®´ëº¸±â
³×Æ®¿öÅ© 77À§
  • ù ¸®ºä¾î°¡ µÇ¾î ÁÖ¼¼¿ä.
 
Á¤°¡

24,000¿ø

ÆÇ¸Å°¡

21,600¿ø (10% ¡é, 2,400¿ø ¡é)

I-Æ÷ÀÎÆ® Àû¸³

1,080PÀû¸³ (5%)

Ãß°¡Æ÷ÀÎÆ®

¿ì¼öȸ¿ø + 5¸¸¿øÀÌ»ó ±¸¸Å½Ã 2000PÃß°¡Àû¸³

ÆÇ¸Å»óÅÂ

ÆÇ¸ÅÁß

¹ßÇàÀÏ

2007³â 07¿ù 10ÀÏ

ÆäÀÌÁö¼ö/Å©±â

476page/B6

ISBN

9788990758743/8990758742

¹è¼Ûºñ
¹«·á¹è¼Û
ÇØ¿Ü¹è¼Û ÇØ¿Ü¹è¼Û °¡´É

¹è¼ÛÁö¸¦ ¼³Á¤ÇϽøé Á¤È®ÇÑ ¹è¼Û¿¹Á¤ÀÏÀ» È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

9/10(±Ý) ¼­¿ï½Ã ¼­Ãʱ¸ ¼­Ãʵ¿ ±âÁØ

 
 

¼­¿ï¡¤¼öµµ±Ç¡¤Ãµ¾È

ºÎ»ê¡¤°æ³²¡¤´ëÀü

´ë±¸¡¤¿ï»ê¡¤±¤ÁÖ¡¤ÀüÁÖ

  • ±×¿Ü Áö¹æ(µµ¼­»ê°£Á¦¿Ü)Àº 18½Ã±îÁö ÁÖ¹®½Ã ÇÏ·ç¹è¼Û ¼­ºñ½º¸¦ ¹Þ¾Æº¸½Ç ¼ö ÀÖ½À´Ï´Ù.
  • ¹°·ù¼¾Åͺ° Àç°í º¸À¯±âÁØÀ̸ç, Àç°í»óÅ¿¡ µû¶ó ¹è¼Û¿¹Á¤ÀÏÀº º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù.
ÁÖ¹®¼ö·®

±Ç

  • ºÏīƮ´ã±â
  • ¹Ù·Î±¸¸Å
 
NHä¿òÄ«µå
ÃÖ´ë 20% û±¸ ÇÒÀÎ
KB Æ÷ÀÎÆ®¸®
0.1% Àû¸³/¹«Á¦ÇÑ »ç¿ë
T¸â¹ö½Ê
2.5%Àû¸³ ¶Ç´Â 5%´õºíÇÒÀÎ
Çö´ëMÆ÷ÀÎÆ®
10% ÇÒÀÎ / 1% Àû¸³
Çö´ë M-LadyÄ«µå
5% û±¸ÇÒÀÎ
S-Oil º¸³Ê½ºÆ÷ÀÎÆ®
¹«Á¦ÇÑ ÇÒÀÎ
»ï¼ºÄ«µå º¸³Ê½º Æ÷ÀÎÆ®
1% Àû¸³/¹«Á¦ÇÑ »ç¿ë
ÀÎÅÍÆÄÅ©µµ¼­-¿Ã¾ÜÄ«µå
2õ¿ø ¸Ó´Ï¹é
Á¦ÈÞ ÇÒºÎÄ«µå ÇÒÀÎ Àû¸³Ä«µå
  • ÆÇ¸ÅÁßÀÎ Áß°í»óǰÀÌ ¾ø½À´Ï´Ù.
  • Home > µµ¼­  > ÄÄÇ»ÅÍ/ÀÎÅÍ³Ý  > IT Àü¹®¼­  > ³×Æ®¿öÅ©  > ³×Æ®¿öÅ© ÀϹÝ
  • ÀÌ Ã¥ÀÇ ³»¿ë ¹× Ư¡
    Ãâ°£ ÇÑ ´Þ ¸¸¿¡ 5000ºÎ¶ó´Â ³î¶ó¿î ÆÇ¸Å¸¦ º¸ÀΠå! ¿À¶óÀϸ® ÀçÆÒÀÇ ¾ß½ÉÀÛ!

    ÀÌ Ã¥ÀÇ ÁÖÁ¦´Â Àú¼öÁØ ÇÁ·Î±×·¡¹ÖÀÔ´Ï´Ù. Àú¼öÁØÀ̶õ ÄÄÇ»ÅÍÀÇ °üÁ¡¿¡¼­ Æí¸®ÇÏ´Ù´Â °ÍÀ» ¶æÇÕ´Ï´Ù. ¼ÒÇÁÆ®¿þ¾îÀÇ ¼¼°è´Â Ãß»óÈ­ÀÇ °³³äÀ» Á¡Â÷ ´Ã·Á°¡¸ç Áøº¸ÇØ ¿Ô½À´Ï´Ù. ¾î¼Àºí·¯´Â ±â°è¾î¿¡ ´ëÇÑ Ãß»óÈ­À̰í, C ¾ð¾î´Â ¾î¼Àºí·¯¿¡ ´ëÇÑ Ãß»óÈ­ÀÔ´Ï´Ù. ¶ÇÇÑ C ¾ð¾î »óÀ§¿¡´Â C ¾ð¾î·Î ±¸Ã¼È­µÇ´Â °¢Á¾ ½ºÅ©¸³Æ® ¾ð¾î°¡ ÀÖ½À´Ï´Ù. Ãß»óÈ­´Â Àú¼öÁØÀÇ º¹ÀâÇÑ ºÎºÐÀ» °¨Ãß°í, °³¹ßÀÚ°¡ º¸´Ù »ý»êÀûÀÌ°í ¾ÈÀüÇÑ ¹æ¹ýÀ¸·Î ÇÁ·Î±×·¡¹ÖÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.

    ±×·¯³ª Àú¼öÁØÀÇ ±â¼úÀ» ÀüÇô ¸ð¸¥ ä·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. öÀúÈ÷ ¼º´ÉÇâ»óÀ» Ãß±¸Çϰųª ÃÖ´ëÇÑ ½Å·Ú¼ºÀ» ³ôÀ̰íÀÚ ÇÒ ¶§, °¡²û ¹ß»ýÇÏ´Â ¡®Àǹ®ÀÇ ¿¡·¯¡¯¸¦ ÇØ°áÇϰíÀÚ ÇÒ ¶§´Â Àú¼öÁØÀ» ´Ù·ç¾î¾ß ÇÒ Çʿ伺À» ´À³¢°Ô µË´Ï´Ù. À¯°¨½º·´°Ôµµ Ãß»óÈ­°¡ ¸¸´ÉÀº ¾Æ´Ï±â ¶§¹®ÀÔ´Ï´Ù.

    ¿¹¸¦ µé¾î, ·çºñ³ª ÆÞ ½ºÅ©¸³Æ®¿¡¼­ ¼¼±×¸ÕÅ×ÀÌ¼Ç ÆúÆ®(segmentation fault) ¿¡·¯¸¦ ³»¸ç ºñÁ¤»ó Á¾·áµÇ´Â ¹®Á¦°¡ ¹ß»ýµÇ¸é, C ¾ð¾î ·¹º§·Î ³»·Á¿Í ¿øÀÎÀ» ã¾Æ¾ß ÇÕ´Ï´Ù. ¶§·Î´Â ƯÀ¯ÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ¿© ¡®½ÇÇà½Ã°£¿¡ ÇÁ·Î±×·¥ ÀÚ½ÅÀÇ ±â°è¾î Äڵ带 ÀçÀÛ¼º¡¯ÇØ¾ß ÇÏ´Â ±î´Ù·Î¿î ±â¼úÀ» ÇÊ¿ä·Î ÇÏ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¸¸ÀÏ Àú¼öÁØÀÇ ±â¼úÀ» ¸ð¸¥´Ù¸é ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ¾øÀ» °ÍÀÔ´Ï´Ù.

    ÀÌ Ã¥ÀÇ ¸ñÀûÀº ÀÌ¿Í °°Àº °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼ö¸¹Àº ³ëÇÏ¿ì, ¡®Binary Hack¡¯À» ¼Ò°³ÇÏ´Â °ÍÀÔ´Ï´Ù. ¡®Binary Hack¡¯À̶ó´Â ¿ë¾î´Â 0 ¶Ç´Â 1, Áï ÇÁ·Î±×·¡¹Ö¿¡¼­ °¡Àå Àú¼öÁØ¿¡ ÀÖ´Â ¡®Binary¡¯¶ó´Â °³³ä¿¡¼­ À¯·¡ÇÕ´Ï´Ù. ÀÌ Ã¥¿¡¼­´Â ¡®Binary Hack¡¯À» ¡®¼ÒÇÁÆ®¿þ¾îÀÇ Àú¼öÁØ ±â¼úÀ» ÀÌ¿ëÇÑ ÇÁ·Î±×·¡¹Ö ³ëÇϿ졯¶ó Á¤ÀÇÇϰí, ±âº»ÀûÀÎ Åø »ç¿ë¹ý¿¡¼­ º¸¾È ÇÁ·Î±×·¡¹Ö, OS³ª ÇÁ·Î¼¼¼­ÀÇ ±â´ÉÀ» ÀÌ¿ëÇÑ °íµµÀÇ Å×Å©´Ð±îÁö Æø³Ð°Ô ´Ù·ç°í ÀÖ½À´Ï´Ù.
    _¡¸½ÃÀÛÇϸ硹¿¡¼­

    ÀÌ Ã¥ÀÇ ±¸¼º
    1Àå. ¼Ò°³
    Binary HackÀÇ °³³äÀ» ÀÍÈù´Ù. ÀÌ Ã¥¿¡ »ç¿ëµÈ ´Ù¾çÇÑ ±â¼ú¿ë¾î¿¡ ´ëÇÑ ÇØ¼³°ú Binary HackÀÇ °¡Àå ±âº»ÀÌ µÇ´Â ÅøÀ» ¼Ò°³Çϰí ÀÖ´Ù.

    2Àå. ¿ÀºêÁ§Æ® ÆÄÀÏ Hack
    ½ÇÇà ÆÄÀϰú °øÀ¯ ¶óÀ̺귯¸®ÀÇ º»Ã¼ÀÎ ¿ÀºêÁ§Æ® ÆÄÀÏ¿¡ ´ëÇØ ½Éµµ ÀÖ°Ô ¼³¸íÇÑ´Ù. ¸ÕÀú, GNU/¸®´ª½º µî¿¡¼­ »ç¿ëµÇ´Â ELF¿¡ ´ëÇØ ÇØ¼³Çϰí, ¶óÀ̺귯¸®¿¡ °üÇÑ HackÀ» ¼Ò°³ÇÑ´Ù. ¿ÀºêÁ§Æ® ÆÄÀÏ HackÀÇ ±âº»ÀûÀÎ GNU BinutilsÀÇ »ç¿ë¹ýµµ ¼³¸íÇϰí ÀÖ´Ù.

    3Àå. GNU ÇÁ·Î±×·¡¹Ö Hack
    GNU °³¹ßȯ°æ, À̸¦Å׸é GCC, glibc¸¦ ½ÃÀÛÀ¸·Î ÇÏ´Â GNU ¼ÒÇÁÆ®¿þ¾î¿¡´Â ´Ù¾çÇÑ È®Àå±â´ÉÀÌ ÀÖ´Ù. ÀÌ Àå¿¡¼­´Â GNU °³¹ßȯ°æÀÇ ÈûÀ» ÃÖ´ëÇÑ ²ø¾î³»´Â Å×Å©´Ð¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.

    4Àå. º¸¾È ÇÁ·Î±×·¡¹Ö Hack
    º¸¾È ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °ÍÀº Çö´ë¿¡ °¡Àå Áß¿äÇÑ °úÁ¦ Áß Çϳª´Ù. ÀÌ Àå¿¡¼­´Â º¸¾È ÇãÁ¡À» ¸·±â À§ÇÑ Å×Å©´Ð°ú º¸¾È ÇãÁ¡À» ¹ß°ßÇϰí ÅðÄ¡ÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù.

    5Àå. ·±Å¸ÀÓ Hack
    ÇÁ·Î±×·¥ ½ÇÇà ½Ã°£¿¡ ÇÁ·Î±×·¥ÀÌ ÀÚ½ÅÀÇ Äڵ带 ÀçÀÛ¼ºÇϰųª, ÀÚ½ÅÀÇ »óŸ¦ Á¶»çÇÒ ¼ö ÀÖ´Ù¸é Àç¹ÌÀÖÁö ¾Ê°Ú´Â°¡? ÀÌ Àå¿¡¼­´Â ½ÇÇà ÁßÀÎ ÇÁ·Î±×·¥¿¡ ´ëÇØ Àû¿ë °¡´ÉÇÑ ¿©·¯ °¡Áö Å×Å©´ÐÀ» ¼Ò°³ÇÑ´Ù.

    6Àå. ÇÁ·ÎÆÄÀÏ·¯/µð¹ö°Å Hack
    ÀÌ Àå¿¡¼­´Â ÇÁ·ÎÆÄÀÏ·¯¸¦ »ç¿ëÇØ ÇÁ·Î±×·¥ÀÇ º´¸ñÁ¡À» ¾Ë¾Æ³»´Â ¹æ¹ý ¹× °íµµÀÇ µð¹ö°Å »ç¿ë¹ýÀ» ¼Ò°³Çϰí ÀÖ´Ù. ¶ÇÇÑ ÇÁ·ÎÆÄÀÏ·¯·Î gprof, sysprof, oprofileÀ», µð¹ö°Å·Î´Â GDB¸¦ ´Ù·ç°í ÀÖ´Ù.

    7Àå. ±× ¹ÛÀÇ Hack
    ÀÌ Àå¿¡¼­´Â À§¿¡¼­ ºÐ·ùÇÒ ¼ö ¾ø¾ú´ø HackÀ» ´Ù·é´Ù. ¸¶Áö¸· HackÀº Âü°í¹®Çå ¾È³»·Î ¾ÕÀ¸·ÎÀÇ Binary Hack ¾È³»¼­°¡ µÇ¾î ÁÙ ¼­Àû°ú À¥»çÀÌÆ®¸¦ ¼Ò°³Çϰí ÀÖ´Ù.

    ÀÌ Ã¥ÀÇ ÀÌ¿ë¹ý
    ...
    1Àå ¼Ò°³ 1
    1. Binary Hack ÀÔ¹® 1
    2. Binary Hack ¿ë¾î Á¤¸® 4
    3. file - ÆÄÀÏ Á¾·ù È®ÀÎ 12
    4. od - ¹ÙÀ̳ʸ® ÆÄÀÏ ´ýÇÁ 15

    2Àå ¿ÀºêÁ§Æ® ÆÄÀÏ Hack 21
    5. ELF ÀÔ¹® 21
    6. Á¤Àû ¶óÀ̺귯¸®¿Í °øÀ¯ ¶óÀ̺귯¸® 34
    7. ldd - °øÀ¯ ¶óÀ̺귯¸® ÀÇÁ¸°ü°è È®ÀÎ 37
    8. readelf - ELF ÆÄÀÏ Á¤º¸ º¸±â 42
    9. objdump - (1) ¿ÀºêÁ§Æ® ÆÄÀÏ ´ýÇÁ 45
    10. objdump - (2) ¿ÀºêÁ§Æ® ÆÄÀÏ ¿ª¾î¼Àºí 50
    11. objcopy - ½ÇÇà ÆÄÀÏ¿¡ µ¥ÀÌÅÍ »ðÀÔÇϱâ 55
    12. nm - ¿ÀºêÁ§Æ® ÆÄÀÏ¿¡ Æ÷ÇÔµÈ ½Éº¼ È®ÀÎ 56
    13. strings - ¹ÙÀ̳ʸ® ÆÄÀÏ¿¡¼­ ¹®ÀÚ¿­ ÃßÃâ 63
    14. c++filt - C++ ½Éº¼ demangle 65
    15. addr2line - ÁÖ¼Ò¿¡¼­ ÆÄÀϸí°ú Çà ¹øÈ£ ¾ò±â 66
    16. strip - ¿ÀºêÁ§Æ® ÆÄÀÏ¿¡¼­ ½Éº¼ »èÁ¦ 68
    17. ar - Á¤Àû ¶óÀ̺귯¸® ´Ù·ç±â 70
    18. C¿Í C++ ÇÁ·Î±×·¥ ¸µÅ© ¹æ¹ý 71
    19. ¸µÅ©ÇÒ ¶§ ½Éº¼ Ãæµ¹ ¹æÁöÇϱâ 78
    20. GNU/¸®´ª½º ½Ã½ºÅÛ¿¡¼­ °øÀ¯ ¶óÀ̺귯¸®¿¡ PIC¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯ 85
    21. statifier - µ¿Àû ½ÇÇà ÆÄÀÏ¿¡¼­ ÀÇ»ç Á¤Àû ½ÇÇà ÆÄÀÏ »ý¼º 89

    3Àå GNU ÇÁ·Î±×·¡¹Ö Hack 93
    2...
    ¾ß½Ã »çÅä·ç(Satoru Takabayashi) [Àú]
    ¿ìÄ«ÀÌ ÈĹÌÅä½Ã(Fumitoshi Ukai) [Àú]
    »çÅä À¯½ºÄÉ(Yusuke Sato) [Àú]
    Çϸ¶Áö ½ÅÀÌÄ¡·Î(Shinichiro Hamaji) [Àú]
    ½´µµ Ä«ÁîÀ¯Å°(Kazuyuki Shudo) [Àú]
    Áø¸íÁ¶ [¿ª]
    °í·Á´ëÇб³ Àç·á°øÇкθ¦ Á¹¾÷ÇÏ°í ¢ß¿À´Ã°ú³»ÀÏ ¿¬±¸¼Ò¿¡¼­ ±Ù¹« ÁßÀÌ´Ù. [ÀÔ¹®ÀÚ¸¦ À§ÇÑ ·çºñ](2009), [Binary Hacks : ÇØÄ¿°¡ Àü¼öÇÏ´Â Å×Å©´Ð 100¼±](2007), [C¾ð¾î·Î ¹è¿ì´Â ¾Ë°í¸®Áò ÀÔ¹®](2004) µîÀ» ¹ø¿ªÇÏ¿´´Ù. IT °³¹ßÀÚÀÇ »î ¼Ó¿¡¼­ ÀÛÀº º¸¶÷À» ã°íÀÚ ¿À´Ãµµ ÁÖ¾îÁø ¾÷¹«¿¡ ÃÖ¼±À» ´ÙÇϰí ÀÖ´Ù.
     
    • ÀÎÅÍÆÄÅ©µµ¼­ »õ»óǰ
    • »óǰ¹è¼ÛÀ» ½ÃÀÛÇÑ ´ÙÀ½³¯ºÎÅÍ 14ÀÏ À̳» ±³È¯/¹ÝǰÀÌ °¡´ÉÇÕ´Ï´Ù.
    • °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯/¹Ýǰ½Ã ¹ÝǰÅùèºñ¿ëÀº °í°´´Ô²²¼­ ÁöºÒÇÏ¼Å¾ß ÇÕ´Ï´Ù.
      ´Ü, ¾÷ü¹è¼Û »óǰÀÎ °æ¿ì °í°´ º¯½É¿¡ ÀÇÇÑ ±³È¯/¹Ýǰ¿¡ ÀÇÇÏ¿© ¹ß»ýÇÏ´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÇÏ¼Å¾ß ÇÕ´Ï´Ù.
    • »óǰÀ̳ª ¼­ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯/¹ÝǰÀÏ °æ¿ì ¸ðµç ºñ¿ëÀº ÀÎÅÍÆÄÅ©µµ¼­°¡ ºÎ´ãÇÏ°Ô µË´Ï´Ù.
    • ¹è¼ÛµÈ »óǰÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì ±³È¯/¹ÝǰÀÌ ºÒ°¡ÇÕ´Ï´Ù.
      (´Ü, »óǰÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì¿¡´Â ¹Ýǰ/±³È¯ÀÌ °¡´ÉÇÕ´Ï´Ù.)
    • ¿©·¯°÷ÀÇ ¹è¼ÛÁö·Î »óǰÀÌ ¹è¼ÛµÈ °æ¿ì ¿©·¯ Áö¿ªÀÇ ±³È¯/¹ÝǰÀ» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù. (1°³ Áö¿ª ±³È¯/¹Ýǰ ¿Ï·á ÈÄ ´Ù¸¥ Áö¿ª ÁøÇà °¡´É)
    • ¹ÝǰÁ¢¼ö ¾øÀÌ ¹Ý¼ÛÇϰųª, ¿ìÆíÀ¸·Î º¸³¾ °æ¿ì »óǰ È®ÀÎÀÌ ¾î·Á¿ö ȯºÒÀÌ ºÒ°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
    • µµ¸Å»ó ¹× Á¦ÀÛ»ç »çÁ¤¿¡ µû¶ó ǰÀý/ÀýÆÇ µîÀÇ »çÀ¯·Î ÁÖ¹®ÀÌ Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ÀÎÅÍÆÄÅ©µµ¼­¿¡¼­ °í°´´Ô²² º°µµ·Î ¿¬¶ôÀ» µå¸³´Ï´Ù.
    • Ãâ°í°¡´É½Ã°£ÀÌ ¼­·Î´Ù¸¥ »óǰÀ» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óǰÀ» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.