| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1623 人关注过本帖
标题:看来还是发个帖子求教吧-重定位
取消只看楼主 加入收藏
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
看来还是发个帖子求教吧-重定位
重定位
call @F
@@:
pop ebx
sub ebx,offset@B

这段代码问题之前有人问过了,我有几个地方还是有一点困惑
1    call @f    换成push @f或者push offset @f 对不对
2    sub ebx,offset@B    换成    sub ebx,@B    对不对
我在RADASM中试了试第二个好像是一样的。
谢谢大家了,顺便祝大家国庆快乐
搜索更多相关主题的帖子: 帖子 
2010-10-01 09:46
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
收藏
得分:0 
疑惑ing,如果call将正确的返回地址进栈,那么push能不能呢,push @f和push offset @f,我觉得前面一个可以,后面一个不对。
2010-10-01 09:50
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
收藏
得分:0 
刚和丫头去了超市,人真TMD多。用的RADASM不好编译啊
2010-10-01 10:49
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
收藏
得分:0 
版主,我还给你发了短信呢
2010-10-01 10:50
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
收藏
得分:0 
好吧,我试过了cal 改成 push 加了一个offset也一样
XXXXXXXX指令引用的XXXXXXXXXXX内存。该内存不能为writen
2010-10-01 12:01
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
收藏
得分:0 
谢谢大家乐,我会好好想的,特别谢谢版主和你们都要疼我哦
2010-10-01 14:47
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
收藏
得分:0 
顺便留个作业

    call $+5
    pop ebx
    sub ebx,$-1

这个 对吗? 自己想想啦
;--------------------------------------------
交作业了,我觉得应该是对的,call &+5正好是pop ebx的地址(这样形容可以吗),sub ebx,$-1也正好是pop ebx
;--------------------------------------------
终于找到我问题的关键了,zklhp 版主说的 刚才call @f的机器码是 E8 00000000,而push @f 的机器码68 05104000     因为带了05104000,所以移动的话会出错。。。。
不知道我的理解是不是
2010-10-01 15:13
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
收藏
得分:0 
你们真早啊,我刚送丫头去上学。。
2010-10-02 09:06
zongzhitao
Rank: 2
等 级:论坛游民
帖 子:16
专家分:10
注 册:2010-10-1
收藏
得分:0 
offset@B在编译时就固定了,以常量的形式存在,如果代码按照默认装载
地址装入,那么就不需要重定位,存在于ebx中的@@标号的实际地址和以常
量的形式存在的offset@B的值相等。
如果没有按照默认地址装载,那么他们的值是不等的,SUB以后就得到了两者
的差值,这个差值最后放在ebx中, 然后用这个差值去修正代码中需要进行
重新定位的数据。
实际装载地址可以每次都不同,即存在于ebx中的@@标号的实际地址可以每次
都不同, 但是offset@B在编译时就固定了,以常量的形式存在,不管实际地址
如何改变,这个值是固定不变的,它表示的就是不需重定位时@@标号的地址。
--------------------------------------------------------------------
感谢你们不厌其烦的为我解答,谢谢你们啦
2010-10-02 09:11
快速回复:看来还是发个帖子求教吧-重定位
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.073857 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved