1581, 20/80 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   CodeAche
   [ÀÚÀÛ] Linux Reverse Engineering - printf,scanf,puts,variable

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


#include<stdio.h>
  int main(int argc,char **argv)
  {
  int i=10;
  printf("%d\n",i);
  int j=20;
  printf("%d\n",j);
  printf("%d\n",i+5);
  printf("%x\n",&i);
  puts("test");
  puts(i);
  scanf("%d",&i);
  printf("%d\n",i);
  return 1;
  }

FreeBSD 8.0-RELEASE #0 (gcc 4.2.1)
0x08048470 <main+0>:    lea    ecx,[esp+4]
0x08048474 <main+4>:    and    esp,0xfffffff0
0x08048477 <main+7>:    push   DWORD PTR [ecx-4]
0x0804847a <main+10>:   push   ebp
0x0804847b <main+11>:   mov    ebp,esp
0x0804847d <main+13>:   push   ecx
----------------ÇÁ·Ñ·Î±×-------------------
0x0804847e <main+14>:   sub    esp,0x24
//¿Ö esp¿¡¼­ 24 ºüÁö´ÂÁö ¸ð¸£°ÚÀ½. ¾Æ¸¶ ½ºÅÃÀÌ »ç¿ëµÉ¶§ »ç¿ëµÉ¸¸Å­ Âß ºüÁ³´Ù°¡ +·Î ¿Ã¶ó°¡´Â ¹æ½ÄÀ» »ç¿ëÇϴµí..
0x08048481 <main+17>:   mov    DWORD PTR [ebp-12],0xa
//ebp-12 = i  = 10;
0x08048488 <main+24>:   mov    eax,DWORD PTR [ebp-12]
//i°ªÀ» eax¿¡ ³ÖÀ½.
0x0804848b <main+27>:   mov    DWORD PTR [esp+4],eax
//printfÀÇ µÎ¹ø° ÀÎÀÚ. printf(" ",À̺κÐ).   eax¸¦ esp+4¿¡ ³Ö´Â´Ù.
0x0804848f <main+31>:   mov    DWORD PTR [esp],0x80485c1
//printfÀÇ Ã¹¹ø° ÀÎÀÚ. printf("À̺κÐ", );
0x08048496 <main+38>:   call   0x8048324 <_init+68>
//printf()¼öÇà. esp¿Í esp+4¸¦ ÀÌ¿ëÇÏ¿© Ãâ·Â.
0x0804849b <main+43>:   mov    DWORD PTR [ebp-8],0x14
//ebp-12 = i    ebp-8 = j = 20;
0x080484a2 <main+50>:   mov    eax,DWORD PTR [ebp-8]
0x080484a5 <main+53>:   mov    DWORD PTR [esp+4],eax
0x080484a9 <main+57>:   mov    DWORD PTR [esp],0x80485c1
0x080484b0 <main+64>:   call   0x8048324 <_init+68>
//printf(0x80485c1,j);
0x080484b5 <main+69>:   mov    eax,DWORD PTR [ebp-12]
//i°ªÀ» eax¿¡ ³ÖÀ½. ¿©±â¼± 10
0x080484b8 <main+72>:   add    eax,0x5
//eax = eax+5 = i+5 =15
0x080484bb <main+75>:   mov    DWORD PTR [esp+4],eax
0x080484bf <main+79>:   mov    DWORD PTR [esp],0x80485c1
0x080484c6 <main+86>:   call   0x8048324 <_init+68>
//printf("%d\n",i+5);
0x080484cb <main+91>:   lea    eax,[ebp-12]
//eax ¿¡ ebp-12ÀÇ ÁÖ¼Ò°ªÀ» ³ÖÀ½. eax = &(ebp-12) = &i
0x080484ce <main+94>:   mov    DWORD PTR [esp+4],eax
0x080484d2 <main+98>:   mov    DWORD PTR [esp],0x80485c5
0x080484d9 <main+105>:  call   0x8048324 <_init+68>
//printf("%x\n",&i);
0x080484de <main+110>:  mov    DWORD PTR [esp],0x80485c9
//esp´Â init+36ÀÇ ÀÎÀÚ.
0x080484e5 <main+117>:  call   0x8048304 <_init+36>
//putsÀÓ
0x080484ea <main+122>:  mov    eax,DWORD PTR [ebp-12]
//eax¿¡ i°ª ´ëÀÔ.
0x080484ed <main+125>:  mov    DWORD PTR [esp],eax
//i¸¦ esp¿¡ ³ÖÀ½.
0x080484f0 <main+128>:  call   0x8048304 <_init+36>
//puts(esp) = puts(i)
0x080484f5 <main+133>:  lea    eax,[ebp-12]
//iÀÇ ÁÖ¼Ò°ª eax¿¡³ÖÀ½.
0x080484f8 <main+136>:  mov    DWORD PTR [esp+4],eax
//eax+4, ¾Æ¸¶µµ ÀÌÈÄ callµÇ´Â ÇÔ¼öÀÇ µÎ¹ø° ÀÎÀÚ.¿¡ iÀÇ ÁÖ¼Ò°ª µé¾î°¨.
0x080484fc <main+140>:  mov    DWORD PTR [esp],0x80485ce
//init+84()ÀÇ Ã¹¹ø° ÀÎÀÚ.
0x08048503 <main+147>:  call   0x8048334 <_init+84>
//scanf("%d",&i);
0x08048508 <main+152>:  mov    eax,DWORD PTR [ebp-12]
//iÀÇ °ªÀ» eax¿¡ ³ÖÀ½. i´Â scanf·Î ÀÎÇØ ¼öÁ¤µÈ °ªÀÌ µé¾î°¨.
0x0804850b <main+155>:  mov    DWORD PTR [esp+4],eax
//i°¡ printf(),init+68 ÀÇ µÎ¹ø°ÀÎÀÚ·Î ¼¼ÆÃ.
0x0804850f <main+159>:  mov    DWORD PTR [esp],0x80485c1
0x08048516 <main+166>:  call   0x8048324 <_init+68>
//i°ª Ãâ·Â.
0x0804851b <main+171>:  mov    eax,0x1
//¸®ÅÏ°ª.
0x08048520 <main+176>:  add    esp,0x24
//ºüÁ³´ø esp ´Ù½Ã º¹¿ø.
----------------¿¡Çʷα×-------------------
0x08048523 <main+179>:  pop    ecx
0x08048524 <main+180>:  pop    ebp
0x08048525 <main+181>:  lea    esp,[ecx-4]
0x08048528 <main+184>:  ret    

  Hit : 6767     Date : 2010/02/24 08:08



    
Cpgroot ÁÁÀºÁ¤º¸³×¿ä.. °¨»çÇÕ´Ï´Ù. 2010/08/18  
1201   ¼­ºñ½º °ÅºÎ °ø°Ý     Nuker
12/28 6758
1200     [re] VC¿¡¼­ ÇϽ÷Á¸é..     cjhari
04/25 6760
1199   How to hack ¹ø¿ª ÇغýÀ´Ï´Ù.[6]     o¿£¿äo
01/17 6764
1198     [re] ckdmsghcoh´Ô ´äº¯[6]     geniusevil
01/09 6765
  [ÀÚÀÛ] Linux Reverse Engineering - printf,scanf,puts,variable[1]     CodeAche
02/24 6766
1196   ű׶õ??[4]     wkrwjs002
08/20 6767
1195   ¿­(TR)°ú Çà(TD)ÀÇ È®Àå(Æß)     rahzzang
11/21 6769
1194   º¸¾È¿¡¼­ÀÇ net use     craft
01/06 6773
1193   ¿ÏÀü »ýÃÊÂ¥Àε¥........¾îµð¼­ºÎÅͽÃÀÛÇؾߵɱî¿ä.[4]     MSINÀÎÅÚ
12/26 6774
1192   ÇØÄ¿½ºÄð ·¹º§ÇØÅ· Ç®ÀÌ ¸ðÀ½[3]     hayanho
05/14 6775
1191   PC¿¡¼­ÀÇ ±âÃÊ º¸¾È 2012³â[4]     ljh0431
05/23 6775
1190   °£´ÜÇÑÅ©·º[9]     qzoom
11/11 6776
1189   [¼öÁ¤ÇÑ Æß]Á¦¸ñ ºÙÀ̱Ⱑ ¾Ö¸ÅÇÑ °­ÁÂ.     BLu2Scr22n
02/11 6777
1188   C¿¡¼­ ÇÁ·Î±×·¥ÀÇ ¼Óµµ¸¦ ¿Ã¸®ÀÚ.[8]     kjwon15
03/06 6780
1187   [ÀÚÀÛ] ÇÁ¶óÀ̵åÀÇ C °­Á 3ìíÂ÷ (3) º¯¼ö     ÇÁ¶óÀ̵å
08/20 6781
1186   [Æß] ÄÄÇ»ÅÍ¿¡ ´ëÇÏ¿©     whdgusdl1220
08/19 6788
1185   3Æí     dkdkfjgh
01/11 6790
1184           [re] [re] [re] [re] ȨÆäÀÌÁö Ãë¾àÁ¡ Á¡°Ë ¹× Á¶Ä¡¹æ¹ý#1     answp
03/15 6793
1183   ¾Èö¼öÀÇ ¿ª»ç[6]     pash080
08/20 6794
1182     [re] ¸®´ª½º ¼³Ä¡Çϱâ - RPMÆí     answp
01/01 6797
[1]..[11][12][13][14][15][16][17][18][19] 20 ..[80]

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