首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
经典问答
发新帖
0
0
天书夜读中的几句反汇编指令转不过弯来
发表于: 2010-1-21 15:26
3676
天书夜读中的几句反汇编指令转不过弯来
人与人
2010-1-21 15:26
3676
该书23页有段这样的C语言结构体反汇编代码及注释
给结构体中的某元素赋值
strs[I].a=0
反汇编代码
第一句 mov eax,dword ptr [i] ;
第二句 imul eax,eax,0ch ;把i*0ch放入eax,0ch是系统计算的结构体大小
第三句 mov ecx,dword ptr [strs] ;把strs的地址放入ecx
第四句 mov dword ptr [ecx+eax],0 ;得到strs[i]的地址并赋0
问?
在我的理解中 mov eax,[] 是将某内存中的值而不是地址放入寄存器,第三句能取出地址??
取地址不是应该有 lea 吗?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
6
)
toxsch
雪 币:
202
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
1
粉丝
0
关注
私信
toxsch
2
楼
str是数组名,本身就是一个指针,其值就是数组的首地址
2010-1-21 15:42
0
人与人
雪 币:
49
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
7
回帖
73
粉丝
0
关注
私信
人与人
3
楼
这是汇编又不是C啊
2010-1-21 16:10
0
sdoomawp
雪 币:
25
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
33
粉丝
0
关注
私信
sdoomawp
4
楼
我是刚刚学习的。还看不懂楼主的问题。解答不了。
楼主可以看看视频讲解。都是大学的讲解的。会有帮助的。
2010-1-21 16:12
0
kusky
雪 币:
666
活跃值:
(186)
能力值:
( LV9,RANK:190 )
在线值:
发帖
36
回帖
271
粉丝
1
关注
私信
kusky
4
5
楼
这段代码好像叫做“变址寻址”吧。
LEA 相当于 c 中的 a = &b 。 mov 相当于 c 中的 a = (void*) b。
strs的定义用c描述是
struct
{
void* p;
int a;
} strs;
2010-1-21 17:02
0
sjhk
雪 币:
3
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
33
粉丝
0
关注
私信
sjhk
6
楼
楼主可能理解错误了!!
mov ecx,dword ptr [strs]
从表面上看是直接寻址方式!我不懂C...具体是怎样就要看strs是什么形式了!
如果strs单单是一个地址,那么LZ就是对的!
像2楼说的strs是给指针呢?
这样LZ明白了吧?
2010-1-21 21:33
0
人与人
雪 币:
49
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
7
回帖
73
粉丝
0
关注
私信
人与人
7
楼
作者简写了,结帐
2010-1-22 12:11
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
人与人
7
发帖
73
回帖
10
RANK
关注
私信
他的文章
windbg 自动下载的符号表怎么只有3.9MB
5657
天书夜读中的几句反汇编指令转不过弯来
3677
[求助]AND eax,eax OR eax,eax
1901
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部