Több karakterlánc összefűzése assemblybe

Több karakterlánc összefűzése assemblybe
2009-10-23T14:23:35+02:00
2009-10-24T15:25:10+02:00
2022-11-15T10:10:38+01:00
pokember
Sziasztok

Több karakterláncot szeretnék összefűzni hogy le tudjak törölni egy fájlt de nem sikerül.
Eddig jutottam:

.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
include \masm32\include\advapi32.inc
includelib \masm32\lib\advapi32.lib

.data

dir db "c:\Documents and Settings\",0
file db "\log.txt",0
.data?

user_name db 64 DUP(?)
b_size dd ?
buf db 64 dup (?)

.code
start:
invoke GetUserName,addr user_name,addr b_size
invoke lstrcpy, ADDR buf, ADDR dir
invoke lstrcat, ADDR buf, ADDR user_name
invoke lstrcat, ADDR buf, ADDR file
invoke DeleteFile,addr buf
invoke ExitProcess,0
end start
Mutasd a teljes hozzászólást!
.386 .model flat,stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\include\user32.inc includelib \masm32\lib\user32.lib include \masm32\include\advapi32.inc includelib \masm32\lib\advapi32.lib .data dir db "c:\Documents and Settings\",0 file db "\log.txt",0 user_name db 64 DUP(0) b_size dd 64 buf db 256 dup (0) tmp dd 0 .code start: invoke GetUserName,addr user_name,addr b_size invoke lstrcpy, ADDR buf, ADDR dir invoke lstrcat, ADDR buf, ADDR user_name invoke lstrcat, ADDR buf, ADDR file invoke GetStdHandle,STD_OUTPUT_HANDLE mov ebx,eax invoke WriteFile,ebx, ADDR buf,128,addr tmp,0 invoke DeleteFile,addr buf invoke ExitProcess,0 end start
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd