aardio 文档

udis86 库模块帮助文档

udis86 成员列表

udis86()

创建udis86反汇编对象

返回对象:udis86Object

udis86Object 成员列表

udis86Object.addPc(相对偏移值)

提供一个相对偏移修改程序指令地址

udis86Object.asm

返汇编代码

udis86Object.base

指令起始位置

udis86Object.byteCode()

返回当前反编译的字节码

udis86Object.disassemble()

while( udis86Object.disassemble() ){
    io.print( "汇编代码:",ud.asm )
    io.print( "指令长度:",ud.len )
    io.print( "PC:",ud.pc )
    io.print("")
}

udis86Object.hexCode()

以16进制格式返回已处理的字节码

udis86Object.inputEnd()

是否到输入尾

udis86Object.inputSkip(节点数)

跳过输入字节数

udis86Object.len

当前指令长度

udis86Object.operand()

返回对象:udis86OperandObject

udis86Object.operand(操作数索引)

返回指定的操作数信息

udis86Object.pc

程序指令地址,即Program Counter

udis86Object.setInputBuffer(机器码,长度,EIP)

设置需要反汇编的机器码,
参数一可以是字符串或缓冲区指针
其他参数可选

udis86Object.setMode(32)

设置CPU模式,默认为32位

udis86Object.setPc(EIP)

修改程序指令地址

udis86Object.setVendor( _UD_VENDOR )

设置CPU厂商

udis86Object.translateAtt()

使用ATT汇编语法

udis86Object.translateIntel()

使用intel汇编语法

udis86OperandObject 成员列表

udis86OperandObject.BYTE oprcode

oprcode

udis86OperandObject.LONG disp

disp

udis86OperandObject.base

值为 UD 前缀常量

udis86OperandObject.index

值为 UD 前缀常量

udis86OperandObject.offset

offset

udis86OperandObject.scale

scale

udis86OperandObject.size

size

udis86OperandObject.type

值为 UD 前缀常量

udis86OperandObject.lval 成员列表

udis86OperandObject.lval.sbyte

sbyte

udis86OperandObject.lval.sdword

sdword

udis86OperandObject.lval.sqword

sqword

udis86OperandObject.lval.sword

sword

udis86OperandObject.lval.ubyte

ubyte

udis86OperandObject.lval.udword

udword

udis86OperandObject.lval.uqword

uqword

udis86OperandObject.lval.uword

uword

udis86OperandObject.lval.ptr 成员列表

udis86OperandObject.lval.ptr.off

off

udis86OperandObject.lval.ptr.seg

seg

自动完成常量

_UD_NONE=0
_UD_OP_CONST=0x91
_UD_OP_IMM=0x8F
_UD_OP_JIMM=0x90
_UD_OP_MEM=0x8D
_UD_OP_PTR=0x8E
_UD_OP_REG=0x8C
_UD_R_AH=5
_UD_R_AL=1
_UD_R_AX=0x15
_UD_R_BH=8
_UD_R_BL=4
_UD_R_BP=0x1A
_UD_R_BPL=0xA
_UD_R_BX=0x18
_UD_R_CH=6
_UD_R_CL=2
_UD_R_CR0=0x4B
_UD_R_CR1=0x4C
_UD_R_CR10=0x55
_UD_R_CR11=0x56
_UD_R_CR12=0x57
_UD_R_CR13=0x58
_UD_R_CR14=0x59
_UD_R_CR15=0x5A
_UD_R_CR2=0x4D
_UD_R_CR3=0x4E
_UD_R_CR4=0x4F
_UD_R_CR5=0x50
_UD_R_CR6=0x51
_UD_R_CR7=0x52
_UD_R_CR8=0x53
_UD_R_CR9=0x54
_UD_R_CS=0x46
_UD_R_CX=0x16
_UD_R_DH=7
_UD_R_DI=0x1C
_UD_R_DIL=0xC
_UD_R_DL=3
_UD_R_DR0=0x5B
_UD_R_DR1=0x5C
_UD_R_DR10=0x65
_UD_R_DR11=0x66
_UD_R_DR12=0x67
_UD_R_DR13=0x68
_UD_R_DR14=0x69
_UD_R_DR15=0x6A
_UD_R_DR2=0x5D
_UD_R_DR3=0x5E
_UD_R_DR4=0x5F
_UD_R_DR5=0x60
_UD_R_DR6=0x61
_UD_R_DR7=0x62
_UD_R_DR8=0x63
_UD_R_DR9=0x64
_UD_R_DS=0x48
_UD_R_DX=0x17
_UD_R_EAX=0x25
_UD_R_EBP=0x2A
_UD_R_EBX=0x28
_UD_R_ECX=0x26
_UD_R_EDI=0x2C
_UD_R_EDX=0x27
_UD_R_ES=0x45
_UD_R_ESI=0x2B
_UD_R_ESP=0x29
_UD_R_FS=0x49
_UD_R_GS=0x4A
_UD_R_MM0=0x6B
_UD_R_MM1=0x6C
_UD_R_MM2=0x6D
_UD_R_MM3=0x6E
_UD_R_MM4=0x6F
_UD_R_MM5=0x70
_UD_R_MM6=0x71
_UD_R_MM7=0x72
_UD_R_R10=0x3F
_UD_R_R10B=0xF
_UD_R_R10D=0x2F
_UD_R_R10W=0x1F
_UD_R_R11=0x40
_UD_R_R11B=0x10
_UD_R_R11D=0x30
_UD_R_R11W=0x20
_UD_R_R12=0x41
_UD_R_R12B=0x11
_UD_R_R12D=0x31
_UD_R_R12W=0x21
_UD_R_R13=0x42
_UD_R_R13B=0x12
_UD_R_R13D=0x32
_UD_R_R13W=0x22
_UD_R_R14=0x43
_UD_R_R14B=0x13
_UD_R_R14D=0x33
_UD_R_R14W=0x23
_UD_R_R15=0x44
_UD_R_R15B=0x14
_UD_R_R15D=0x34
_UD_R_R15W=0x24
_UD_R_R8=0x3D
_UD_R_R8B=0xD
_UD_R_R8D=0x2D
_UD_R_R8W=0x1D
_UD_R_R9=0x3E
_UD_R_R9B=0xE
_UD_R_R9D=0x2E
_UD_R_R9W=0x1E
_UD_R_RAX=0x35
_UD_R_RBP=0x3A
_UD_R_RBX=0x38
_UD_R_RCX=0x36
_UD_R_RDI=0x3C
_UD_R_RDX=0x37
_UD_R_RIP=0x8B
_UD_R_RSI=0x3B
_UD_R_RSP=0x39
_UD_R_SI=0x1B
_UD_R_SIL=0xB
_UD_R_SP=0x19
_UD_R_SPL=9
_UD_R_SS=0x47
_UD_R_ST0=0x73
_UD_R_ST1=0x74
_UD_R_ST2=0x75
_UD_R_ST3=0x76
_UD_R_ST4=0x77
_UD_R_ST5=0x78
_UD_R_ST6=0x79
_UD_R_ST7=0x7A
_UD_R_XMM0=0x7B
_UD_R_XMM1=0x7C
_UD_R_XMM10=0x85
_UD_R_XMM11=0x86
_UD_R_XMM12=0x87
_UD_R_XMM13=0x88
_UD_R_XMM14=0x89
_UD_R_XMM15=0x8A
_UD_R_XMM2=0x7D
_UD_R_XMM3=0x7E
_UD_R_XMM4=0x7F
_UD_R_XMM5=0x80
_UD_R_XMM6=0x81
_UD_R_XMM7=0x82
_UD_R_XMM8=0x83
_UD_R_XMM9=0x84
_UD_VENDOR_AMD=0
_UD_VENDOR_ANY=2
_UD_VENDOR_INTEL=1

Markdown 格式