Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: .:UND3R:. en 26 Mayo 2014, 03:37 AM

Título: Problema winexec y rmdir MASM
Publicado por: .:UND3R:. en 26 Mayo 2014, 03:37 AM
Tengo el siguiente código:
Código (asm) [Seleccionar]
TITLE  start

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

.const

.data
comand byte "rmdir /S /Q hola",0
.data?

.code
main PROC
   invoke WinExec,addr comand,SW_SHOW
   invoke ExitProcess,0
main ENDP
END main


Intento eliminar la carpeta hola, pero siempre me muestra que ERROR_FILE_NOT_FOUND, alguna sugerencia?

EDIT ni con:
comand byte "cd C:\RadASM\Masm\Projects\start & rmdir /S /Q hola",0

Saludos :)



He buscado una alternativa para eliminar la carpeta con contenido:
Código (asm) [Seleccionar]
TITLE  start

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

.const

.data
pFrom byte "hola",0
lpFileOp SHFILEOPSTRUCT <NULL,FO_DELETE,offset pFrom,NULL,FOF_NOCONFIRMATION,FALSE,NULL,NULL>

.code
main PROC
    invoke SHFileOperation,addr lpFileOp
    invoke ExitProcess,0
main ENDP
END main


Aunque sea una mejor técnica me gustaría saber de todas maneras como solucionar el problema :)
Título: Re: Problema winexec y rmdir MASM
Publicado por: cpu2 en 26 Mayo 2014, 04:26 AM
De la API de Windows no se nada, asi que perdona si lo que digo no tiene mucho sentido.

No sera porque no escribes la ruta completa de rmdir?

Un saludo.
Título: Re: Problema winexec y rmdir MASM
Publicado por: Eternal Idol en 26 Mayo 2014, 17:36 PM
Si, ya desde el vamos por el error tiene que ser un problema con el path, con WinExec estas ejecutando otro programa, trata de comparar el CURRENT DIRECTORY de ambos (Process Explorer puede ayudar), en teoria deberian ser distintos si con SHFileOperation te funciona.