°Ù¶È¿Õ¼ä | °Ù¶ÈÊ×Ò³ 
 
ÎÄÕÂÁбí
 
ÄúÕýÔڲ鿴 "²¡¶¾·ÖÎö" ·ÖÀàϵÄÎÄÕÂ

2009-01-07 21:07

¹Ø¼ü´Ê£ºvc debug release Çø±ð ÅÐ¶Ï ±àÒëÑ¡Ïî PE ½Ú¶ÔÆë ¹¤¾ß

йúͼ¶þÆÚ²»´í£¬»·¾³ºÃ£¬MM¶à£¬»¹ÄÜÃâ·ÑÉÏÍøÏÂÂÛÎÄ£¬ÊµÔÚÊÇÃÀ²»Ê¤ÊÕ¡£Ñô¹â͸¹ýÌì´°È÷ÔÚÉíÉÏ£¬¸Ð¾õ×ÔÈ»²»±ØËµ£¬Õâ³ÌÐòµÄÒ»²¿·Ö¾ÍÊÇÔÚÄǶùдµÄ£¬ºÃ»µ²»ÂÛ£¬µ¥ÊÇÕâ¹ý³ÌÒ²ÊÇÏíÊܰ¡¡£

ÏÂÔØµØÖ·£º

http://sites.google.com/site/aiwulu/avengine/Ldump_V1.1.rar?attredirects=0

³ÌÐò˵Ã÷£º

LDump ÊÇÒ»¸ö¶ÔPEÎļþ²Ù×÷µÄ¹¤¾ß£¬Ö÷Òª¹¦ÄÜÈçÏÂ

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(2) | ä¯ÀÀ()
 
2007-11-28 14:05

    ÕâÀಡ¶¾Ò»°ãÊÇ“system\drivers\”ϵÄÒ»¸ösysÎļþ£¬¸Ä“RunOnce”ÏÆô¶¯µÄÔ磬Í˳öµÄÍí£¬É±ÆðÀ´ÆÄ·Ñ¾«Éñ¡£ËûÃǶàפÁôÄڴ棬Ôڹػúʱ»ØÐ´£¬¼´Ê¹É±ÁËËûµÄ“±¾Ì唣¬Ò²É±²»ÁËËûµÄ“

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(8) | ä¯ÀÀ()
 
2007-06-08 17:09

       Exploit.MSWord.b²¡¶¾ÀûÓÃÁËMS07-014©¶´¡£¸Ã²¡¶¾ÊǸöwordÎļþ£¬°üº¬ÓзǷ¨Êý¾Ý£¬´ò¿ª´ËÎļþʱword³ÌÐòÏÔʾ´íÎ󣬲¢Ö´ÐжñÒâ´úÂë

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(1) | ä¯ÀÀ()
 
2007-05-22 12:25

       5ÔÂ18ÈÕ£¬Åµ¶ÙÎ󱨣¬²Î¼û£º

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(4) | ä¯ÀÀ()
 
2006-10-25 15:53
½üÆÚ£¬ÁõÌÎÌÎÌá³öÒ»Ö֓ŤÇú±ä»»¼ÓÃÜ”·½·¨¡£ÆäÔ­ÀíÊǶÔOBJÎļþ×öÖ¸ÁîÌæ»»£¬È»ºóÔÙÁ´½ÓΪPE¡£ÕâÖÖ»¨Ö¸ÁîµÄ·½·¨×î³õ¶àÓÃÓÚ±äÐμӿÇÒýÇæ£¬Ö®Ëù²»Í¬µÄÊÇ£¬±äÐμӿÇÒýÇæÔÚ½â¿Ç²¿·Ö£¬¶ø“ŤÇú±ä»»¼ÓÃÜ”·½·¨Ö±½Ó¶ÔԭʼÎļþ±äÐΣ¬ÒÔ´ïµ½¼ÓÃÜÄ¿µÄ¡£   ¾ÙÀýÈçÏ£º ¼ÓÃÜǰ´úÂ룺     ¼ÓÃܺó´úÂ룺   ÀûÓÃÕâÖÖ¼¼ÊõµÄ²¡¶¾Ò²·¢ÏÖ¹ý£¬µ«ÏÞÓÚÌæ»»Ä³¸öº¯Êý»òÕßijÌõÖ¸ÁÏóÕâÑùÓù¤
Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(3) | ä¯ÀÀ()
 
2006-10-16 14:49

 /* 0F 81 */  { "jno",        0,  Jv,  XX, XX },
 /* 0F 82 */  { "jb",         0,  Jv,  XX, XX },
 /* 0F 83 */  { "jnb",        0,  Jv,  XX, XX },
 /* 0F 84 */  { "jz",         0,  Jv,  XX, XX },
 /* 0F 85 */  { "jnz",        0,  Jv,  XX, XX },
 /* 0F 86 */  { "jbe",        0,  Jv,  XX, XX },
 /* 0F 87 */  { "jnbe",       0,  Jv,  XX, XX },
 /* 0F 88 */  { "js",         0,  Jv,  XX, XX },
 /* 0F 89 */  {

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(1) | ä¯ÀÀ()
 
2006-10-16 14:47


static BxDisasmOpcodeInfo_t BxDisasmOpcodes[256*2] = {
 // 256 entries for single byte opcodes
 /* 00 */  { "add",       0,  Eb,  Gb, XX },
 /* 01 */  { "add",       0,  Ev,  Gv, XX },
 /* 02 */  { "add",       0,  Gb,  Eb, XX },
 /* 03 */  { "add",       0,  Gv,  Ev, XX },
 /* 04 */  { "add",       0,  AL,  Ib, XX },
 /* 05 */  { "add",       0, eAX,  Iv, XX },
 /* 06 */  { "push",      0,  ES,  XX, XX },
 /* 07 */  { "pop",       0,  ES,  XX, XX },

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(0) | ä¯ÀÀ()
 
2006-10-16 14:46

 // DC (modrm is outside 00h - BFh) (mod == 11)
 /* DC C0 */  { "fadd",      0, STj, STj, XX },
 /* DC C1 */  { "fadd",      0, STj, STj, XX },
 /* DC C2 */  { "fadd",      0, STj, STj, XX },
 /* DC C3 */  { "fadd",      0, STj, STj, XX },
 /* DC C4 */  { "fadd",      0, STj, STj, XX },
 /* DC C5 */  { "fadd",      0, STj, STj, XX },
 /* DC C6 */  { "fadd",      0, STj, STj, XX },
 /* DC C7 */  { "fadd",      0, STj, STj, XX },
 /* DC C8 */  { "fmul",      0, STj, STj, XX },
 /* DC C9 */  { "fmul",

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(0) | ä¯ÀÀ()
 
2006-10-16 14:44

/* ************************************************************************ */
/* FPU Opcodes */

// floating point instructions when mod!=11b.
// the following tables will be accessed like groups using the nnn (reg) field of
// the modrm byte. (the first byte is D8-DF)

// D8 (modrm is outside 00h - BFh) (mod != 11)
static BxDisasmOpcodeInfo_t BxDisasmFPGroupD8[8] = {
 /* 0 */  { "fadd",        0, Md, XX, XX },
 /* 1 */  { "fmul",        0, Md, XX, XX },
 /* 2 */  { "fcom",        0, Md, XX, XX },
 /* 3 */  { "fcomp",       0, Md, XX, XX },
 /* 4 */  { "fsub",        0, Md, XX, XX },
 /* 5 */  { "fsubr",  

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(0) | ä¯ÀÀ()
 
2006-10-16 14:40

static BxDisasmOpcodeInfo_t BxDisasmGroupG2Ev[8] = {
 /* 0 */  { "rol",         0, Ev, Ib, XX },
 /* 1 */  { "ror",         0, Ev, Ib, XX },
 /* 2 */  { "rcl",         0, Ev, Ib, XX },
 /* 3 */  { "rcr",         0, Ev, Ib, XX },
 /* 4 */  { "shl",         0, Ev, Ib, XX },
 /* 5 */  { "shr",         0, Ev, Ib, XX },
 /* 6 */  { "shl",         0, Ev, Ib, XX },
 /* 7 */  { "sar",         0, Ev, Ib, XX }
};

static BxDisasmOpcodeInfo_t BxDisasmGroupG2E

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(0) | ä¯ÀÀ()
 
2006-10-16 14:39

static BxDisasmOpcodeInfo_t BxDisasmGroupSSE_0fc2[4] = {
 /* -- */  { "cmpps",      0, Vps, Wps, Ib },
 /* 66 */  { "cmppd",      0, Vpd, Wpd, Ib },
 /* F2 */  { "cmpsd",      0, Vsd, Wsd, Ib },
 /* F3 */  { "cmpss",      0, Vss, Wss, Ib }
};

static BxDisasmOpcodeInfo_t BxDisasmGroupSSE_0fc3[4] = {
 /* -- */  { "movnti",     0, Md, Gd, XX },
 /* 66 */  { "(invalid)",  0, XX, XX, XX },
 /* F2 */  { "(invalid)",  0, XX, XX, XX },
 /* F3 */  { "(invalid)",  0, XX, XX, XX }
};

static BxDisasmOpcodeInfo_t BxDisasmGroupSSE_0fc4[4] = {
 /* -- */  { "pinsrw",     0,  Pq, E

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(0) | ä¯ÀÀ()
 
2006-10-16 14:35

void disassembler::resolve32_mod0(unsigned mode)
{
 const char *mod_rm_seg_reg;

 if (seg_override)
  mod_rm_seg_reg = seg_override;
 else
  mod_rm_seg_reg = "ds";

 print_datasize(mode);

 if (rm == 5) { /* no reg, 32-bit displacement */
  dis_sprintf("[%s:0x%x]", mod_rm_seg_reg, displacement.displ32);
 }
 else {
  dis_sprintf("%s:[%s]", mod_rm_seg_reg, general_32bit_reg_name[rm]);
 }
}

void disassembler::resolve32_mod1(unsigned mode)
{
 const char *mod_rm_seg_reg;

 if (seg_override)
  mod_rm_seg_reg = seg_override;
 else
  mod_rm_seg_reg = sreg_mod01_rm32[rm];

 print_datasize(mode);

 /* reg, 8-bit displacement, sign extend */
 if (displacement.displ32)
&nbs

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(0) | ä¯ÀÀ()
 
2006-10-16 14:32
·´»ã±àʵÏÖÓÐÖúÓÚ¼ÓÉî¶ÔÖ¸ÁîµÄÀí½â£¬ÓÐʱ´ò¿ªÒ»¸öÎļþ£¬´ò¿ªÎļþ·¢ÏÖµÚÒ»¸ö×Ö½ÚÊÇ0XE9£¬Èç¹ûÊìµÄÖªµÀÊǸöJMPÖ¸ÁÄÇôÕâ¸öÎļþÓпÉÄÜÊǸöCOMÁË¡£·´»ã±àºóÒ²¿ÉÒÔÇø·ÖÄÇЩʱָÁÄÇЩÊÇÁ¢¼´Êý¡£ÀýÈç²éÕÒ©¶´´úÂ룬ÐèÒª±È½Ï´úÂë¶øÂÓ¹ýÊý¾Ý£¬¶¼ÐèÒª¶Ô·´»ã±àµÄÁ˽⡣ÏÂÃæÕâ¸ö³ÌÐòÊǸù¾ÝBOCHSÖеķ´»ã±àÎļþ¸ÄµÄ£¬¿É×ö²Î¿¼¡£

#include "stdio.h"
#include "windows.h"

#pragma warning(disable:4996)

// ³ÌÐò˵Ã÷£ºÕâ¸ö³ÌÐòÑÝʾÈçºÎ·´»ã±à edited by wangwei. 2006.10.16
// ³ÌÐòÔ­Àí£º¸ù¾ÝÖ¸Áî²é±í»ñȡָÁî¡£Ô´´úÂëÈ¡×ÔBOCHS£¬Îª·½±ãºÏΪһ¸öcpp
//           ¹ØÓÚ·´»ã±àÍøÉϵÄÔ´´úÂëºÜ¶à£¬¿É×ۺϲο¼¡£

//***********************************************************************************************************/ disasm

// ---------------------------------------------------------------------------------- config.h
typedef unsigned char      Bit8u;
typedef   signed

Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(0) | ä¯ÀÀ()
 
2006-10-16 14:26

Two-Byte Opcode Map (first byte is 0FH)

      0         1         2         3         4         5         6        7        8         9         A         B         C         D         E        F
 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
 |         |         |   LAR   |   LSL   |         |         |        |        |         |         |         |         |         |         |        |        |
0|  Grp6   |  Grp7   |         |         |         |         |  CLTS  |        |         |         |         |         |         |         |        |        |
 |         |         |  Gw,Ew  |  Gv,
Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(0) | ä¯ÀÀ()
 
2006-10-16 14:25
»ã±àÊÇ·ÖÎö¿ÉÖ´ÐÐÎļþµÄ»ù´¡£¬Ö÷ÒªÊÇ16λºÍ32λ8086»ã±àÖ¸Á»¹ÓÐCEϵĻã±àÖ¸Áram£©µÈ¡£   ¶ÔCOM,EXE,PEÕâЩ¿ÉÖ´ÐÐÎļþ²¡¶¾µÄ·ÖÎöÒ»°ãʹÓÃIDA¹¤¾ß£¬Í¨¹ý»ã±à·ÖÎö²¡¶¾×öÁËЩʲô£¬ÌØÕ÷ÂëµÄÌí¼ÓÒ»°ãÒ²ÊǸù¾Ý»ã±à´úÂë»òÕßÌØÕ÷×Ö·ûµÈ¡£   »ã±àÓïÑÔÔ­Àí¿É²Î¿¼ÉòÃÀÃ÷µÄ¡¶IBM-PC »ã±àÓïÑÔ³ÌÐòÉè¼Æ¡·¡£ÏÂÃæÊÇÒ»Õűí¸ñ£¬Õâ¸ö±í¸ñ°üº¬ÁË»ù±¾Ö¸Á²¢ÇÒÕâ¸ö±í¸ñµÄ»®·ÖÓÐѰַ·½Ê½£¬ÀýÈçEb,GbµÈ£¬ºÜÓвο¼¼ÛÖµ¡£Ö®ºóÈç¹ûѧϰBOCHSÔ´´úÂëÖеÄÖ¸ÁîÐéÄâÊǺÜÓаïÖúµÄ£¬ÀýÈçADD AL,9Ö¸ÁîÊÇÁ¢¼´Ñ°Ö·£¬Æä΢ָÁî´úÂëÈçÏ£º void BX_CPU_C::ADD_ALIb(bxInstruction_c *i) {  Bit8u op1, op2,
Àà±ð£º²¡¶¾·ÖÎö | ÆÀÂÛ(2) | ä¯ÀÀ()
 
     
 
 
ÎÄÕ·ÖÀà
 
     
 
ÎÄÕ´浵
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     
 
×îÐÂÎÄÕÂÆÀÂÛ
   
 
 
 
 
 
     


©2009 Baidu