1, 如何将IDA中地址与x64dbg 地址对应起来?
在x64dbg中,点开 “内存布局” 标签页,查看exe的地址,比如:002A0000
在ida中,点击菜单:Editor/Segments/Rebase program... 设置值为002A0000
这样ida中的地址即为运行的内存地址
2, lea与mov区别
lea是“load effective address”的缩写,简单的说,lea指令可以用来将一个内存地址直接赋给目的操作数,例如:
lea eax,[ebx+8]就是将ebx+8这个值直接赋给eax,而不是把ebx+8处的内存地址里的数据赋给eax。
而mov指令则恰恰相反,例如:
mov eax,[ebx+8]则是把内存地址为ebx+8处的数据赋给eax。
lea eax,[eax+2*eax]的效果是eax = eax + eax * 2
mov edx [ebp+16]的效果是edx=*(dword*)(ebp+16)
3, 汇编伪指令db,dw,dd的问题
db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1
dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2
dd定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4
dq定义4字类型变量,一个双字数据占8个字节单元,读完一个,偏移量加8
网友评论