1.在MASM表达式中,你可以用poi来取任意指针指向的值
0:000> .expr Current expression evaluator: MASM - Microsoft Assembler expressions 0:000> dd eip L1 77ce054e fc7589cc 0:000> dd poi(77ce054e) L1 fc7589cc ????????
2.在c++表达式中,数值首先都被认为是10进制,所以你得加上0x来表示16进程,如果你需要取某个数值指向的值,你需要把数值强制转换成指针
0:000> .expr Current expression evaluator: C++ - C++ source expressions 0:000> dd *((int*)0x77ce054e) L1 fc7589cc ???????? 0:000> dd *((int*)77ce054e) L1 Unexpected token 'ce054e) '
地址范围
1.一对地址0:000> dd eip eip+6 77ce054e fc7589cc c0330eebdd,4字节的单位,所以被扩展为8个字节
2.地址 + 字母L
2.1.纯L,限制在256Mb以内,以地址为开始地址
2.2.L?,不限大小,以地址为开始地址
2.3.L-,以地址为结束地址
0:000> r eip eip=77ce054e 0:000> dd eip L?2 77ce054e fc7589cc c0330eeb 0:000> dd eip L-2 77ce0546 75e75d38 fc5d8917 0:000> ? eip-8 Evaluate expression: 2009990470 = 77ce0546