首页
社区
课程
招聘
未解决 [求助]内嵌汇编提示 “memset”: 第一操作数中的非法符号
2021-3-1 16:25 2783

未解决 [求助]内嵌汇编提示 “memset”: 第一操作数中的非法符号

2021-3-1 16:25
2783
1
2
3
4
5
6
7
8
9
10
_asm
    {
    ...
        push 0x68
        push 0x0
        push ebx
        call memset
        add esp, 0xc
    ...
    }

上面的代码,在 vs2018 中,debug 模式下没有问题。release 模式下出错:
error C2420: “memcpy”: 第一操作数 中的非法符号


[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

收藏
免费 0
打赏
分享
最新回复 (2)
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
kanzryxue 2021-3-1 16:26
2
0

把memset方法的地址在汇编代码模块外获取,存到局部变量,然后再调用就没问题了:

DWORD dwMemSet = (DWORD)memset;
    _asm
        {
        ...
            push 0x68
            push 0x0
            push ebx
            mov eax,dword ptr dwMemSet
            call eax
            add esp, 0xc
        ...
        }

最后于 2021-3-1 16:27 被kanzryxue编辑 ,原因:
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
kanzryxue 2021-3-1 16:27
3
0


最后于 2021-3-1 16:28 被kanzryxue编辑 ,原因:
游客
登录 | 注册 方可回帖
返回