社区
汇编语言
帖子详情
汇编语言怎样调用Win Api ??
whupyf
2003-07-05 04:49:19
我反汇编了一段程序。
可是不知道这个程序是怎样调用Api的.
请高手指点下
...全文
410
13
打赏
收藏
汇编语言怎样调用Win Api ??
我反汇编了一段程序。 可是不知道这个程序是怎样调用Api的. 请高手指点下
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
dows窗口代码,学生管理系统
汇编语言
推箱子
win
32
API
这是改编自网上的资源,解除了炸弹即作弊系统,但是应该显示的时间没有出现,以前调试成功了。希望后来之人能够改正。用radasm这款软件编译,路径名必须改,因为那是在另一台电脑上运行。
Win
32
汇编语言
教程
Win
32
汇编语言
教程
汇编语言
全接触
WIN
32ASM
很全面的介绍
汇编语言
的CHM文件。 包括
汇编语言
的各个方面 并附有很好的
汇编语言
的实例
Win
32
汇编语言
程序设计
Win
32
汇编语言
程序设计 罗云彬 chm格式
汇编语言
21,497
社区成员
41,616
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章