Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Cº¯Êý·µ»Ø½á¹¹ÌåÔÚ»ã±àϵÄʵÏÖ

 
±àÒëÆ÷£ºvc++6.0(ÒòΪ´ËÖÖʵÏÖÒÀÀµ±àÒëÆ÷´¦Àí)
´Ë´¦Ö»¼òÒªÐðÊöһϻúÖÆ¡£²¢¸½²¿·Ö¹Ø¼üÖ¸ÁîÐòÁС£
×¼±¸£º
1£¬¹ØÓÚEBP£º³Æ×öÕ»»ùÖ·Ö¸Õ롣ΪʲôÕâÑùËµÄØ£¿ÎÒÃÇÏÈÀ´¿´¿´º¯Êýµ÷ÓõĹý³Ì£º
²ÎÊý´ÓÓÒµ½×óѹջ¡£
callÖ¸ÁîÖ´ÐУ¬¸ÃÖ¸Áµ¼ÖÂEIPѹջ¡£
ÿ¸öº¯ÊýǰÁ½¾ä±Ø¶¨ÊÇ£ºpush ebp   mov ebp,esp¡£ÔòcallÖ¸Áîºó£¬Ìøµ½±»µ÷º¯Êý³ö¿ªÊ¼Ö´ÐС£±£´æebp£¬¼´ebpѹջ¡£
¾Ö²¿±äÁ¿Ñ¹Õ»¡£Ò»°ãÊÇsub esp,xxxµÄÐÎʽ¡£
Õâ¾ÍÊǽ«ebp³ÆÎª»ùÖ¸ÕëµÄÔ­Òò£ºebp-xx·ÃÎʵÄʱ¾Ö²¿±äÁ¿£»ebp+xx·ÃÎʵÄÊDzÎÊý¡£×î×ó±ß²ÎÊýµØÖ·ÊÇebp+8h¡£ebp×øÕòÖмäΪ»ù×¼¡£
2£¬º¯Êý·µ»ØÖµÍ³Ò»·ÅÈëeaxÖС£Ö»Òª·ÅµÃÏ¡£
3£¬Õ»À©Õ¹·½ÏòΪ´Ó¸ßµØÖ·µ½µÍµØÖ·¡£½á¹¹ÄڵıäÁ¿´æÖü·½Ê½£ºµÍµØÖ·¶ÔÓ¦ÉùÃ÷˳Ðò¿¿Ç°µÄ³ÉÔ±¡£Ò»¶¨Òª×¢ÒâÕâÀïµÄÇø±ð£¡Ëü¹ØÏµµ½·´»ã±àÉú³ÉµÄ´úÂëÀïÃæµÄÊý×ÖÊÇÔõôËã³öÀ´µÄ¡£µ«Èç¹ûÄã×Ô¼ºÐ´»ã±à´úÂë¾Í²»Óÿ¼ÂÇÕâЩÁË¡£Ö»È¡³ÉÔ±Ãû¼´¿É¡£
4£¬²»ÄÜÖ±½ÓÔÚÁ½¸ö´æ´¢Æ÷±äÁ¿¼äÓÃmovÖ¸Áî¡£
Ö÷ÒªÔ­Àí£º
    µ±µ÷ÓÃÒ»¸ö·µ»Ø½á¹¹ÌåµÄº¯Êýʱ£¬ÔÚvc++Ï£¬ÊÇÕâÑù´¦Àí£º
    Ê×ÏÈsub esp,xx£¬ÔÚ¶ÑÕ»ÉÏ¿ª±ÙÒ»¸ö¿Õ¼ä¡£´óСΪ½á¹¹Ìå´óС¡£
    È»ºólea eax,[esp-xx]£¬¼´½«½á¹¹ÌåÔÚ¶ÑÕ»ÖеĵØÖ·ËÍeax¡£
    push ²ÎÊý¡£
    push eax¡£
    call º¯Êý¡£
    ±»µ÷Óú¯ÊýÄÚ²¿£º
    routine£º
    push ebp     mov ebp,esp
    Ò»°ãÊǶ¨ÒåÒ»¸ö½á¹¹Ìå¾Ö²¿±äÁ¿£º
    struct aa a;
    sub esp, sizeof aa
    È»ºó´¦Àí½á¹¹Ì壬
.
.
.
.
×îºóreturn a¡£
Ê×ÏÈmov eax,[ebp+8h]      ;½«ÍâÃæµÄµ÷Óú¯ÊýÔÚ¶ÑÕ»ÄÚ¿ª±ÙµÄ½á¹¹ÌåÖ¸Õ븳Óèeax¡£
È»ºó½«±»µ÷Óú¯ÊýÔÚ¶ÑÕ»ÄÚ¿ª±ÙµÄ½á¹¹ÌåÄÚµÄÖµ¸³µ½µ÷Óú¯Êý¿ª±ÙµÄ½á¹¹ÌåÄÚ¡£
Ò»°ãÐÎʽÊÇ:mov ecx,[ebp-½á¹¹Ìå´óС]        £»¸³µÚÒ»¸ö³ÉÔ±
                mov [eax],ecx
                mov ecx,[ebp-½á¹¹Ìå´óС+µÚÒ»¸ö³ÉÔ±´óС£¨¿¼ÂÇ¶ÔÆë£©]
  &nbs


Ïà¹ØÎĵµ£º

¼ûÖ¤C²ËÄñµÄ·ÉÏè

  ÏÖÔÚѧ±à³ÌÁË£¬×îÏÈѧµÄÊÇCÓïÑÔ£¬£¬Ï£Íû¾­¹ýŬÁ¦£¬×Ô¼ºÒ²ÄÜÏñÆäËûµÄÈËÒ»Ñù£¬³ÉΪһ¸öÓÅÐãµÄC³ÌÐòÔ±£¬£¬¾ÍÔÚCSDN£¬¼Ç¼ÏÂÎÒµÄC³ÌÐòÔ±³É³¤¹ý³Ì¡£
  Ìý±ðÈË˵£¬Ñ§ÓïÑÔ×îºÃµÄ;¾¶¾ÍÊǶàд´úÂ룬ϣÍûÎÒÔÚÕâÒ»·½ÃæÄÜ×öµÄ±È½ÏºÃ£¬»¹ÓоÍÊÇÅàÑøÁ¼ºÃµÄ±à³Ì·ç¸ñºÍÍŶӾ«Éñ¡£ÔÚCSDN£¬ÓкܶàµÄÁ¼Ê¦ÒæÓÑ£¬ÓÐËûÃÇ£¬ÏàÐÅÎÒÒ»¶ ......

C/C++ÕÐÆ¸µÄһЩ¸ÐÊܺ;­Ñé

C/C++ÕÐÆ¸µÄһЩ¸ÐÊܺ;­Ñé
ǰ¶Îʱ¼ä¸Õ²Î¼ÓÁËn¶à¹«Ë¾µÄC/C++Èí¼þ¹¤³ÌʦµÄÃæÊÔ£¬ÓйúÆó£¬ÍâÆó£¬Ë½Æó£¨moto£¬·É˼¿¨¶û£¬¸ÛÍ壬ÖйúÎÀÐÇXXX£¨Õâ¸öÅ££©£©µÈµÈµÈµÈ¡£¸ÐÊܸÐÏëÆÄ¶à£¬½üÈÕÖÕÓÚ¿ÕÏУ¬Ôڴ˱íÊöһϡ£
±¾ÈË»ù±¾Ìõ¼þ£º3Ä꿪·¢¾­Ñ飬2year+ Windows development experence£¬1year+ Linux experence. ÊìϤC£¬C++£¬MFC/ ......

C/C++ assert() º¯ÊýÓ÷¨

assert
º¯ÊýÃû: assert
¹¦  ÄÜ: ²âÊÔÒ»¸öÌõ¼þ²¢¿ÉÄÜʹ³ÌÐòÖÕÖ¹
Óà ·¨: void assert(int test);
³ÌÐòÀý:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
   int&n ......

CÅÌϸ÷¸öÎļþ¼Ð¼ò½é

©À—WINDOWS
©¦ ©À—system32£¨´æ·ÅWindowsµÄϵͳÎļþºÍÓ²¼þÇý¶¯³ÌÐò£©
©¦ ©¦ ©À—config£¨Óû§ÅäÖÃÐÅÏ¢ºÍÃÜÂëÐÅÏ¢£©
©¦ ©¦ ©¦ ©¸—systemprofile£¨ÏµÍ³ÅäÖÃÐÅÏ¢£¬ÓÃÓÚ»Ö¸´ÏµÍ³£©
©¦ ©¦ ©À—drivers£¨ÓÃÀ´´æ·ÅÓ²¼þÇý¶¯Îļþ£¬²»½¨Òéɾ³ý£©
©¦ ©¦ ©À—spool£¨ÓÃÀ´´æ·Åϵͳ´òÓ¡Îļþ¡£ ......

Cº¯Êý·µ»Ø½á¹¹ÌåÔÚ»ã±àϵÄʵÏÖ

Ô­ÎÄÁ´½Ó£ºhttp://blog.csdn.net/sytstarac/archive/2009/08/05/4411519.aspx
±àÒëÆ÷£ºvc++6.0(ÒòΪ´ËÖÖʵÏÖÒÀÀµ±àÒëÆ÷´¦Àí)
´Ë´¦Ö»¼òÒªÐðÊöһϻúÖÆ¡£²¢¸½²¿·Ö¹Ø¼üÖ¸ÁîÐòÁС£
×¼±¸£º
1£¬¹ØÓÚEBP£º³Æ×öÕ»»ùÖ·Ö¸Õ롣ΪʲôÕâÑùËµÄØ£¿ÎÒÃÇÏÈÀ´¿´¿´º¯Êýµ÷ÓõĹý³Ì£º
²ÎÊý´ÓÓÒµ½×óѹջ¡£
callÖ¸ÁîÖ´ÐУ¬¸ÃÖ¸Áµ¼ÖÂEIPѹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ