Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ÅÌÊ£ÓàµÄ¿Õ¼äºÜС

CÅÌ9G£¬ËãÁËһϸ÷ÖÖÎļþ°üÀ¨ÒþÐÎ×ܹ²²»µ½2G£¬¿ÉÊÇϵͳÏÔʾֻʣÓà1¸ö¶àG£¬ÎÒÒѾ­½«¸÷ÖÖÁÙʱÎļþ¶¼É¾³ýÁË£¬°üÀ¨´ÅÅÌÇåÀí£¬Ôõô»ØÊ£¿Ð»Ð»»Ø´ð
ʲôϵͳ£¿

ÐéÄâÄÚ´æÉèÖõ½ÆäËüÅÌ£»
¹Ø±Õϵͳ»¹Ô­£»
ɾ³ýÐ ......

ÇóÒ»¸öÁ´±í³ÌÐò c¸ßÊÖÇë½ø

µ¥Á´±íÖи÷½áµã´æ·ÅÒ»¸öÊý£¬Çë°´ÉýÐòÅÅÁÐ
лл ¸÷λ´óϺ

±¾È˳õѧÊý¾Ý½á¹¹ Ï£Íû´óϺ°ïһϠÈëÃÅ

Õâ¸öºÜ¼òµ¥µÄ°¡,Äã¿ÉÒÔ½¨Á¢Ò»¸ö¸¨ÖúÁ´±í,ÿ´ÎÕÒÁ´±íÖÐ×îСµÄÊýµÄ½Úµã²åÈëµ½ÐÂÁ´±íÖÐ,×Ô¼º³¢ÊÔдÏÂ,²»ÄѵÄ
......

cÏÝÚåÓëȱÏÝ£¬ËµÕæµÄ¿´¹ýÕâ±¾µÄ¾õµÃÕâÊéÔõôÑù£¿

ÎÒ¸öÈ˸оõÓеĵط½Ã»±ØÒª¿´£¬·±ËöµÃºÝ£¬ÓÃ×Ô¼º×ܽáµÄ·½·¨¸üºÃ£¬´ó¼Ò˵˵×Ô¼ºµÄÒâ¼û
ÎҸоõ±ã½Ý¼ÆËãÓë²»¶Ô³Æ±ß½çÍêÈ«¸ù¾Ý×Ô¼ºµÄ¾­ÑéÀ´£¬Óò»×Å¿´Å¶£¬´ó¼Ò˵˵

Äã¿´²»¿´ÄÇÊÇÄãµÄÊÂ

Æäʵ¶¼ÊÇ»ù´¡µÄ¶«Î÷À²

......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ