ÇÁ·Î±×·¡¹Ö

 3198, 1/160 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   zung3211
   µð½º ¾î¼ÀºíÁ»... ¤Ð¤Ð

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3108 [º¹»ç]


source.c ------------

main() {
int a, b;
}

----------------------

ÀÌ ¼Ò½º´Â Á¤¼öÇü º¯¼ö a, b ¿¡ ´ëÇÑ °ø°£À» ¸Þ¸ð¸® »ó¿¡ ¸¶·ÃÇØ ÁÝ´Ï´Ù.

À§ ¼Ò½º¸¦ µð½º¾î¼Àºí ÇØº¸¸é

0x80483d0 : push   %ebp             -ºê·¹ÀÌÅ© Æ÷ÀÎÆ® (ÀÌÀü Á¤º¸¸¦ º¸Á¸ÇϱâÀ§ÇÔ?)
0x80483d1 : mov    %esp,%ebp      -ºê¸®¿¡Å© Æ÷ÀÎÆ®ÁÖ¼Ò¸¦ esp¿¡ º¹»ç
0x80483d3 : sub     $0x8,%esp       À̰ǹ¹ÁÒ??
0x80483d6 : leave
0x80483d7 : ret

level11 À» ±ú°íÀִµ¥..

µð½º¾î¼ÀÇϸé

Àú°ÍºÎÅÍ ³ª¿À°í,  ÂßÂß ³ª¿À´Âµ¥¿ä..

¾î¼Àºí ¸í·É¾îµµ ã¾Æº¸°í µÚÁ®”f´Âµ¥

µµ¹«Áö ÀÌÇØ°¡ ¾ÈµÇ¼­¿ä..


sub   8,esp ´Â ¹»¶æÇϴ°ÅÁÒ?

  Hit : 3531     Date : 2011/07/29 06:32



    
profreez int a, b;
Á¤¼öÇüÀº 4¹ÙÀÌÆ® Å©±âÀ롂 ¾Æ½ÃÁÒ? printf("%d\n", sizeof(int));

º¸Åë ÇÔ¼ö¾È¿¡ ÀÖ´Â º¯¼ö(int a, b;)µéÀº ½ºÅà ¿µ¿ªÀÇ ¸Þ¸ð¸®¿¡ ÇÒ´çµË´Ï´Ù.
esp ´Â extended stack pointer Áï ½ºÅÃÀ» °¡¸£Å°´Â º¯¼öÀ̰í

Àú°ªÀ» ´õÇÏ°í »©ÁÜ¿¡ µû¶ó º¯¼ö¸¦ Á¦°Å(´õÇϱâ), ÇÒ´ç(»©±â) ÇØÁÝ´Ï´Ù.
2011/07/29  
profreez ¾î¼À ºÐ¼®ÇÒ¶§ ¾Æ·¡¿Í °°ÀÌ Çѹø ÇØº¸¼¼¿ä.

[level1@ftz tmp]$ cat source.c
test(int c, int d) {}
main() {
int a, b;
test(a,b);
}

[level1@ftz tmp]$ gcc -g -o source source.c
[level1@ftz tmp]$ objdump -Sd -M intel source
2011/07/29