1.双机调试下
虚拟机打开test.exe文件
int main()
{
printf("%p" , "aaabbbccc");
}
exe打印的虚拟地址:00217B30
2.转二进制: 00000000 00100001 01111011 00110000
按10-10-12拆分:0000000000 1000010111 101100110000
变成了:0-217-B30
3.kd> ! process 0 0 test.exe
获取到到DirBase:00258000
4.kd> !00258000
根据【0-217-B30】的【0】项,获取到27bf4847
清除后三位获得 27bf4000
5.kd> !dd 27bf4000 +217*4
根据【0-217-B30】的【217】下标,获取到281f5005
清除后三位获得 281f5000
6.kd> !db 281f5000 +B30
根据【0-217-B30】的【B30】偏移,获取到数据