社区
汇编语言
帖子详情
汇编语言怎样调用Win Api ??
whupyf
2003-07-05 04:49:19
我反汇编了一段程序。
可是不知道这个程序是怎样调用Api的.
请高手指点下
...全文
431
13
打赏
收藏
汇编语言怎样调用Win Api ??
我反汇编了一段程序。 可是不知道这个程序是怎样调用Api的. 请高手指点下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
smuwcwt
2003-08-01
打赏
举报
回复
学习学习
Yashmak
2003-07-31
打赏
举报
回复
invoke是个伪指令,
编译器会把它展开为
push 参数n
......
push 参数1
call 函数名(或地址)
返回值在eax中
当然,你要在文件头包含API的导入表
include ***.inc
includelib ***.lib
ckp
2003-07-29
打赏
举报
回复
我的肚子有点痛.:-)哈
ckp
2003-07-29
打赏
举报
回复
哈,楼上好有趣:-)
W32API
2003-07-29
打赏
举报
回复
拜托,不要开口就调用我好不好?
jzma
2003-07-29
打赏
举报
回复
就是在函数名后加伪指令PROTO,再跟一串由逗号相隔的数据类型链表。在前面的 ExitProcess 定义中,该函数有一个 DWORD 类型的参数。当您使用高层调用语句 INVOKE 时,使用函数原型定义特别有用,您可以简单地认为 INVOKE 是一个有参数类型检查的调用语句。譬如,假设您这样写:
call ExitProcess
若您事先没把一个DWORD类型参数压入堆栈,编译器和链接器都不会报错,但毫无疑问,在您的程序运行时将引起崩溃。但是,当您这样写:
invoke ExitProcess
连接器将报错提醒您忘记压入一个 DWORD 类型参数。所以我建议您用 INVOKE 指令而不是CALL去调用一个函数。INVOKE 的语法如下:
INVOKE expression [,arguments]
expression 既可以是一个函数名也可以是一个函数指针。参数由逗号隔开。大多数API函数的原型放在头文件中。 如果您用的是 hutch 的 MASM32,这些头文件在文件夹MASM32/include 下, 这些头文件的扩展名为 INC,函数名和 DLL 中的函数名相同,譬如:KERNEL32.LIB 引出的函数 ExitProcess 的函数原形声明于kernel.inc中。您也可以自己声明函数原型。
jzma
2003-07-16
打赏
举报
回复
提议返汇编,最好使用ida,里面写的非常清楚了
cupidvenus
2003-07-15
打赏
举报
回复
同意
bahanzo1
2003-07-07
打赏
举报
回复
invoke <函数名> 参数
神农氏
2003-07-07
打赏
举报
回复
基本同意楼上!
如调用MessageBox:
push MB_OK
push offset szText
push offset szCaption
push NULL
call dword ptr ds:[address]
address 是导入函数地址表的地址。
紫郢剑侠
2003-07-07
打赏
举报
回复
这要看你所使用的开发环境了.
如果用TASM
就要用CALL指令.如调用MessageBox:
push MB_OK
push offset szAppName
push offset szAppName
push hWnd
call MessageBox
如果是用MASM32,
可以用INVOKE伪指令.如调用MessageBox:
invoke MessageBox, hWnd, addr szAppName, addr szAppName, MB_OK
hotrain
2003-07-05
打赏
举报
回复
调用WIN32 API要在汇编语言的源程序开头声明函数和库。
至于INVOKE嘛,是一个伪操作,就相当于一连串的PUSH和一个CALL,使用INVOKE可以增强程序的可读性。如果不使用INVOKE的话,可以自己把相应的参数PUSH入栈,然后CALL相应的函数就可以了,不过要注意PUSH的顺序,后面的参数应该先入栈。
csdn20032004
2003-07-05
打赏
举报
回复
正常的Win32 汇编语言都是在程序的头部加上函数的声明以及库。
然后指定调用方式,即参数的调用方向,然后在程序中使用invoke 语句进行Api的调用。
WIN
32汇编程序源码级调试_VS2019_vs2019
win
32汇编_vs2019
win
32汇编_
Win
32汇编程序_
汇编语言
在
汇编语言
中使用
Win
32
API
,程序员可以直接控制操作系统,实现高效且精细的控制。 Visual Studio 2019(VS2019)是一个强大的集成开发环境(IDE),它支持多种编程语言,包括C++和
汇编语言
。要创建和调试
Win
32汇编...
汇编语言
推箱子
win
32
API
【
汇编语言
推箱子
win
32
API
】是一个利用
汇编语言
编程实现的基于
Win
dows操作系统的经典游戏——推箱子。这个游戏的实现主要依赖于
Win
32
API
(Application Programming Interface),它是微软为开发者提供的一个用于...
Win
32
汇编语言
教程
学习
Win
32
汇编语言
需要深入理解
Win
dows操作系统的工作原理,熟悉C语言编程基础,以及掌握
汇编语言
的基本语法和
Win
32
API
的使用。这篇教程旨在为开发者提供一个入门的起点,帮助他们探索这个复杂而富有挑战性的编程...
汇编语言
全接触
WIN
32ASM
在
Win
dows 32位环境下,
汇编语言
的编程涉及到对
Win
32
API
的
调用
,这是微软为应用程序提供的一系列接口。通过这些
API
,开发者可以实现图形用户界面、文件操作、网络通信等功能。因此,学习
WIN
32ASM意味着你需要了解...
Win
32
汇编语言
程序设计
《
Win
32
汇编语言
程序设计》是由罗云彬撰写的一本深入探讨
Win
32平台
汇编语言
编程的专业书籍。这本书旨在帮助读者理解和掌握在
Win
dows操作系统环境下,如何使用
汇编语言
进行程序设计。通过学习本书,读者将能够利用...
汇编语言
21,498
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章