首页
社区
课程
招聘
[求助]vs2010编写64位驱动不加入内敛汇编正常,加入了就出错,请问大神们怎么处理啊!
发表于: 2017-7-15 09:33 7643

[求助]vs2010编写64位驱动不加入内敛汇编正常,加入了就出错,请问大神们怎么处理啊!

2017-7-15 09:33
7643

vs2010编写64位驱动不加入内敛汇编正常,加入了就出错,请问大神们怎么处理啊!

NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver,PUNICODE_STRING str)

{

DbgPrint("驱动加载!!!!!!!!\r\n");//只有在Debug下才会使用

_asm

{  push eax;

 pop eax;

 mov eax,eax

}

//HookPsGetContextThread();//hookPsGetContextThread

//HookPsSetContextThread();

//HookNtQueryInformationThread();

pDriver->DriverUnload=ddk_Unload;

return (1);

}

出现下面错误,如果没有 push eax,pop eax则正常,配置属性->平台工具 设置为:Intel C++ Compiler XE 15.0

1>G:\2\2\2.cpp(16,7): error : Unsupported instruction form in asm instruction push.

1>G:\2\2\2.cpp(17,7): error : Unsupported instruction form in asm instruction pop.

1>": : error : fatal error: compilation terminated

我该怎么做啊?



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

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
惊了,64位汇编你写个eax
2017-7-15 10:17
0
雪    币: 2161
活跃值: (750)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3

RAX

2017-7-15 11:14
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
hzqst 惊了,64位汇编你写个eax
潜水艇大哥,64位是不是只能用shellcode?
2017-7-15 11:29
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
5
AgpoeXX 潜水艇大哥,64位是不是只能用shellcode?
可以写asm文件,但是64位汇编没有push  eax  pop  eax这种东西的啊
2017-7-15 11:42
0
雪    币: 347
活跃值: (991)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
64位不支持内联汇编,需要单独放到asm文件中。另外,push  eax语法上正确,不过你确定不是rax么?
2017-7-15 12:53
0
雪    币: 272
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
hzqst 惊了,64位汇编你写个eax
所以这是MS禁止64内嵌汇编的原因之一。    除非证明你非常精通ASM,那么用ASM文件来写吧!
2017-7-15 15:54
0
雪    币: 171
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
EvilTobe 64位不支持内联汇编,需要单独放到asm文件中。另外,push eax语法上正确,不过你确定不是rax么?
对啊,寄存器不对啊
,谢谢啊,我再试试啊!
2017-7-15 16:08
0
雪    币: 171
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这个问题解决了,又出现一个错误1>ipo:  :  error  #11018:  Cannot  open  MSVCRT.LIB
1>ipo:  :  error  #11018:  Cannot  open  LIBCMT.LIB
1>    xilink:  executing  'link'
1>LINK  :  fatal  error  LNK1181:  无法打开输入文件“MSVCRT.LIB”
大神们告诉一下的啊!
2017-7-15 16:41
0
雪    币: 9
活跃值: (384)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
神奇的是,多了俩分号
2018-5-12 09:02
0
雪    币: 4139
活跃值: (2854)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
11

1.新建一个ASM文件

 

2.配置选项

  • 右键MyDriver4 选择生成定义
  • 选择masm
  • 右键myAsm 选择属性

  • 选择 Microsoft Macro Assembler

    3.写代码

  • asm代码如下,注意格式
  • 驱动代码 加入函数定义void inlinkAsm(); 像正常函数一样调用即可

  • 编译

2018-5-12 11:00
6
雪    币: 73
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
百度 parallel_studio_xe_2013_update1_novsshell_setup.exe
去下一个安装起来找个key文件就能用了
最后于 2018-5-16 20:13 被lyfwwb编辑 ,原因:
2018-5-16 20:10
0
雪    币: 1182
活跃值: (959)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
chpeagle # 1.新建一个ASM文件 ![](upload/attach/201805/793792_PKFJC5GU3UVPBVV.png) ![](upload/attach/201805/79 ...
这就是传说中的手把手教学?
2020-2-4 23:56
0
游客
登录 | 注册 方可回帖
返回
//