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

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

2021-3-1 16:25
993
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”: 第一操作数 中的非法符号


[看雪官方培训] Unicorn Trace还原Ollvm算法!《安卓高级研修班》2021年6月班开始招生!!

收藏
点赞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编辑 ,原因:
游客
登录 | 注册 方可回帖
返回