首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
付费问答
发新帖
0
0
[旧帖]
[求助]MASM中变量名的使用?
0.00雪花
发表于: 2012-6-25 07:53
1779
[旧帖]
[求助]MASM中变量名的使用?
0.00雪花
NoGood
2012-6-25 07:53
1779
在看《加密与解密第三版》的第16章:外壳编写基础时,发现如下用法
ShellStart0 LABEL DWORD
pushad
call next0
ImprotTable DD XXXX
next0:
pop ebp
sub ebp, (ImportTable - ShellStart0) ;请问这句用的是ImportTable的地址吗?
如果是那么,mov ImportTable, 1234用的是ImprotTable指向的内存数据吗?
难道它既能当地址用,又能当内存数据用?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
3
)
fortitan
雪 币:
110
活跃值:
(25)
能力值:
( LV3,RANK:20 )
在线值:
发帖
17
回帖
63
粉丝
0
关注
私信
fortitan
2
楼
其实只需要去看看下面这一句反汇编就知道ImprotTable默认是代表什么了。
jmp ImprotTable
至于这样的用法ImportTable - ShellStart0,这只能说这是编译器的一个特性罢了,换一个编译器说不定就会报错。
从本质而言,标签只是一个地址,如40001000。而变量就是DWORD PTR [40001000]之类。指针本身是一个DWORD的变量,只是它保存的是一个地址而已。心中有数就行了,不用过分纠结编译器的语法。
2012-6-25 11:49
0
NoGood
雪 币:
44
活跃值:
(25)
能力值:
( LV2,RANK:10 )
在线值:
发帖
18
回帖
41
粉丝
0
关注
私信
NoGood
3
楼
是啊,但是编译器让人产生歧义很不爽,比如NASM,用地址时,用ImportTable表示地址,[ImportTable]表示数据。
2012-6-25 13:54
0
无边
雪 币:
9479
活跃值:
(757)
能力值:
( LV2,RANK:10 )
在线值:
发帖
17
回帖
606
粉丝
3
关注
私信
无边
4
楼
sub是32位的,
所以ImprotTable就是32位的数据,DWORD,双字
汇编基础知识
否则要加PTR,亲
2012-6-30 01:03
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
NoGood
18
发帖
41
回帖
10
RANK
关注
私信
他的文章
[讨论]没有导出表的libjpeg怎么使用?
1913
[求助]《加密与解密第三版》中的疑问?
1054
[求助]MASM中变量名的使用?
1780
[原创]LZMA最新版使用方法
2057
[原创]Detour补丁实现加载任意SkinSharp皮肤文件(有码)
2300
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部