-
-
[求助]新手汇编编程,关于WriteFile
-
发表于:
2010-3-12 21:44
4558
-
代码
.386
.model flat,stdcall
option casemap:none
include windows.inc
includelib kernel32.lib
include kernel32.inc
include user32.inc
includelib user32.lib
.data
szFileName db 'log.txt',0
szTxt db '看雪学院',0
temp db ?
szBuffer dd 32 dup (?)
.code
start:
invoke CreateFile,addr szFileName,GENERIC_WRITE,FILE_SHARE_WRITE,0,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
mov ebx,eax
invoke lstrlen,addr szTxt
mov szBuffer,eax
invoke WriteFile,ebx,addr szTxt,addr szBuffer,addr temp,0
invoke ExitProcess,0
end start
程序并不做任何事情,只是建立一个文件
然后写入字符串。。
为什么invoke WriteFile,ebx,addr szTxt,addr szBuffer,addr temp,0 不通过?
我试过了几种方法 问题出在 addr szBuffer
直接使用寄存器作为指针 invoke WriteFile,ebx,addr szTxt,eax,addr temp,0
这样就可以, 我想先把lstrlen返回的字符串长度保存到一个位置 以便接下来的子程序能用他。。
- -# 因为自学的编程 先从汇编开始 有点难整 寻高手解答小弟的问题 感激不尽。。。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法