-
-
[求助]汇编中如何通过命令行传参数
-
发表于:
2009-12-2 15:28
4332
-
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
;需要被异或加密的文件名
FileName db "c:\Dialog.exe",0
.data?
hFile dd ?
FileSize dd ?
FileMap dd ?
.code
start:
;打开文件
invoke CreateFile,addr FileName,GENERIC_READ or GENERIC_WRITE,FILE_SHARE_DELETE,NULL,OPEN_EXISTING,NULL,NULL
mov hFile,eax
; 得到文件大小
invoke GetFileSize,hFile,NULL
mov FileSize,eax
;下面进行内存映射
invoke CreateFileMapping,hFile,NULL,PAGE_READWRITE,NULL,NULL,NULL
mov FileMap,eax
invoke MapViewOfFile,FileMap,FILE_MAP_ALL_ACCESS,NULL,NULL,NULL
mov ecx,FileSize
;通过文件大小对每一位进行和0x1异或
s:
mov dl,[eax]
xor dl,1
mov [eax],dl
add eax,1
dec ecx
jne s
;程序退出
invoke ExitProcess,0
end start
通过内存映射文件做了个对文件的异或加密的小程序
但是希望文件名通过命令行传入,希望有人能帮忙提示~
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!