首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
付费问答
发新帖
0
0
[旧帖]
[求助]这个call $+5 语句是什么意思?
0.00雪花
发表于: 2007-5-14 10:16
7057
[旧帖]
[求助]这个call $+5 语句是什么意思?
0.00雪花
dddpppbox
2007-5-14 10:16
7057
0804830B call $+5
08048310 pop ebx
这个call语句我看不懂,编译器为什么要这样编译?用一个JMP 不行吗?或者直接删掉我觉得也可以
上下文:
call_gmon_start proc near
push ebp
mov ebp, esp
push ebx
sub esp, 4
call $+5 //0804830B
pop ebx //08048310
add ebx,12D8h
mov edx,[ebx-4]
test edx,edx
jz short loc_8048326
call __gmon_start__
loc_8048326:
...
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
5
)
viewer
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
2
回帖
11
粉丝
0
关注
私信
viewer
2
楼
这是一个重定位的方法,一般还有一句.
call $+5
就是说调用下一个语句。5是本条语句的长度。
2007-5-14 12:01
0
dddpppbox
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
7
粉丝
0
关注
私信
dddpppbox
3
楼
我还是不懂,用JMP不行吗?还不用对IP压栈.那样不是更快?
2007-5-14 14:55
0
GoogleDX
雪 币:
0
能力值:
(RANK:10 )
在线值:
发帖
0
回帖
101
粉丝
0
关注
私信
GoogleDX
4
楼
想起了学生时代初学病毒也是对这个很疑惑。。。。
call $+5 //0804830B
pop ebx //08048310
add ebx,12D8h
call的时候返回地址压栈,下一句把栈里头的地址取到ebx了,后面可能用到的。
其实就是确定当前绝对地址
2007-5-14 15:07
0
dddpppbox
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
7
粉丝
0
关注
私信
dddpppbox
5
楼
这么说配合着前面一句 sub esp 4 就是相当于 ebx 存放的是 刚才的eip (相当于 mov ebx,eip--如果可以这样写的话) 5是call语句的长度,我应该是明白了
谢谢GoogleDX,谢谢viewer
2007-5-14 15:34
0
viewer
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
2
回帖
11
粉丝
0
关注
私信
viewer
6
楼
就是需要它压栈,这样pop出来的是call语句的下一条指令地址。
用途在于定位这一段代码在内存中的位置。这是加壳和病毒技术常用的手段。病毒当中著名的delta函数就是这个了。。。。
2007-5-14 17:25
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
dddpppbox
3
发帖
7
回帖
10
RANK
关注
私信
他的文章
[求助]在IDA-SDK中 jump immediat应该怎么实现?
5720
[求助]这个call $+5 语句是什么意思?
7058
[求助]关于二进制文件缓冲区溢出检测静态分析的算法
5087
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部