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³ÌÐòÔ±£¬£¬¾ÍÔÚCSDN£¬¼Ç¼ÏÂÎÒµÄC³ÌÐòÔ±³É³¤¹ý³Ì¡£
Ìý±ðÈË˵£¬Ñ§ÓïÑÔ×îºÃµÄ;¾¶¾ÍÊǶàд´úÂ룬ϣÍûÎÒÔÚÕâÒ»·½ÃæÄÜ×öµÄ±È½ÏºÃ£¬»¹ÓоÍÊÇÅàÑøÁ¼ºÃµÄ±à³Ì·ç¸ñºÍÍŶӾ«Éñ¡£ÔÚCSDN£¬ÓкܶàµÄÁ¼Ê¦ÒæÓÑ£¬ÓÐËûÃÇ£¬ÏàÐÅÎÒÒ»¶ ......
C/C++ÕÐÆ¸µÄһЩ¸ÐÊܺ;Ñé
ǰ¶Îʱ¼ä¸Õ²Î¼ÓÁËn¶à¹«Ë¾µÄC/C++Èí¼þ¹¤³ÌʦµÄÃæÊÔ£¬ÓйúÆó£¬ÍâÆó£¬Ë½Æó£¨moto£¬·É˼¿¨¶û£¬¸ÛÍ壬ÖйúÎÀÐÇXXX£¨Õâ¸öÅ££©£©µÈµÈµÈµÈ¡£¸ÐÊܸÐÏëÆÄ¶à£¬½üÈÕÖÕÓÚ¿ÕÏУ¬Ôڴ˱íÊöһϡ£
±¾ÈË»ù±¾Ìõ¼þ£º3Ä꿪·¢¾Ñ飬2year+ Windows development experence£¬1year+ Linux experence. ÊìϤC£¬C++£¬MFC/ ......
assert
º¯ÊýÃû: assert
¹¦ ÄÜ: ²âÊÔÒ»¸öÌõ¼þ²¢¿ÉÄÜʹ³ÌÐòÖÕÖ¹
ÓÃ ·¨: void assert(int test);
³ÌÐòÀý:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
int&n ......
©À—WINDOWS
©¦ ©À—system32£¨´æ·ÅWindowsµÄϵͳÎļþºÍÓ²¼þÇý¶¯³ÌÐò£©
©¦ ©¦ ©À—config£¨Óû§ÅäÖÃÐÅÏ¢ºÍÃÜÂëÐÅÏ¢£©
©¦ ©¦ ©¦ ©¸—systemprofile£¨ÏµÍ³ÅäÖÃÐÅÏ¢£¬ÓÃÓÚ»Ö¸´ÏµÍ³£©
©¦ ©¦ ©À—drivers£¨ÓÃÀ´´æ·ÅÓ²¼þÇý¶¯Îļþ£¬²»½¨Òéɾ³ý£©
©¦ ©¦ ©À—spool£¨ÓÃÀ´´æ·Åϵͳ´òÓ¡Îļþ¡£ ......
ÔÎÄÁ´½Ó£ºhttp://blog.csdn.net/sytstarac/archive/2009/08/05/4411519.aspx
±àÒëÆ÷£ºvc++6.0(ÒòΪ´ËÖÖʵÏÖÒÀÀµ±àÒëÆ÷´¦Àí)
´Ë´¦Ö»¼òÒªÐðÊöһϻúÖÆ¡£²¢¸½²¿·Ö¹Ø¼üÖ¸ÁîÐòÁС£
×¼±¸£º
1£¬¹ØÓÚEBP£º³Æ×öÕ»»ùÖ·Ö¸Õ롣ΪʲôÕâÑùËµÄØ£¿ÎÒÃÇÏÈÀ´¿´¿´º¯Êýµ÷ÓõĹý³Ì£º
²ÎÊý´ÓÓÒµ½×óѹջ¡£
callÖ¸ÁîÖ´ÐУ¬¸ÃÖ¸Áµ¼ÖÂEIPѹ ......