1581, 8/80 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   salangi11
   ¸®¹ö½º ¿£Áö´Ï¾î¸µ (¾î¼Àºí¸®) -1

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


¸®¹ö½º ¿£Áö´Ï¾î¸µÀ» À§ÇÑ ¾î¼Àºí¸®







1. C¿Í ¾î¼Àºí¸®¸¦ ºñ±³ÇÒ ¶§, ¾î¼Àºí¸®´Â Çѹø¿¡ ÇϳªÀÇ µ¿ÀÛ.




2. Áö±Ý ¹è¿ì´Â °ÍÀº IA-32(°¡Àå ´ëÁßÈ­µÈ °Í.)




3. ±âº»ÇüÅ : "¸í·É¾î + ÀÎÀÚ"




4. ¿ÉÄÚµå(opcode)=¸í·É¾î




5. ÀÎÀÚ : ¾î¶² Àå¼Ò? + ¸í·É¾î¿¡ ¿µÇâ ¹Þ´Â °Í = ¿ÀÆÛ·£µå(operand)




6. push¸¦ ¾²¸é ½ºÅÿ¡ °ªÀÌ ³Ö¾îÁü.


½ºÅÃÀ̶õ?

½ºÅÃ(stack)Àº ¸ðµç ¿ø¼ÒµéÀÇ »ðÀÔ(insert)°ú »èÁ¦(delete)°¡ ¸®½ºÆ®ÀÇ ÇÑÂÊ ³¡¿¡¼­¸¸ ¼öÇàµÇ´Â Á¦ÇÑ Á¶°ÇÀ» °¡Áö´Â ¼±Çü ÀÚ·á ±¸Á¶(linear data structure)·Î¼­, »ðÀÔ°ú »èÁ¦°¡ ÀϾ´Â ¸®½ºÆ®ÀÇ ³¡À» topÀ̶ó ÇÏ°í, ´Ù¸¥ ÇÑÂÊ ³¡À» bottomÀ̶ó ÇÑ´Ù. ½ºÅÃÀº Á¾Á¾ pushdown stackÀ̶ó°íµµ Çϴµ¥, ½ºÅÃÀÇ top¿¡ »õ·Î¿î ¿ø¼Ò¸¦ »ðÀÔÇÏ´Â °ÍÀ» push¶ó ÇÏ°í, °¡Àå ÃÖ±Ù¿¡ »ðÀÔµÈ ¿ø¼Ò¸¦ ÀǹÌÇÏ´Â ½ºÅÃÀÇ topÀ¸·ÎºÎÅÍ ÇÑ ¿ø¼Ò¸¦ Á¦°ÅÇÏ´Â °ÍÀ» popÀ̶ó ÇÑ´Ù. ÀÌ¿Í °°Àº ½ºÅà ¿¬»óÀº Ç×»ó ½ºÅÃÀÇ top¿¡¼­ ¹ß»ýÇϹǷΠtop Æ÷ÀÎÅÍÀÇ °ªÀ» 1¾¿ Áõ°¡ ¶Ç´Â °¨¼Ò½ÃÅ´À¸·Î½á ¼öÇàµÈ´Ù.


[³×À̹ö Áö½Ä¹é°ú] ½ºÅà [stack] (ÄÄÇ»ÅÍÀÎÅͳÝIT¿ë¾î´ë»çÀü, 2011. 1. 20., ÀÏÁø»ç)




7. movµµ push¶û ºñ½ÁÇѵ¥, Á¶±Ý ´Ù¸§

ex) push 12

=>´Â ½ºÅÿ¡ 12¶ó´Â °ªÀ» ³Ö´Â °Í

mov oo, 1000

=>oo¿¡´Ù°¡ 1000 ³Ö´Â °Í.



memcpy´Â ¸Þ¸ð¸® º¹»ç ÇÔ¼ö°í, strcpy´Â ¹®ÀÚ¿­ Àüü º¹Á¦ ÇÔ¼ö¶ó C¾ð¾î¿¡¼­ º¼ ¶§, ÀÌ°Í°ú °°´Ù°í ÇØÁÙ ¼ö ÀÖÀ» °Í °°´Ù.




8. ¾î¼Àºí¸®´Â ´Ü¼ø


->´Ü¼øÇÔ¿¡¼­ ¾î·Á¿òÀÌ ³ª¿È.




C¾ð¾î·Î´Â ½±°Ô Ç¥ÇöÇÒ ¼ö ÀÖ´Â °ÍÀÌ ¸Å¿ì ±æ°Ô Ç¥ÇöµÉ ¼ö ¹Û¿¡ ¾øÀ¸´Ï±î.




9. ·¹Áö½ºÅÍ

IA-32ÀÇ ¹ü¿ë ·¹Áö½ºÅÍ´Â ÃÑ 8°³, ·¹Áö½ºÅ͸¦ 'º¯¼ö'¶ó°í »ý°¢ÇÏÀÚ. CPU°¡ »ç¿ëÇÏ´Â º¯¼ö¶ó°í.

¿¬»ê ·¹Áö½ºÅÍ·Î EAX, EDX, ECX, EBX°¡ ÀÖÀ¸¸ç ÁÖ¼Ò ·¹Áö½ºÅÍ·Î ESI EDIµîÀÌ Á¸ÀçÇÑ´Ù.




9-1. ¿¬»ê ·¹Áö½ºÅÍ




EAX : »ê¼ú °è»êÀ» Çϸç, ¸®ÅÏ°ª(ÄÄÇ»ÅÍ ÇÁ·Î±×·¡¹Ö¿¡¼­ return ¹®Àº ÇöÀçÀÇ ÇÔ¼ö¿¡¼­ °ªÀ̳ª ÁÖ¼Ò¸¦ ¹ÝȯÇÒ ¶§ »ç¿ëÇÑ´Ù.)À» Àü´ÞÇÑ´Ù.

°¡Àå ¸¹ÀÌ ¾²´Â ·¹Áö½ºÅÍ. ¿¬»ê¿¡¼­ »ç¿ëµÈ´Ù.

EAXÀÇ A°¡ AccumulatorÀÇ ¾àÀÚÀÌ´Ù.




EDX : EAX¿Í °°ÀÌ ¿¬»ê¿¡ ÀÌ¿ëÇϵÇ, ¸®ÅÏ °ªÀÇ ¿ëµµ·Î »ç¿ëµÇÁö ¾Ê´Â´Ù.




ECX : ¹Ýº¹¹®À» »ç¿ëÇÒ ¶§, ¹Ýº¹¿¡¼­ Å»ÃâÇϱâÀ§ÇÑ ¿ªÇÒÀÌ ÇÊ¿äÇÏ´Ù. Á¶°ÇÀ» ¼³Á¤ÇÏ°í (i<10) ±× Á¶°ÇÀ» Áõ°¡½ÃÅ°´Â Ä«¿îÆÃ(i++)À» ÅëÇØ

¹Ýº¹¹®À» Áß´ÜÇÏ°í Å»ÃâÇÏ°Ô µÈ´Ù. ¾î¼Àºí¸®¿¡¼­ »ç¿ëµÇ´Â Ä«¿îÆÃÀ̶ó ºÎ¸¦ ¼ö ÀÖ´Â ECX´Â óÀ½ Ãʱ⠰ª¿¡¼­ 1¾¿ °¨¼ÒÇÏ°í, Ä«¿îÅÍ(i)°¡ 0ÀÌ µÉ ¶§, ¹Ýº¹¹®À» Áß´ÜÇÑ´Ù.

C°¡ countÀÇ ¾àÀÚÀÌ´Ù.




EBX : ÀÇ¹Ì ¾ø´Ù. ºÎÁ·Çؼ­ °ø°£ÀÌ ´õ ÇÊ¿äÇÒ ¶§, »ç¿ëÇÑ´Ù.







9-2. ÁÖ¼Ò ·¹Áö½ºÅÍ




ESI : ½ÃÀÛÁö À妽º




EDI : ¸ñÀûÁö À妽º




ESIÀÇ °ªÀ» EDI·Î º¹»çÇÑ´Ù°í »ý°¢ÇÏ¸é ½¬¿ò. (S¿Í D°¡ Source¿Í DestinationÀÇ ¾àÀÚ.)







9-3. ¼¼ºÎ(ÇÏÀ§) ·¹Áö½ºÅÍ




AX : 16ºñÆ®(2¹ÙÀÌÆ®)

AH : 8ºñÆ®(1¹ÙÀÌÆ®)

AL : 8ºñÆ®(1¹ÙÀÌÆ®)




Ex) EAX°¡ 0xabcdefgh¶ó¸é

EAXÀÇ AX´Â efgh, AH´Â de, ALÀº gh´Ù.



​Ã߽Š: »¡¸® À¯Ä¡¿ø»ý¿¡¼­ Å»ÃâÇϸé ÁÁ°Ú´Ù.
        ¹º°¡ ¿À·ùÀÖÀ¸¸é ¸»ÇØÁֽʽÿÀ!!!


Âü°í : ¸®¹ö½º ¿£Áö´Ï¾î¸µ ¹ÙÀ̺í. À§Å°¹é°ú

  Hit : 7841     Date : 2017/02/21 11:59



    
1441   ¹æÈ­º®ÀÇ Á¾·ù ÀÔ´Ï´Ù.[3]     oldlove7
11/11 8865
1440   ¹æÈ­º® ¼³¸í ÀÔ´Ï´Ù.[2]     oldlove7
08/17 8387
1439   ¹ÙÀÌ·¯½º ¸¸µé±â[8]     akwjs566
03/31 9149
1438   ¹ÙÀÌ·¯½º Á¾·ù[11]     akwjs566
04/11 7851
1437   ¹è¿­ ³»¿¡¼­ ·£´ýÇÑ n°³ ÃßÃâÇϱâ[2]     kjwon15
12/05 12965
1436   ¹è¿­[1]     han0161
06/14 7175
1435   ¹éµµ¾î¸¦ ÇϽÇÁÙ ¾Æ½Ã´Â ºÐ[6]     hacs98
05/03 8024
1434   ¹éµµ¾î¶õ??(ÀÌ°Å ¸Â³ª¿ä??)[4]     H.R.T
12/13 10805
1433   ¹éÆ®·¢ÀÇÁ¤¼® Á¦2-1°­[5]     ÀÎõÇØÄ¿
01/21 13450
1432   ¹éÆ®·¢5 »ç¿ë¹ý/ÀÚ¼¼È÷Á» ¾Ë·ÁÁÖ¼¼¿ä[3]     cswcys
09/20 43217
1431   ¹éÆ®·¢ ¼³Ä¡¹æ¹ý 2     hacs98
05/05 7542
1430   ¹éÆ®·¢ ¼³Ä¡¹æ¹ý     hacs98
05/05 8013
1429   ¹éÆ®·¢ ÀßÇϽô ºÐ ã½À´Ï´Ù[1]     hacs98
05/05 7486
1428   ¸Þ¸ð¸® ´ýÇÁ(ºí·ç ½ºÅ©¸°=STOP ½ºÅ©¸°) ÄÚµå ¹× ÇØ°á[1]     ROK.AF
02/09 12830
1427   ¸· °£Áö³ª°Ô ÇØÅ·ÇÏ°í½Í¾î¿ä[14]     dldvk9999
10/11 40890
1426   ¸®¹ö½º¿£Áö´Ï¾î¸µ ÀßÇϽôºÐ..?     pcw0629
08/26 5545
  ¸®¹ö½º ¿£Áö´Ï¾î¸µ (¾î¼Àºí¸®) -1     salangi11
02/21 7840
1424   ¸®¹ö½º ¿£Áö´Ï¾î¸µ [1]     festal
09/24 7921
1423   ¸®¹ö½Ì ±âÃÊ Áö½Ä Á¤¸®ÇغýÀ´Ï´Ù.[1]     libera826
12/25 7292
1422   ¸®¹ö½Ì Á÷Á¢ °øºÎÇϽǼö ÀÖ°Ô Çص帳´Ï´Ù.[1]     xellos1234
01/07 5236
[1][2][3][4][5][6][7] 8 [9][10]..[80]

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