Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Miseryk en 9 Abril 2014, 17:21 pm



Título: [AYUDA] Borrar archivo en uso
Publicado por: Miseryk en 9 Abril 2014, 17:21 pm
Hola a todos, estoy tratando de lograr borrar un archivo en uso, alguno tiene idea de como poder lograrlo?

Gracias.


Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: Mad Antrax en 9 Abril 2014, 20:04 pm
Cierra el proceso que tiene abierto el fichero y luego lo borras


Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: Miseryk en 9 Abril 2014, 22:30 pm
Lol, en realidad quiero lograr algo parecido a lo que hace el programa Unlocker, que desbloquea el archivo sin tener que cerrar la aplicación que lo está usando y lo mejor es que desde la otra aplicación el archivo se sigue visualizando.

Ej: un excel o un doc


Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: BlackZeroX en 10 Abril 2014, 05:26 am
Cierra el proceso que tiene abierto el fichero y luego lo borras

No es necesario, lo unico que se debe hacer es obtener el handle del archivo abierto y cerrarlo...

Codigo:  http://filex.sytes.net/?dir=/BlackZeroX/Programacion/vb6/Foro.ElHacker.Net&file=UnlockFiles.rar

Dulces Lunas!¡.


Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: Miseryk en 14 Abril 2014, 14:17 pm
No es necesario, lo unico que se debe hacer es obtener el handle del archivo abierto y cerrarlo...

Codigo:  http://filex.sytes.net/?dir=/BlackZeroX/Programacion/vb6/Foro.ElHacker.Net&file=UnlockFiles.rar

Dulces Lunas!¡.

Me muestra como que el sitio se encuentra en construcción, es posible?


Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: Miseryk en 15 Abril 2014, 02:04 am
No es necesario, lo unico que se debe hacer es obtener el handle del archivo abierto y cerrarlo...

Codigo:  http://filex.sytes.net/?dir=/BlackZeroX/Programacion/vb6/Foro.ElHacker.Net&file=UnlockFiles.rar

Dulces Lunas!¡.

Probé el código y explota en:

Código
  1. Public Function GetFileFullPath(ByVal hFile As Long) As String
  2. ...
  3. HeapFree hHeap, 0, pName
  4. ...
  5. End Function
  6.  


Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: BlackZeroX en 15 Abril 2014, 10:46 am
Lo siento hace 24hrs que cambie todo lo de mi sitio, este es el enlace de descarga:

http://infrangelux.sytes.net/filex/?dwfe=ZmRlZGUyZjExYWIwZGU2YWJmMDRjNjc2YjdkMjg3YTc2ZDYzYTlkMg

Dulces Lunas!¡.


Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: x64core en 15 Abril 2014, 18:18 pm
@BlackZeroX:
Esta funcion luce mal:

Código
  1. Public Function GetFileFullPath(ByVal hFile As Long) As String
  2.    Dim hHeap As Long, dwSize As Long, objName As UNICODE_STRING, pName As Long
  3.    Dim ntStatus As Long, i As Long, strDrives As String, strArray() As String
  4.    Dim dwDriversSize As Long, strDrive As String, strTmp As String, strTemp As String
  5.    On Error GoTo ErrHandle
  6.    hHeap = GetProcessHeap
  7.    pName = HeapAlloc(hHeap, HEAP_ZERO_MEMORY, &H1000)
  8.    ntStatus = NtQueryObject(hFile, ObjectNameInformation, pName, &H1000, dwSize)
  9.    If (NT_SUCCESS(ntStatus)) Then
  10.        i = 1
  11.        Do While (ntStatus = STATUS_INFO_LEN_MISMATCH)
  12.            pName = HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pName, &H1000 * i)
  13.            ntStatus = NtQueryObject(hFile, ObjectNameInformation, pName, &H1000, ByVal 0)
  14.            i = i + 1
  15.        Loop
  16.    End If
  17.    HeapFree hHeap, 0, pName
  18.    strTemp = String(512, Chr(0))
  19.    lstrcpyW strTemp, pName + Len(objName)
  20.  


Se reseva memoria para obtener la informacion de el objeto para luego liberar la memoria? además podes llamar a NtQueryObject así:
Código:
NtQueryObject(hFile, ObjectNameInformation, 0, 0, &dwSize)  ( C++, Pasando el puntero a dwSize )
Para obtener la cantidad de bytes necesarios y luego sí reservar esa cantidad de bytes (dwSize) y luego volver a llamar a NtQueryObject
y así evitar usar esos bucles tan inseguros.

Vendria bien repulir esas funciones, bueno simplemente diciendo, supongo que hace años que han sido escritas.






Título: Re: [AYUDA] Borrar archivo en uso
Publicado por: BlackZeroX en 15 Abril 2014, 19:31 pm
@x64Core
Por haya del 2007 y no, no es mio el src.

Dulces Lunas!¡.