win32 汇编读文件

做了2个小程序,没有读成功;文件打开了;

		.386.model flat, stdcalloption casemap :noneinclude		windows.inc
include		user32.inc
includelib	user32.lib
include		kernel32.inc
includelib	kernel32.lib
include		Comdlg32.inc
includelib	Comdlg32.libICO_MAIN	equ	1000
DLG_MAIN	equ	1000
IDM_MAIN	equ	1000
IDM_OPEN	equ	1101
IDM_EXIT	equ	1104
IDC_INFO	equ	101.data
;szBuffer db 1024 dup (?) .data?
hInstance	dd	?
hWinMain	dd	?szFileName	db	MAX_PATH dup (?).const
szCaption	db	'执行结果',0
szFilter	db	'Text Files(*.txt)',0,'*.txt',0,'All Files(*.*)',0,'*.*',0,0
szDefExt	db	'txt',0
szErrOpenFile	db	'无法打开源文件!',0
szOpenFile	db	'打开源文件成功!',0.code
; 显示“打开文件”对话框
_OpenFile	proclocal	@stOF:OPENFILENAMElocal   @iFileLength, @dwBytesRead, @hFilelocal	@szBuffer[512]:byteinvoke	RtlZeroMemory,addr @stOF,sizeof @stOFmov	@stOF.lStructSize,sizeof @stOFpush	hWinMainpop	@stOF.hwndOwnermov	@stOF.lpstrFilter,offset szFiltermov	@stOF.lpstrFile,offset szFileNamemov	@stOF.nMaxFile,MAX_PATHmov	@stOF.Flags,OFN_FILEMUSTEXIST or OFN_PATHMUSTEXISTinvoke	GetOpenFileName,addr @stOF.if	eaxinvoke	MessageBox,hWinMain,addr szFileName,addr szCaption,MB_OK;invoke CreateFile, @stOF.lpstrFile, GENERIC_READ, FILE_SHARE_READ,NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULLinvoke	CreateFile,addr szFileName,GENERIC_READ,FILE_SHARE_READ,0,\OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0.if	eax ==	INVALID_HANDLE_VALUEinvoke	MessageBox,hWinMain,addr szErrOpenFile,NULL,MB_OK or MB_ICONEXCLAMATIONret.endifinvoke	MessageBox,hWinMain,addr szOpenFile,NULL,MB_OKmov	@hFile,eax;invoke GetFileSize, @hFile, NULL;mov @iFileLength, eaxinvoke ReadFile, @hFile, addr @szBuffer, sizeof @szBuffer, addr @dwBytesRead, 0invoke	MessageBox,hWinMain,addr @szBuffer,NULL,MB_OKinvoke SetDlgItemText,hWinMain,IDC_INFO,addr @szBuffer.endifret_OpenFile	endp_ProcDlgMain	proc	uses ebx edi esi hWnd,wMsg,wParam,lParammov	eax,wMsg.if	eax ==	WM_CLOSEinvoke	EndDialog,hWnd,NULL.elseif	eax ==	WM_INITDIALOG.elseif	eax ==	WM_COMMANDmov	eax,wParam.if	ax ==	IDM_EXITinvoke	EndDialog,hWnd,NULL.elseif	ax ==	IDM_OPENinvoke	_OpenFile.endif.elsemov	eax,FALSEret.endifmov	eax,TRUEret
_ProcDlgMain	endpstart:invoke	GetModuleHandle,NULLmov	hInstance,eaxinvoke	DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULLinvoke	ExitProcess,NULLend	start
		.386.model flat,stdcalloption casemap:noneinclude		windows.inc
include		user32.inc
includelib	user32.lib
include		kernel32.inc
includelib	kernel32.lib.data
szBuffer db 1024 dup (?) .data?
hFile	dd	?
dwBytesRead  dd ?.const
filename        db      'D:\文本类型资料\cmem.txt',0
szErrOpenFile	db	'无法打开源文件!',0
szOpenFile	db	'打开源文件成功!',0.codestart:invoke	CreateFile,addr filename,GENERIC_READ,FILE_SHARE_READ,0,\OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0.if	eax ==	INVALID_HANDLE_VALUEinvoke	MessageBox,NULL,addr szErrOpenFile,NULL,MB_OK or MB_ICONEXCLAMATIONret.endifinvoke	MessageBox,NULL,addr szOpenFile,NULL,MB_OKmov	hFile,eaxinvoke ReadFile, hFile, addr szBuffer, 1024, addr dwBytesRead, 0invoke	MessageBox,NULL,addr szBuffer,NULL,MB_OKinvoke	ExitProcess,NULLend	start

 

有时间继续;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/484633.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CPEOS:国家遥感数据与应用服务平台

文章目录 Main高分数据线上展厅遥感卫星技术成果支撑单位 Main 主页:https://www.cpeos.org.cn/home/ 高分数据 线上展厅 遥感卫星 技术成果 支撑单位

LeetCode刷题计划----day5

19 力扣链接:https://leetcode.cn/problems/squares-of-a-sorted-array/description/ 文章讲解链接:https://programmercarl.com/0977.%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E7%9A%84%E5%B9%B3%E6%96%B9.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8…

【Docker实操】部署php项目

概述 最终达成的容器部署结构和原理如下图: 一、获取nginx、php官方镜像 docker pull nginx //拉取nginx官方镜像 docker pull php:7.4-fpm //拉取php官方镜像需要获取其他可用的php版本,可以上【docker hub】搜索【php】,所有的【xxx-fp…

day39打卡

day39打卡 62. 不同路径 状态表示 我们暂时设dp[i] [j]:以(i, j)为终点,所到达i使用的方法的数量 状态转移方程 从题目中可以看出,dp(i, j)的值取决于dp(i-1, j)和dp(i, j-1)的值,因为机器人只能向右或者向下走。 且我们猜测…

Web安全之浅见

备注:这是我在2017年在自己的网站上写的文章,今天迁移过来。 昨天去参加了公司组织的一个关于网络安全的培训,了解了很多关于网络安全方面的知识,也才意识到网络安全是一项极其重要的领域。 本篇文章主要聊聊Web安全。不过我对于网…

springcloud-seata分布式事务

seata安装配置 下载 下载中心 | Seata 上传到linux 解压seata压缩包 tar -zxvf seata-server-1.6.1.tar.gz nacos配置 创建seata的命名空间 id: seata-id 配置seata 备份application.yml 进入/usr/local/software/springcloud/seata/conf文件夹 备份application.yml mv app…

三十年一个大轮回!日股突破“泡沫时期”历史高点

2月22日周四,英伟达四季报业绩超预期,而且本季度业绩指引非常乐观,提振美股股指期货并成为芯片股和AI概念股情绪的重要催化剂。今日亚洲芯片股和AI股起飞,日本在芯片股的带动下突破1989年泡沫时期以来的历史最高收盘价。 美股方面…

@ControllerAdvice 统一管理异常/错误

ControllerAdvice 统一管理异常/错误 文章目录 ControllerAdvice 统一管理异常/错误一、注意事项二、统一管理异常/错误的好处三、代码实现1. 普通方法2. 统一管理ControllerAdvice3. PostMan测试结果 一、注意事项 1. 如果校验注解不指定 message 属性 ,会返回默认消息, 这些…

【复现】某尔顿 安全审计系统任意文件读取漏洞_56

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 某尔顿网络安全审计产品支持1-3线路的internet接入、1-3对网桥;含强大的上网行为管理、审计、监控模块;用…

[python pip] A new release of pip is available: 23.2.1 -> 24.0

翻译之后:〔通知〕新版本的pip可用:23.2.1->24.0 就是说,你的pip版本需要从当前的 23.2.1 升级到最新版本 24.0,执行如下命令: cmd命令以管理员身份进入目录 ${Python}\Python3.12.1\Scripts下,执行 p…

WEB-UI自动化测试实践

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

Android横竖屏切换configChanges=“screenSize|orientation“避免activity销毁重建,Kotlin

Android横竖屏切换configChanges"screenSize|orientation"避免activity销毁重建,Kotlin 如果不在Androidmanifest.xml设置activity的: android:configChanges"screenSize|orientation" 那么,每次横竖屏切换activity都会…