首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
付费问答
发新帖
0
0
[旧帖]
为什么机器码和汇编码中CALL的地址看起来不一样
0.00雪花
发表于: 2011-3-23 19:59
4231
[旧帖]
为什么机器码和汇编码中CALL的地址看起来不一样
0.00雪花
sunstar
2011-3-23 19:59
4231
有的些地方机器码和汇编码CALL的地址是相对应的.图中第二条指令,看起来地址就不一样,是什么问题呢
还有个问题是,同一个软件,不同版本的两个主程序.他们汇编码一样的地方,机器码不相同,不知是为什么
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
3
)
门前小雪
雪 币:
31
活跃值:
(25)
能力值:
( LV2,RANK:10 )
在线值:
发帖
6
回帖
67
粉丝
0
关注
私信
门前小雪
2
楼
一条汇编代码是可以对应2条以上的二进制串的
比如说mov eax, 0
可能对应的二进制代码有:
1) C7 C0 00 00 00 00
2) B8 00 00 00 00
所以会有不同的机器码!
2011-3-24 09:11
0
firfor
雪 币:
122
活跃值:
(46)
能力值:
( LV5,RANK:60 )
在线值:
发帖
13
回帖
73
粉丝
0
关注
私信
firfor
1
3
楼
没有看到楼主的图,不过从我的经验来看的话。函数调用两种方式:一种是近调用,用的是相对地址。这个相对地址也是下一条指令的相对偏移量。而另外的一种调用方式就是绝对地址的远调用。
两者的机器码也是不一样的。
若为E8的为近调用,B4的为远调用,而用绝对寻址方式..。
所以我想是不同的编译版本导致了不同的调用方法吧。
因为近调用的话可以使代码更小
2011-3-26 11:14
0
weizehua
雪 币:
143
活跃值:
(61)
能力值:
( LV5,RANK:70 )
在线值:
发帖
13
回帖
208
粉丝
1
关注
私信
weizehua
1
4
楼
因为Call XXXXXXXX用的是相对地址
例如E8 00 00 00 00 Call当前地址
eg:
00401000 > E8 00000000 call 00401005
00401005
如果要绝对地址跳,那么我推荐把地址存进EAX,然后Call Eax
2011-3-27 14:43
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
sunstar
4
发帖
9
回帖
10
RANK
关注
私信
他的文章
[求助][求助]请教下为什么用OD附加进程查看可执行模式,个别显示为红色
2152
[求助][求助]请教下为什么用OD附加进程查看可执行模式,个别显示为红色
2834
为什么机器码和汇编码中CALL的地址看起来不一样
4232
新人初来报到.大虾门,小虾门多多关照
3692
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部