ÇÁ·Î±×·¡¹Ö

 3206, 1/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   indra
   http://indra.linuxstudy.pe.kr
   [re] [Áú¹®] gcc 2.96ÀÌ ±ò·ÁÀִ°÷¿¡¼­ 2.91¹öÀüÀ¸·Î ÄÄÆÄÀÏÇÒ·Á¸é...

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=142 [º¹»ç]


[root@indra tmp]# alias gdb='gdb -q'
[root@indra tmp]# cat 1.c
int main() { char buf[128]; }
[root@indra tmp]# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)
[root@indra tmp]# gcc -o 1 1.c
[root@indra tmp]# gdb 1
(gdb) disas main
Dump of assembler code for function main:
0x80483d0 <main>:       push   %ebp
0x80483d1 <main+1>:     mov    %esp,%ebp
0x80483d3 <main+3>:     sub    $0x88,%esp
..
End of assembler dump.
(gdb) q
[root@indra tmp]# gcc -o 1 -mpreferred-stack-boundary=2 1.c
[root@indra tmp]# gdb 1
(gdb) disas main
Dump of assembler code for function main:
0x80483d0 <main>:       push   %ebp
0x80483d1 <main+1>:     mov    %esp,%ebp
0x80483d3 <main+3>:     add    $0xffffff80,%esp
..
End of assembler dump.
(gdb) q
[root@indra tmp]#

óÀ½ ¿É¼ÇÀ» ¾ÈÁÖ°í ÄÄÆÄÀÏ ÇßÀ»¶§ 0x88 ¸¸Å­ stack size °¡ ÀâÇû½À´Ï´Ù.
0x88 À̶õ 16Áø¼öÀÌ°í 10Áø¼ö·Î °è»êÇßÀ»¶§´Â 136 ÀÌÁö¿ä.
µÎ¹ø° ¿É¼ÇÀ» ÁÖ°í ÄÄÆÄÀÏ ÇßÀ»¶§´Â $0xffffff80 À̶ó°í µÇ¾î Àִµ¥
ÀÌ´Â %esp ÀÇ ÁÖ¼Ò¿¡¼­ 0xffffff80 ¸¸Å­À» add Çß´Ù´Â ¶æÀÌ µË´Ï´Ù.
0xffffffff - 0xffffff80 = 7F (127), 0 ºÎÅÍ °è»êÇÏ´Ï +1,
Áï 128 ¹ÙÀÌÆ® ¸¸Å­ Á¤È®ÇÏ°Ô ¸Â¾Æ ¶³¾î Áý´Ï´Ù.
´õ¹Ì°¡ 8 ¹ÙÀÌÆ® ¸¸Å­ ºÙ¾î Àִٴ°ÍÀ» ¾Ë¼ö ÀÖ½À´Ï´Ù.
BOF ¸¦ ÇϽǶ§ gdb ¸¦ »ç¿ëÇϽǼö ÀÖÀ¸½Ã¸é gdb ·Î ÇØ´ç stack ¿¡ ÀâÈù °ªÀ»
Á÷Á¢ º¸½Å ÈÄ °è»êÇϽô °ÍÀÌ ÁÁÀ»µí ½Í½À´Ï´Ù.


>¿­½ÉÈ÷ ÇÏ°í ÀÖ´Â Ãʺ¸ÀÔ´Ï´Ù.
>gcc 2.96¹öÀüÀÌ ±ò·ÁÀÖ½À´Ï´Ù.
>
>gcc -o egg egg.c -mpreferred-stack-boundary=2
>
>¿Í °°ÀÌ Çϸé 2.95ÀÌÇÏ ¹öÀüÀ¸·Î ÄÄÆÄÀÏ µÇ¾î ½ºÅñ¸Á¶ ¶ÇÇÑ ´õ¹Ì ¾ø´Â ¿¾³¯°ÍÀ¸·Î
>µÈ´Ù°í ¾óÇÍ µé¾ú½À´Ï´Ù.
>
>±×·¡¼­ Àúµµ À§¿Í °°ÀÌ Çغôµ¥ ½ºÅôýÇÁÇØ º» °á°ú ¶È°°ÀÌ ³ª¿À´õ¶ó±¸¿ä.
>À§¿Í °°ÀÌ ÇÏ¸é ´Ù¸£°Ô µÇ±ä µÇ´Â°Ç°¡¿ä. -_-;; Ãʺ¸¶ó ¾ÆÁ÷ ¸ð¸£´Â°Ô ¸¹¾Æ¿ä.
>Â÷ÀÌÁ¡À» Á¤È®È÷ ¾Ë ¼ö ÀÖ´Â ¹æ¹ýÀ» ¾Ë·ÁÁÖ¼¼¿ä.(gcc ¹öÀüÀ» ´Ù½Ã ±î´Â°ÍÀ» Á¦¿ÜÇÏ°í)
>^^;;
>
>PS. FTZ ¼­¹ö ÅÚ³Ý Á¢¼ÓÀÌ ¾ÈµÇ´øµ¥ ¿Ö ±×·¸ÁÒ? °¡²û ¾ÈµÇ¿ä.

  Hit : 4145     Date : 2003/10/11 08:34



    
3206   SNSÇØÅ·ÀÌ µÇ³ª¿ë? µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð¤Ð [2]     ÇÑä¹Î
02/28 332
3205   Ä¡Æ®¿£Áø °í¼öºÐ °è½Ç±î¿ä[1]     rjsdudals123
02/15 185
3204   ¿À·ù Á» ã¾ÆÁÖ¼¼¿ä [1]     marunim
05/30 915
3203 ºñ¹Ð±ÛÀÔ´Ï´Ù  124     minsub87
08/17 1
3202   c¾ð¾î segmentation fault:11 ¿À·ù Áú¹®µå¸³´Ï´Ù![2]     leebk1124
05/21 2006
3201   C++ÇÔ¼ö°ü·Ã Áú¹®ÀÌ¿¡¿ë!![3]     1999dylee
05/11 1840
3200   ÆÄÀ̽ã Áö¹® µå¸³´Ï´Ù.[1]     kksh1107
04/24 1581
3199   ¸®¹ö½ÌÀÇ ¼¼¹ø¤Š ²É - ¿ª¶û-     nninni79
04/20 2285
3198   ´Þ°í³ª ¹®¼­ ½©ÄÚµå[1]     ghjk645
03/24 1604
3197 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î ¼Ò¼ö °ª     adwefq
04/29 0
3196   C¾ð¾î ¼Ò½ºÁú¹®ÀÔ´Ï´Ù![5]     an0088
01/05 5115
3195   C++ /// ºôµå ¿¡·¯ ¤Ð¤Ð[1]     guichanta
08/23 2394
3194 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î µµ¿ÍÁÖ¼¼¿ä¤Ð¤Ð     su6339
04/06 0
3193   ÇØÅ·À» ¹è¿ì·Á°íÇϴµ¥[3]     zoodem04
03/26 4179
3192   c¾ð¾î¸¦ ¹è¿ì°í½Í¾î¿ä ![7]     dwc07238
02/11 4060
3191   ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâ¿¡ °üÇؼ­!![1]     hackxx123
12/10 3512
3190   ÇØÅ·Åø¿¡¼­ ip ¾øÀÌ Çϵ忡 ½É´Â°Å¿¡´Â ¾î¶²°Ô ÀÖÀ»±î¿ä?[2]     aowlrgmlals
11/27 4273
3189   C¾ð¾î Çϴµ¥ double ½Ç¼ö¸¦ ³ÖÀºµ¥ ÀÚ²Ù 0.0ÀÌ ³ª¿Í¿ä[2]     fatou10336
11/20 3722
3188   dumpcode.h ÀÌÇØÁ» µµ¿ÍÁÖ¼¼¿ä .[1]     cm6418
11/06 3701
3187   c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.[3]     alstn8150
10/12 3726
1 [2][3][4][5][6][7][8][9][10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org