首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
软件逆向
发新帖
2
0
[求助]一个嵌入汇编的小问题
发表于: 2008-7-10 11:21
5531
[求助]一个嵌入汇编的小问题
arryang
1
2008-7-10 11:21
5531
编译器:vc6
用嵌入汇编如下:
wchar_t wcTest[0x10] = T("hello");
for(int i = 0; i < 0x10; i++)
{
__asm
{
pushad
....
movzx ecx, wcTest[i] // 这里引发一个异常,请问是怎么回事?该如何写才能正确呢?
...
popad
}
}
3x
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
#调试逆向
收藏
・
2
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
8
)
busy
雪 币:
39
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
4
回帖
78
粉丝
0
关注
私信
busy
2
楼
把那句换成下面两句试试
mov eax, i;
movzx ecx, wcTest[eax * TYPE wchar_t];
当然我这个是猜测那个指令的意图 不一定正确
2008-7-10 13:52
0
snowbirdcn
雪 币:
203
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
21
粉丝
0
关注
私信
snowbirdcn
3
楼
楼主可以看看编译出来的代码,ecx会不会被用来循环,比如Loop什么的,然后wcTest[i]可能会变成wcTest + ecx*2,ecx被赋值导致地址不可访问?
我也只是猜测,最好看看编译出来的目标代码。怀疑ecx其他地方被使用
2008-7-10 15:28
0
writer15
雪 币:
212
活跃值:
(40)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
98
粉丝
0
关注
私信
writer15
4
楼
VC6就不要用了BUG太多.
movzx ecx, wcTest[i]返汇编出来的结果居然是
movzx ecx, [ebp + ebp -4]
狂倒ING~~
2008-7-11 10:43
0
wjtxt
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
7
粉丝
0
关注
私信
wjtxt
5
楼
如上所述,编译出来的代码有问题,导致非法访问内存
2008-7-11 15:37
0
LaraCraft
雪 币:
201
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
7
回帖
24
粉丝
0
关注
私信
LaraCraft
6
楼
不是 ecx的问题, 他前面已经pushad 了, 你调用的是局部变量,不要用
movzx ecx, wcTest[i]
计算出 wcTest的偏移比方是xx
用 movzx ecx. [ebp+xx+i*2] 就好了
或者直接
static wchar_t wcTest[0x10] = T("hello");
2008-7-13 14:49
0
snowbirdcn
雪 币:
203
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
21
粉丝
0
关注
私信
snowbirdcn
7
楼
[QUOTE=writer15;479366]VC6就不要用了BUG太多.
movzx ecx, wcTest[i]返汇编出来的结果居然是
movzx ecx, [ebp + ebp -4]
狂倒ING~~[/QUOTE]
那么就是说VC6对嵌入汇编的数组索引访问编译有bug,呵呵
2008-7-14 10:34
0
snowbirdcn
雪 币:
203
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
21
粉丝
0
关注
私信
snowbirdcn
8
楼
所以,看起来嵌入汇编不能用数组索引,最好使用正规的汇编寻址方式,像6楼那样
2008-7-14 10:36
0
morning
雪 币:
367
活跃值:
(20)
能力值:
( LV5,RANK:70 )
在线值:
发帖
36
回帖
494
粉丝
3
关注
私信
morning
1
9
楼
内联汇编不如naked干脆,否则,有时候编译出来莫名其妙的
2008-7-16 18:31
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
arryang
1
100
发帖
264
回帖
50
RANK
关注
私信
他的文章
[求助] 如何开发引导阶段的程序?
4782
[求助]ISO 引导阶段的程序如何逆向?
2886
[求助]OD总是卡死如何解决?
7866
[求助]如何知道是哪个程序修改操作系统时间?
6098
[求助]哪位研究过Cuda程序的调试和反汇编?
4199
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部