内存中数据定位的问题
首先第一个问题是pushad这个命令执行完后,EBX的值为10018000?
pop ebp执行完后EBP的值为10018006?
(见下面的命令)
10018000 60 pushad
10018001 E8 00000000 call PcMain01.10018006//自定位
10018006 5D pop ebp//EBP的值为本行地址
第二个问题是这样的:还是利用上面这段代码,假如在一个程序中的一个内存地址,打个比方是10019000,我想在这个地方写
入字节23,我用命令mov byte ptr ds:[ebp+(10019000-10018006)],23.因为这种方法是别人用的,我不明白的是EBP可以换成
别的寄存器吗,比如EBX,还有就是怎么样决定段地址是用DS而不是别的。通过自己试验直接mov byte ptr [10019000],23这样
也是可行的,用前面的方法有什么有点呢?
问题有点多,谢谢大家指教。