首页
社区
课程
招聘
[旧帖] 再发关于数据内存定位问题 0.00雪花
发表于: 2009-6-15 09:18 2189

[旧帖] 再发关于数据内存定位问题 0.00雪花

2009-6-15 09:18
2189
首先第一个问题是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这样

也是可行的,用前面的方法有什么有点呢?

假如我着段程序是这样的
10018001  60              pushad
10018002  E8 00000000    call PcMain01.10018007//自定位
10018007  5D              pop ebp//EBP的值为本行地址
这样的话EBX就是10018001了,哦还要说明一下我这时候也把程序的入口该成100018001了,pop ebp后EBP就是10018007了,这样的话是怎么样理解呢?

问题有点多,谢谢大家指教。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//