Me prodían ayudar con este código, estoy tratando de hacer ejemplos usando PEB para aprender a usar mejor un debugger e hice uno con el MessageBoxA y me funcionó bien, pero se me ocurrió hacer uno que realice un archivo y escriba algo dentro pero obtengo un error al momento de ejecutar CreateFileA.
Primero obtengo la dirección de CreateFileA para posteriormente utilizarlo con WriteFile pero me aparece como error en rax 0xFFFFFFFFFFFFFFFF
lo que leí en msdn es que si devuelve eso, significa que hubo un error
coloco el código para mostrar como lo hago.
Código:
xor rcx, rcx
xor rdx, rdx
xor r9, r9 ; lpSecurityAttributes
push r9 ; dwCreationDisposition (OPEN_ALWAYS)
push r9 ; dwFlagsAndAttributes
push r9 ; hTemplateFile
mov r8, 0x1 ; FILE_SHARE_READ
mov rdx, 0x40000000 ; GENERIC_WRITE
mov rcx, filename ; filename db 'ejemplo.txt', 0
sub rsp, 0x20
call rax ; kernel32.CreateFileA
Y cuando lo ejecuto en el debugger me muestra rax = 0xFFFFFFFFFFFFFFFF
Que podría estar sucediendo?