首页
社区
课程
招聘
[求助]新人不懂就问,c+汇编混合编程,求大牛解答
发表于: 2021-6-29 10:17 3574

[求助]新人不懂就问,c+汇编混合编程,求大牛解答

2021-6-29 10:17
3574

#include "stdafx.h"

 

#include <stdio.h>

 

#include <windows.h>

 

int main(int argc, char* argv[])
{
DWORD hKernel32 = 0;
__asm
{
mov eax, fs:[30h]
mov eax, dword ptr[eax+0ch]
mov esi, dword ptr[eax+1ch]
lodsd
mov eax, dowrd ptr[eax+8h]
mov hKernel32, eax
}
printf("hKernel32 = %x\n",hKernel32);
return 0;
}
xp sp3+vc6(x86)
报错如下:
error C2408: illegal type on PTR operator in 'second operand'

 

指向这一行

 

mov hKernel32, eax

 

说是运算符上的类型非法

 

我这按照《加密与解密》第556页下面抄的,莫不是混合编程的语法有问题?

 

用vs2019也报相同的错,盲猜是编写问题,求大牛帮助


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-6-29 10:19 被mb_dqyshwwi编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 10939
活跃值: (2895)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
2
mov [hKernel32], eax
2021-6-29 10:34
0
雪    币: 6076
活跃值: (5480)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
3
mov eax, dowrd ptr[eax+8h] 这句错了 dword
2021-6-29 10:37
0
雪    币: 891
活跃值: (591)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

 1

最后于 2021-6-29 10:57 被什编辑 ,原因:
2021-6-29 10:39
0
雪    币: 238
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
大佬666
2021-6-30 11:46
0
游客
登录 | 注册 方可回帖
返回
//