⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldasm.pas

📁 多种检测隐藏进程的源代码 驱动采用C++编写 主程序采用Delphi编写
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{
  ---------------------------------------------------
  Opcode Length Disassembler.
  Coded By Ms-Rem ( Ms-Rem@yandex.ru ) ICQ 286370715
  ---------------------------------------------------
  12.08.2005 - fixed many bugs...
  09.08.2005 - fixed bug with 0F BA opcode.
  07.08.2005 - added SSE, SSE2, SSE3 and 3Dnow instruction support.
  06.08.2005 - fixed bug with F6 and F7 opcodes.
  29.07.2005 - fixed bug with OP_WORD opcodes.
}
unit LDasm;

interface

type
 dword  = cardinal;
 ppbyte = ^pbyte;

function SizeOfCode(Code: pointer; pOpcode: ppbyte): dword;
function SizeOfProc(Proc: pointer): dword;
function IsRelativeCmd(pOpcode: pbyte): boolean;

implementation

const
 OP_NONE          = $00;
 OP_MODRM         = $01;
 OP_DATA_I8       = $02;
 OP_DATA_I16      = $04;
 OP_DATA_I32      = $08;
 OP_DATA_PRE66_67 = $10;
 OP_WORD          = $20;
 OP_REL32         = $40;


const
 OpcodeFlags: array [$00..$FF] of byte =
 (
  OP_MODRM,                        // 00
  OP_MODRM,                        // 01
  OP_MODRM,                        // 02
  OP_MODRM,                        // 03
  OP_DATA_I8,                      // 04
  OP_DATA_PRE66_67,                // 05
  OP_NONE,                         // 06
  OP_NONE,                         // 07
  OP_MODRM,                        // 08
  OP_MODRM,                        // 09
  OP_MODRM,                        // 0A
  OP_MODRM,                        // 0B
  OP_DATA_I8,                      // 0C
  OP_DATA_PRE66_67,                // 0D
  OP_NONE,                         // 0E
  OP_NONE,                         // 0F
  OP_MODRM,                        // 10
  OP_MODRM,                        // 11
  OP_MODRM,                        // 12
  OP_MODRM,                        // 13
  OP_DATA_I8,                      // 14
  OP_DATA_PRE66_67,                // 15
  OP_NONE,                         // 16
  OP_NONE,                         // 17
  OP_MODRM,                        // 18
  OP_MODRM,                        // 19
  OP_MODRM,                        // 1A
  OP_MODRM,                        // 1B
  OP_DATA_I8,                      // 1C
  OP_DATA_PRE66_67,                // 1D
  OP_NONE,                         // 1E
  OP_NONE,                         // 1F
  OP_MODRM,                        // 20
  OP_MODRM,                        // 21
  OP_MODRM,                        // 22
  OP_MODRM,                        // 23
  OP_DATA_I8,                      // 24
  OP_DATA_PRE66_67,                // 25
  OP_NONE,                         // 26
  OP_NONE,                         // 27
  OP_MODRM,                        // 28
  OP_MODRM,                        // 29
  OP_MODRM,                        // 2A
  OP_MODRM,                        // 2B
  OP_DATA_I8,                      // 2C
  OP_DATA_PRE66_67,                // 2D
  OP_NONE,                         // 2E
  OP_NONE,                         // 2F
  OP_MODRM,                        // 30
  OP_MODRM,                        // 31
  OP_MODRM,                        // 32
  OP_MODRM,                        // 33
  OP_DATA_I8,                      // 34
  OP_DATA_PRE66_67,                // 35
  OP_NONE,                         // 36
  OP_NONE,                         // 37
  OP_MODRM,                        // 38
  OP_MODRM,                        // 39
  OP_MODRM,                        // 3A
  OP_MODRM,                        // 3B
  OP_DATA_I8,                      // 3C
  OP_DATA_PRE66_67,                // 3D
  OP_NONE,                         // 3E
  OP_NONE,                         // 3F
  OP_NONE,                         // 40
  OP_NONE,                         // 41
  OP_NONE,                         // 42
  OP_NONE,                         // 43
  OP_NONE,                         // 44
  OP_NONE,                         // 45
  OP_NONE,                         // 46
  OP_NONE,                         // 47
  OP_NONE,                         // 48
  OP_NONE,                         // 49
  OP_NONE,                         // 4A
  OP_NONE,                         // 4B
  OP_NONE,                         // 4C
  OP_NONE,                         // 4D
  OP_NONE,                         // 4E
  OP_NONE,                         // 4F
  OP_NONE,                         // 50
  OP_NONE,                         // 51
  OP_NONE,                         // 52
  OP_NONE,                         // 53
  OP_NONE,                         // 54
  OP_NONE,                         // 55
  OP_NONE,                         // 56
  OP_NONE,                         // 57
  OP_NONE,                         // 58
  OP_NONE,                         // 59
  OP_NONE,                         // 5A
  OP_NONE,                         // 5B
  OP_NONE,                         // 5C
  OP_NONE,                         // 5D
  OP_NONE,                         // 5E
  OP_NONE,                         // 5F
  OP_NONE,                         // 60
  OP_NONE,                         // 61
  OP_MODRM,                        // 62
  OP_MODRM,                        // 63
  OP_NONE,                         // 64
  OP_NONE,                         // 65
  OP_NONE,                         // 66
  OP_NONE,                         // 67
  OP_DATA_PRE66_67,                // 68
  OP_MODRM or OP_DATA_PRE66_67,    // 69
  OP_DATA_I8,                      // 6A
  OP_MODRM or OP_DATA_I8,          // 6B
  OP_NONE,                         // 6C
  OP_NONE,                         // 6D
  OP_NONE,                         // 6E
  OP_NONE,                         // 6F
  OP_DATA_I8,                      // 70
  OP_DATA_I8,                      // 71
  OP_DATA_I8,                      // 72
  OP_DATA_I8,                      // 73
  OP_DATA_I8,                      // 74
  OP_DATA_I8,                      // 75
  OP_DATA_I8,                      // 76
  OP_DATA_I8,                      // 77
  OP_DATA_I8,                      // 78
  OP_DATA_I8,                      // 79
  OP_DATA_I8,                      // 7A
  OP_DATA_I8,                      // 7B
  OP_DATA_I8,                      // 7C
  OP_DATA_I8,                      // 7D
  OP_DATA_I8,                      // 7E
  OP_DATA_I8,                      // 7F
  OP_MODRM or OP_DATA_I8,          // 80
  OP_MODRM or OP_DATA_PRE66_67,    // 81
  OP_MODRM or OP_DATA_I8,          // 82
  OP_MODRM or OP_DATA_I8,          // 83
  OP_MODRM,                        // 84
  OP_MODRM,                        // 85
  OP_MODRM,                        // 86
  OP_MODRM,                        // 87
  OP_MODRM,                        // 88
  OP_MODRM,                        // 89
  OP_MODRM,                        // 8A
  OP_MODRM,                        // 8B
  OP_MODRM,                        // 8C
  OP_MODRM,                        // 8D
  OP_MODRM,                        // 8E
  OP_MODRM,                        // 8F
  OP_NONE,                         // 90
  OP_NONE,                         // 91
  OP_NONE,                         // 92
  OP_NONE,                         // 93
  OP_NONE,                         // 94
  OP_NONE,                         // 95
  OP_NONE,                         // 96
  OP_NONE,                         // 97
  OP_NONE,                         // 98
  OP_NONE,                         // 99
  OP_DATA_I16 or OP_DATA_PRE66_67, // 9A
  OP_NONE,                         // 9B
  OP_NONE,                         // 9C
  OP_NONE,                         // 9D
  OP_NONE,                         // 9E
  OP_NONE,                         // 9F
  OP_DATA_PRE66_67,                // A0
  OP_DATA_PRE66_67,                // A1
  OP_DATA_PRE66_67,                // A2
  OP_DATA_PRE66_67,                // A3
  OP_NONE,                         // A4
  OP_NONE,                         // A5
  OP_NONE,                         // A6
  OP_NONE,                         // A7
  OP_DATA_I8,                      // A8
  OP_DATA_PRE66_67,                // A9
  OP_NONE,                         // AA
  OP_NONE,                         // AB
  OP_NONE,                         // AC
  OP_NONE,                         // AD
  OP_NONE,                         // AE
  OP_NONE,                         // AF
  OP_DATA_I8,                      // B0
  OP_DATA_I8,                      // B1
  OP_DATA_I8,                      // B2
  OP_DATA_I8,                      // B3
  OP_DATA_I8,                      // B4
  OP_DATA_I8,                      // B5
  OP_DATA_I8,                      // B6
  OP_DATA_I8,                      // B7
  OP_DATA_PRE66_67,                // B8
  OP_DATA_PRE66_67,                // B9
  OP_DATA_PRE66_67,                // BA
  OP_DATA_PRE66_67,                // BB
  OP_DATA_PRE66_67,                // BC
  OP_DATA_PRE66_67,                // BD
  OP_DATA_PRE66_67,                // BE
  OP_DATA_PRE66_67,                // BF
  OP_MODRM or OP_DATA_I8,          // C0
  OP_MODRM or OP_DATA_I8,          // C1
  OP_DATA_I16,                     // C2
  OP_NONE,                         // C3
  OP_MODRM,                        // C4
  OP_MODRM,                        // C5
  OP_MODRM or OP_DATA_I8,          // C6
  OP_MODRM or OP_DATA_PRE66_67,    // C7
  OP_DATA_I8 or OP_DATA_I16,       // C8
  OP_NONE,                         // C9
  OP_DATA_I16,                     // CA
  OP_NONE,                         // CB
  OP_NONE,                         // CC
  OP_DATA_I8,                      // CD
  OP_NONE,                         // CE
  OP_NONE,                         // CF
  OP_MODRM,                        // D0
  OP_MODRM,                        // D1
  OP_MODRM,                        // D2
  OP_MODRM,                        // D3
  OP_DATA_I8,                      // D4
  OP_DATA_I8,                      // D5
  OP_NONE,                         // D6
  OP_NONE,                         // D7
  OP_WORD,                         // D8
  OP_WORD,                         // D9
  OP_WORD,                         // DA
  OP_WORD,                         // DB
  OP_WORD,                         // DC
  OP_WORD,                         // DD
  OP_WORD,                         // DE
  OP_WORD,                         // DF
  OP_DATA_I8,                      // E0
  OP_DATA_I8,                      // E1
  OP_DATA_I8,                      // E2
  OP_DATA_I8,                      // E3
  OP_DATA_I8,                      // E4
  OP_DATA_I8,                      // E5
  OP_DATA_I8,                      // E6
  OP_DATA_I8,                      // E7
  OP_DATA_PRE66_67 or OP_REL32,    // E8
  OP_DATA_PRE66_67 or OP_REL32,    // E9
  OP_DATA_I16 or OP_DATA_PRE66_67, // EA
  OP_DATA_I8,                      // EB
  OP_NONE,                         // EC
  OP_NONE,                         // ED
  OP_NONE,                         // EE
  OP_NONE,                         // EF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -