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

Çó½ÌCÕâ¶ÎÓïÑÔ´úÂë×÷ÓÃ

DWORD dwMagic;
DWORD i;
BYTE dwCode;
DWORD dwAddr;

dwStartMap = SH->VirtualAddress + (DWORD)MapOfFile;//¶ÎÏÖÔÚÊ×µØÖ·
dwEndMap  = SH->Misc.VirtualSize + dwStartMap;//¶ÎÏÖÔÚÄ©µØÖ·
i = 0;
for (dwMagic=1; dwMagic <0xFF; dwMagic++)
{
if (i == dwEndMap)
    break ;
for (i=dwStartMap; i <dwEndMap; i++)
    {
dwCode = *(LPBYTE)i;
if (dwCode == 0xE8 || dwCode == 0xE9)//call»òjmp
{
    dwAddr = i + 5 + *(LPDWORD)(i+1);//Ìø×ªµÄÄ¿µÄµØÖ·
    if (dwAddr>dwStartMap && dwAddr <dwEndMap)
continue ; //¶ÎÄÚ×ªÒÆ
    dwCode = *(LPBYTE)(i+1);//¶Î¼ä×ªÒÆ£¬*(LPBYTE)(i+1)ÊÇÆ«ÒÆÁ¿µÄµÍ×Ö½Ú°É£¬±£´æµ½dwCodeÓÐʲôÓã¿Ê²Ã´Âß¼­£¿
    if (dwCode == dwMagic)
break ;  //ΪʲôÕâÑù×ö£¬Æ«ÒÆÁ¿µÄµÍ×Ö½ÚΪѭ»·µÄdwMagicµÄ¸ÅÂʺÜС°¡£¬¶øÇұȽÏÀàÐÍÒ²²»Ò»ÖÂ
}
      }
}//Õâ¸öÁ½²ãforÍêÁË£¬Ã»ÓÐ×öÈκβÙ×÷£¬Î¨ÓÐdwAddr±£´æÁË×îºó¸öcall»òjmpµÄÌø×ªµØÖ·£¬dwCodeÇ¡ºÃÊÇdwMagicµÄÖµ-¿ÉÄÜÐÔºÜС
DWORD dwMagic;
DWORD i;
BYTE dwCode;
DWORD dwAddr;
dwStartMap = SH->VirtualAddress + (DWORD)MapOfFile;//¶ÎÏÖÔÚÊ×µØÖ·
dwEndMap  = SH->Misc.VirtualSize + dwStartMap;//¶ÎÏÖÔÚÄ©µØÖ·
i = 0;
for (dwMagic=1; dwMagic <0xFF; dwMagic++)
{
if (i == dwEndMap)
break ;


Ïà¹ØÎÊ´ð£º

c»ù´¡

#include <string.h>
#include <stdio.h>

void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......

Ò»¸ö¼òµ¥µÄcÓÎÏ·

13¸öÈËΧ³ÉһȦ£¬´ÓµÚÒ»¸öÈË¿ªÊ¼Ë³Ðò±¨ºÅ1£¬2£¬3¡£·²±¨µ½3ÕßÍ˳öȦ×Ó£¬ÕÒ³ö×îºóÁôÔÚȦ×ÓÖеÄÈËÔ­À´µÄÐòºÅ
½á¹ûÓ¦¸ÃÊÇ13 ¿ÉÎҵijÌÐòµÄ½á¹ûÊÇ11 Ï£ÍûºÃÐÄÈ˰ï¸ÄÒ»ÏÂ
#include <stdio.h>
#include < ......

Îļþ¶ÁдÎÊÌâ c¸ßÊÖÇë½ø

ÏÂÃæÊÇÎҵĴúÂë ´ÓÄÚ´æÐ´ÈëÎļþÕýÈ· µ«´ÓÎļþ¶ÁÈëÄÚ´æ¶¼ÊÇÂÒÂë ¶øÇÒ³ÌÐò±ÀÀ£ Çëc¸ßÊÖÖ¸µã
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct inf
{
  & ......

CÖеÄ++£¬Çë°ïæ½âÊÍÒ»ÏÂ

int a=2;
int i;
        i=(a++)+(++a)+(a++)+(++a)+(a++);
    printf("%d",i);


½á¹ûÊÇ20£¬Çë½â¶Á



ÕâÒѾ­²»ÊÇÔ¾­ÌùÁË£¬Ë­Í³¼Æ¹ý½ñÌ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ