| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2424 人关注过本帖
标题:罗云彬WIN32重定位代码中的奇怪字符
只看楼主 加入收藏
hb0zyj
该用户已被删除
收藏
已结贴  问题点数:10 回复次数:12 
罗云彬WIN32重定位代码中的奇怪字符
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 罗云彬 WIN 字符 代码 
2010-04-29 09:30
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
@F 向下跳到@@:处

@B 自己猜~
2010-04-29 09:44
hb0zyj
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-29 10:03
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
往上看~
2010-04-29 10:22
hb0zyj
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-29 10:34
swp160108
Rank: 2
等 级:论坛游民
威 望:4
帖 子:63
专家分:98
注 册:2008-11-10
收藏
得分:0 
书里不是说的很清楚了吗
2010-04-29 15:42
chengstone
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:562
专家分:226
注 册:2004-4-3
收藏
得分:0 
@Forward
@Back

很多汇编语言都有向前跳转和向后跳转的相对转移指令。
那么@F向前跳的话,@B就是向后跳,这里的前和后的概念一定要弄清楚。
CALL指令执行时,是将此指令的下一条指令地址入栈(在执行该调用指令时,首先将IP的内容入栈保护),那么不难理解
@@:
pop ebx
此次出栈的值应该就是@@位置的指令地址,那么我猜测sub ebx,offset @B的值应该是0

不知道对不对 希望有熟悉的朋友给予指正

qq:69558139
2010-04-29 15:56
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:2 
以下是引用hb0zyj在2010-4-29 10:34:36的发言:

你别忽悠我了,往上移动offset@B是哪?

类比一下啊

@F 是下一个@@

那@B当然是上一个~
2010-04-29 19:11
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:0 

call
pop
sub
组合用于自定位。
主要用于这个组合下面的一句代码的重定位

@@为标号, 在它前面 当然是@f , 在它后面 当然是@b ,这样理解比较顺畅。

call把返回地址压入栈中,即@@标号地址, POP弹出此地址到EBX,

offset @B 又取得@@标号地址,sub ebx,offset @B ,结果自然EBX为0,表示无须重定位。

要真正理解重定位的问题,需要知道sub ebx,offset @B 这句代码在编译后offset @B
就是固定的在设计时的地址,其他地址都是根据载入时可以变的,sub以后,ebx中就是差值, 这个组合下面通常也会有个需要重定位的OFFSET取的地址,用这个组合得到的差值ebx加上需要重定位的地址,就得到正确的地址。
喝多了,讲不太清楚,将就看吧。大概就这个意思。

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-04-29 22:28
hb0zyj
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-30 11:42
快速回复:罗云彬WIN32重定位代码中的奇怪字符
数据加载中...
 
   



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

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