调用ExitProcess适用于PE格式但不适用于PE64

时间:2016-02-07 19:42:27

标签: exit portable-executable kernel32 fasm

我对Assembly和FASM很新,实际上新的我无法让我的程序运行。

我从一些Hello world教程中“回收”了一些代码,我发现从KERNEL32.DLL调用ExitProcess在PE格式中工作正常,但不能在PE64中编译。

我正在尝试编译的程序是:

format PE64
entry start

include 'win32a.inc'

section '.code' code readable executable
start:
    invoke  ExitProcess,0

section '.idata' import data readable writeable

library kernel,'KERNEL32.DLL'
import kernel, ExitProcess,'ExitProcess' 

当我尝试编译它时,FASM说call ExitProcess是非法指令
在print.ASM [9]
在proc32.inc [20]

有人可以向我解释这里发生了什么,为什么?
如何解决这个问题还是有任何可靠的替代方案?

0 个答案:

没有答案