|
|
|
 |
ÆÇ¸Å°¡ |
24,000¿ø ¡æ 22,800¿ø 5% |
|
 |
¸¶Àϸ®Áö |
10% 2,280¿ø |
|
 |
¹ßÇàÀÏ |
2007-07-10
|
 |
ISBN |
8990758742 | 9788990758743
|
 |
±âŸÁ¤º¸ |
¹ø¿ª¼ | 476ÂÊ
|
|
 |
¿¹»óÃâ°íÀÏ
|
1ÀÏ (±Ù¹«ÀϱâÁØ) |
 |
¹è¼Ûºñ |
¹«·á¹è¼Û
|
| |
|
|
|
|
|
 |
| º¸¾È/¾ÈÀü
|
|
|
| Á¾ÇÕÁö¼ö 20p 25 À§ |
|
| ¿ù°£Áö¼ö 33p 9 À§ |
|
|
| |
|
¡Ø ³×À̹ö üũ¾Æ¿ôÀ¸·Î ±¸¸Å½Ã ºñȸ¿øÀ¸·Î ±¸¸Å°¡
µÊÀ¸·Î °ÄÄ ¸¶Àϸ®Áö´Â Àû¸³ µÇÁö ¾Ê½À´Ï´Ù. |
|
|
|
 |
|
Ãâ°£ ÇÑ ´Þ ¸¸¿¡ 5000ºÎ¶ó´Â ³î¶ó¿î ÆÇ¸Å¸¦ º¸ÀΠå! ¿À¶óÀϸ® ÀçÆÒÀÇ ¾ß½ÉÀÛ! ÀÌ Ã¥ÀÇ ÁÖÁ¦´Â Àú¼öÁØ ÇÁ·Î±×·¡¹ÖÀÔ´Ï´Ù. Àú¼öÁØÀ̶õ ÄÄÇ»ÅÍÀÇ °üÁ¡¿¡¼ Æí¸®ÇÏ´Ù´Â °ÍÀ» ¶æÇÕ´Ï´Ù. ¼ÒÇÁÆ®¿þ¾îÀÇ ¼¼°è´Â Ãß»óÈÀÇ °³³äÀ» Á¡Â÷ ´Ã·Á°¡¸ç Áøº¸ÇØ ¿Ô½À´Ï´Ù. ¾î¼Àºí·¯´Â ±â°è¾î¿¡ ´ëÇÑ Ãß»óÈÀ̰í, C ¾ð¾î´Â ¾î¼Àºí·¯¿¡ ´ëÇÑ Ãß»óÈÀÔ´Ï´Ù. ¶ÇÇÑ C ¾ð¾î »óÀ§¿¡´Â C ¾ð¾î·Î ±¸Ã¼ÈµÇ´Â °¢Á¾ ½ºÅ©¸³Æ® ¾ð¾î°¡ ÀÖ½À´Ï´Ù. Ãß»óÈ´Â Àú¼öÁØÀÇ º¹ÀâÇÑ ºÎºÐÀ» °¨Ãß°í, °³¹ßÀÚ°¡ º¸´Ù »ý»êÀûÀÌ°í ¾ÈÀüÇÑ ¹æ¹ýÀ¸·Î ÇÁ·Î±×·¡¹ÖÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
±×·¯³ª Àú¼öÁØÀÇ ±â¼úÀ» ÀüÇô ¸ð¸¥ ä·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. öÀúÈ÷ ¼º´ÉÇâ»óÀ» Ãß±¸Çϰųª ÃÖ´ëÇÑ ½Å·Ú¼ºÀ» ³ôÀ̰íÀÚ ÇÒ ¶§, °¡²û ¹ß»ýÇÏ´Â ¡®Àǹ®ÀÇ ¿¡·¯¡¯¸¦ ÇØ°áÇϰíÀÚ ÇÒ ¶§´Â Àú¼öÁØÀ» ´Ù·ç¾î¾ß ÇÒ Çʿ伺À» ´À³¢°Ô µË´Ï´Ù. À¯°¨½º·´°Ôµµ Ãß»óȰ¡ ¸¸´ÉÀº ¾Æ´Ï±â ¶§¹®ÀÔ´Ï´Ù.
¿¹¸¦ µé¾î, ·çºñ³ª ÆÞ ½ºÅ©¸³Æ®¿¡¼ ¼¼±×¸ÕÅ×ÀÌ¼Ç ÆúÆ®(segmentation fault) ¿¡·¯¸¦ ³»¸ç ºñÁ¤»ó Á¾·áµÇ´Â ¹®Á¦°¡ ¹ß»ýµÇ¸é, C ¾ð¾î ·¹º§·Î ³»·Á¿Í ¿øÀÎÀ» ã¾Æ¾ß ÇÕ´Ï´Ù. ¶§·Î´Â ƯÀ¯ÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ¿© ¡®½ÇÇà½Ã°£¿¡ ÇÁ·Î±×·¥ ÀÚ½ÅÀÇ ±â°è¾î Äڵ带 ÀçÀÛ¼º¡¯ÇØ¾ß ÇÏ´Â ±î´Ù·Î¿î ±â¼úÀ» ÇÊ¿ä·Î ÇÏ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¸¸ÀÏ Àú¼öÁØÀÇ ±â¼úÀ» ¸ð¸¥´Ù¸é ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ¾øÀ» °ÍÀÔ´Ï´Ù.
ÀÌ Ã¥ÀÇ ¸ñÀûÀº ÀÌ¿Í °°Àº °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼ö¸¹Àº ³ëÇÏ¿ì, ¡®Binary Hack¡¯À» ¼Ò°³ÇÏ´Â °ÍÀÔ´Ï´Ù. ¡®Binary Hack¡¯À̶ó´Â ¿ë¾î´Â 0 ¶Ç´Â 1, Áï ÇÁ·Î±×·¡¹Ö¿¡¼ °¡Àå Àú¼öÁØ¿¡ ÀÖ´Â ¡®Binary¡¯¶ó´Â °³³ä¿¡¼ À¯·¡ÇÕ´Ï´Ù. ÀÌ Ã¥¿¡¼´Â ¡®Binary Hack¡¯À» ¡®¼ÒÇÁÆ®¿þ¾îÀÇ Àú¼öÁØ ±â¼úÀ» ÀÌ¿ëÇÑ ÇÁ·Î±×·¡¹Ö ³ëÇϿ졯¶ó Á¤ÀÇÇϰí, ±âº»ÀûÀÎ Åø »ç¿ë¹ý¿¡¼ º¸¾È ÇÁ·Î±×·¡¹Ö, OS³ª ÇÁ·Î¼¼¼ÀÇ ±â´ÉÀ» ÀÌ¿ëÇÑ °íµµÀÇ Å×Å©´Ð±îÁö Æø³Ð°Ô ´Ù·ç°í ÀÖ½À´Ï´Ù.
|
 |
|
 |
Â÷ ·Ê 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 22. GCC È®Àå±â´É ÀÔ¹® 94 23. GCC·Î ÀζóÀÎ ¾î¼Àºí·¯ »ç¿ë 100 24. GCC ºôÆ®ÀÎ ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ÃÖÀûÈ 105 25. glibc¸¦ ÀÌ¿ëÇÏÁö ¾ÊÀº ¡°Hello World¡± 109 26. TLS(Thread Local Storage) 114 27. glibc·Î ½Ã½ºÅÛ È¯°æ¿¡ µû¶ó ¶óÀ̺귯¸® ÀüȯÇϱâ 116 28. ¸µÅ©µÈ ¶óÀ̺귯¸®¿¡ µû¶ó ÇÁ·Î±×·¥ µ¿ÀÛ ¹Ù²Ù±â 120 29. ¶óÀ̺귯¸® ¿ÜºÎ¿¡ °ø°³ÇÒ ½Éº¼ Á¦ÇÑ 122 30. ȣȯ¼º °ü¸®¸¦ À§ÇØ ¹öÀüº° ½Éº¼ »ç¿ë 126 31. main( ) ÇÔ¼ö ÀÌÀü¿¡ ÇÔ¼öÈ£ÃâÇϱâ 134 32. ½ÇÇà Áß¿¡ GCC°¡ Æ®·¥ÆÞ¸° Äڵ带 »ý¼ºÇÏ´Â ¹æ¹ý 138 33. ½ºÅÿ¡ ÀÖ´Â ÄÚµåÀÇ ½ÇÇà Çã¿ë/±ÝÁö 140 34. Èü¿¡ ÀÖ´Â ÄÚµå ½ÇÇà 142 35. PIE(Position Independant Executable, À§Ä¡µ¶¸³½ÇÇàÇü½Ä) »ý¼º 144 36. C++·Î synchronized method ÀÛ¼º 147 37. C++·Î ½Ì±ÛÅæ »ý¼º 152 38. g++ ¿¹¿Ü ó¸® ÀÌÇØ(throw) 158 39. g++ ¿¹¿Ü ó¸® ÀÌÇØ(SjLj) 160 40. g++ ¿¹¿Ü ó¸® ÀÌÇØ(DWARF2) 168 41. g++ ¿¹¿Ü ó¸®ÀÇ ½ÇÇà ½Ã°£ ºñ¿ë 172
4Àå º¸¾È ÇÁ·Î±×·¡¹Ö Hack 177 42. GCC º¸¾È ÇÁ·Î±×·¡¹Ö ÀÔ¹® 177 43. -ftrapv·Î Á¤¼ö ¿¬»ê ¿À¹öÇ÷Π°ËÃâ 182 44. Mudflap - ¹öÆÛ ¿À¹öÇ÷Π°ËÃâ 186 45. -D_FORTIFY_SOURCE·Î ¹öÆÛ ¿À¹öÇ÷Π°ËÃâ 190 46. -fstack-protector·Î ½ºÅà º¸È£ 194 47. bitmask »ç¿ë ½Ã unsigned¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯ 198 48. big shift ÀÛ¾÷ÀÌ À§ÇèÇÑ ÀÌÀ¯ 200 49. 64ºñÆ® ȯ°æ¿¡¼ 0°ú NULLÀÇ Â÷ÀÌÁ¡ 202 50. POSIX ½º·¹µå ¾ÈÀüÇÑ ÇÔ¼ö 205 51. ½Ã±×³Î Çڵ鷯 ¾ÈÀüÇÏ°Ô ÀÛ¼ºÇϱâ 209 52. sigwait - ºñµ¿±â ½Ã±×³ÎÀ» µ¿±âÀûÀ¸·Î ó¸®Çϱâ 215 53. sigsafe - ¾ÈÀüÇÏ°Ô ½Ã±×³Î ó¸®Çϱâ 220 54. Valgrind - (1) ¸Þ¸ð¸® ´©¼ö °ËÃâÇϱâ 230 55. Valgrind - (2) ºñÁ¤»óÀûÀÎ ¸Þ¸ð¸® Á¢±Ù °ËÃâÇϱâ 233 56. Helgrind - ¸ÖƼ½º·¹µå ÇÁ·Î±×·¥ µð¹ö±×Çϱâ 237 57. fakeroot - °ÅÁþ root ±ÇÇÑÀ¸·Î ÇÁ·Î¼¼½º ½ÇÇàÇϱâ 241
5Àå ·±Å¸ÀÓ Hack 245 58. ÇÁ·Î±×·¥ÀÌ main( )¿¡ µµ´ÞÇϱâ±îÁöÀÇ °úÁ¤ 245 59. ½Ã½ºÅÛÄÝÀ» È£ÃâÇÏ´Â ¹æ¹ý 255 60. LD_PRELOAD·Î °øÀ¯ ¶óÀ̺귯¸® ±³Ã¼Çϱâ 259 61. LD_PRELOAD·Î ±âÁ¸ ÇÔ¼ö ·¡ÇÎÇϱâ 262 62. dlopen - ½ÇÇà Áß¿¡ µ¿Àû ¸µÅ©Çϱâ 265 63. C·Î ¹éÆ®·¹À̽º Ç¥½Ã 270 64. ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½ºÀÇ Àý´ë°æ·Î È®ÀÎ 276 65. ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½º¿¡¼ ·ÎµåÇϰí ÀÖ´Â °øÀ¯ ¶óÀ̺귯¸® È®ÀÎ 280 66. ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ¸Ê È®ÀÎ 286 67. libbfd - ½Éº¼ ¿°ÅÇϱâ 292 68. ½ÇÇà Áß¿¡ C++ ½Éº¼ demangleÇϱâ 297 69. ffcall - µ¿Àû ½Ã±×´Ïó·Î ÇÔ¼öÈ£Ãâ 300 70. libdwarf - µð¹ö±× Á¤º¸ ¾ò±â 305 71. dumper - ±¸Á¶Ã¼ µ¥ÀÌÅ͸¦ º¸±â ½±°Ô ´ýÇÁÇϱâ 310 72. ¿ÀºêÁ§Æ® ÆÄÀÏÀ» Á÷Á¢ ·ÎµåÇϱâ 314 73. libunwind - ÄÝ Ã¼ÀÎ Á¦¾îÇϱâ 322 74. GNU lightning - ½ÇÇà Áß¿¡ ÀÌ½Ä °¡´ÉÇÑ ÄÚµå »ý¼ºÇϱâ 326 75. ½ºÅà ¿µ¿ªÀÇ ÁÖ¼Ò ¾ò±â 329 76. sigaltstack - ½ºÅà ¿À¹öÇ÷ο¡ ´ëóÇϱâ 335 77. ÇÔ¼ö ÁøÀÔ(enter)/Á¾·á(exit) ÈÄÅ·Çϱâ 347 78. ½Ã±×³Î Çڵ鷯·Î ÇÁ·Î±×·¥ ÄÁÅØ½ºÆ® º¯°æÇϱâ 350 79. ÇÁ·Î±×·¥ Ä«¿îÅÍ °ª ¾ò±â 352 80. ÀÚ±â¼öÁ¤ÄÚµå·Î ÇÁ·Î±×·¥ µ¿ÀÛ º¯°æ 353 81. SIGSEGV·Î ÁÖ¼Ò Á¢±Ù À¯È¿¼º È®ÀÎ 357 82. strace - ½Ã½ºÅÛÄÝ ÃßÀûÇϱâ 360 83. ltrace - °øÀ¯ ¶óÀ̺귯¸®ÀÇ ÇÔ¼öÈ£Ãâ ÃßÀûÇϱâ 362 84. Jockey·Î ¸®´ª½º ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» ±â·Ï, Àç»ýÇϱâ 364 85. prelink - ÇÁ·Î±×·¥ ±âµ¿ Çâ»ó½Ã۱â 366 86. livepatch - ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½º ÆÐÄ¡Çϱâ 370
6Àå ÇÁ·ÎÆÄÀÏ·¯쪾µð¹ö°Å Hack 379 87. gprof - ÇÁ·ÎÆÄÀÏ Á¶»çÇϱâ 379 88. sysprof - ½Ã½ºÅÛ ÇÁ·ÎÆÄÀÏ Á¶»çÇϱâ 383 89. oprofile - »ó¼¼ÇÑ ½Ã½ºÅÛ ÇÁ·ÎÆÄÀÏ ¾ò±â 385 90. GDB - ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½º Á¦¾îÇϱâ 390 91. Çϵå¿þ¾î µð¹ö±× ±â´É »ç¿ëÇϱâ 393 92. C ÇÁ·Î±×·¥¿¡¼ Áß´ÜÁ¡ ¼³Á¤Çϱâ 397 7Àå ±× ¹ÛÀÇ Hack 399 93. Boehm GCÀÇ ±¸Á¶ 399 94. ÇÁ·Î¼¼¼ÀÇ ¸Þ¸ð¸® Á¤·Ä 406 95. PCLÀ» ÀÌ¿ëÇÑ °æ·® º´Çàó¸® 411 95. CPU Ŭ·Ï ¼ö ¼¼±â 414 97. ºÎµ¿¼Ò¼öÁ¡ ¼öÀÇ ºñÆ® Ç¥Çö 419 98. x86 ºÎµ¿¼Ò¼öÁ¡ ¿¬»êÀÚÀÇ Æ¯¼º 421 99. °á°ú°¡ ¹«ÇÑ´ë ¶Ç´Â NaNÀÎ ¿¬»ê¿¡¼ ½Ã±×³Î ¹ß»ýÇϱâ 426 100. ¹®Çå¾È³» 429
ã¾Æº¸±â 439
|
 |
|
 |
Ÿī¹Ù¾ß½Ã »çÅä·ç _ Satoru Takabayashi ¿ìÄ«ÀÌ ÈĹÌÅä½Ã _ Fumitoshi Ukai »çÅä À¯½ºÄÉ _ Yusuke Sato Çϸ¶Áö ½ÅÀÌÄ¡·Î _ Shinichiro Hamaji ½´µµ Ä«ÁîÀ¯Å° _ Kazuyuki Shudo
Áø¸íÁ¶ °í·Á´ëÇб³ Àç·á°øÇкθ¦ Á¹¾÷Çϰí Áö±ÝÀº (ÁÖ)¿À´Ã°ú³»ÀÏ ¿¬±¸¼Ò °³¹ßÆÀ¿¡¼ ±Ù¹«Çϰí ÀÖ´Ù. ÃÖ±Ù µé¾î¼ ÀΰøÁö´É°ú ½Ã½ºÅÛ °ü¸®ÀÇ °áÇÕ¿¡ °ü½ÉÀÌ ¸¹¾ÆÁ® °ü·Ã ¼Àû ޵¶¿¡ ºüÁ® ÀÖÀ¸¸ç, ¡ºC ¾ð¾î·Î ¹è¿ì´Â ¾Ë°í¸®Áò ÀÔ¹®¡»(2004, ÇѺû¹Ìµð¾î)À» ¹ø¿ªÇϱ⵵ ÇÏ¿´´Ù. |
 |
|
|
|
|
|
|
|
|
|
|
|