elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como desbloquear archivos bloqueados por otra Aplicación
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como desbloquear archivos bloqueados por otra Aplicación  (Leído 5,615 veces)
Yoghurt

Desconectado Desconectado

Mensajes: 122


Si alguien se molesto en escribir, justo es leer.


Ver Perfil WWW
Como desbloquear archivos bloqueados por otra Aplicación
« en: 14 Noviembre 2012, 06:24 am »

Hola,  después de buscar en este foro y en Google no di con la respuesta asi que pido vuestra ayuda gentiles personas.

Ya probé con UnlockFile(fp,  0,FileLen(spath), 0)  y nada. MoveFileEx tampoco y no me sirve que se borre en el próximo reinicio.

Leí en un post que cobein habia hecho un código similar al de Unlocker.exe pero encontre.

De antemano Gracias ^^


En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Como desbloquear archivos bloqueados por otra Aplicación
« Respuesta #1 en: 14 Noviembre 2012, 08:08 am »

Algo como esto?

Código:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=69799&lngWId=1


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Yoghurt

Desconectado Desconectado

Mensajes: 122


Si alguien se molesto en escribir, justo es leer.


Ver Perfil WWW
Re: Como desbloquear archivos bloqueados por otra Aplicación
« Respuesta #2 en: 14 Noviembre 2012, 19:03 pm »

Muy buen código, gracias. Pero solo desbloquea archivos abiertos desde la misma aplicación por lo que no pude eliminar otros archivos.

Mirando el source-code me doy cuenta del porqué, si pudiera revisar otros procesos para ver que archivos tienen abiertos seria una buena solución para éste codigo-fuente lo malo es que no sé como saber los archivos abiertos por otros procesos. Buscaré un poco más a ver si puedo hacer algo ^^
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Como desbloquear archivos bloqueados por otra Aplicación
« Respuesta #3 en: 14 Noviembre 2012, 19:21 pm »

Por lo que se, creo que 1ero deberias revisar la lista de procesos en ejecucion y luego revisar los handles de c/u. Si son handles de lock de files, enumerarlos. Hay varias tools que hacen esto (por ej. Process Explorer o OpenedFilesView de NirSoft). Con un poco de Reversing, podes sacar lo que hace c/u.

Para cerrar los handles, podes usar CreateRemoteThread (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682437(v=vs.85).aspx) y hacer un CloseHandle desde el mismo proceso (ojo! esto es muy probable que crashee el proceso).

Eso es lo que se me ocurre en este momento...
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Yoghurt

Desconectado Desconectado

Mensajes: 122


Si alguien se molesto en escribir, justo es leer.


Ver Perfil WWW
Re: Como desbloquear archivos bloqueados por otra Aplicación
« Respuesta #4 en: 14 Noviembre 2012, 21:41 pm »

Ya tengo cómo listar las aplicaciones:
agregar un ListBox al proyecto para listar las apps.

Código
  1. Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
  2. Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
  3. Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long
  4. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  5.  
  6. Private Const MAX_PATH = 260
  7.  
  8. Private Type PROCESSENTRY32
  9.    dwSize As Long
  10.    cntUsage As Long
  11.    th32ProcessID As Long
  12.    th32DefaultHeapID As Long
  13.    th32ModuleID As Long
  14.    cntThreads As Long
  15.    th32ParentProcessID As Long
  16.    pcPriClassBase As Long
  17.    dwFlags As Long
  18.    szexeFile As String * MAX_PATH
  19.    End Type
  20.  
  21.  
  22. Public Sub appList()
  23.    Const PROCESS_ALL_ACCESS = 0
  24.    Dim uProcess As PROCESSENTRY32
  25.    Dim rProcessFound As Long
  26.    Dim hSnapshot As Long
  27.    Dim szExename As String
  28.    Dim exitCode As Long
  29.    Dim myProcess As Long
  30.    Dim AppKill As Boolean
  31.    Dim appCount As Integer
  32.    Dim i As Integer
  33.    On Local Error GoTo Finish
  34.    appCount = 0
  35.  
  36.    Const TH32CS_SNAPPROCESS As Long = 2&
  37.  
  38.    uProcess.dwSize = Len(uProcess)
  39.    hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
  40.    rProcessFound = ProcessFirst(hSnapshot, uProcess)
  41.  
  42.    Do While rProcessFound
  43.        i = InStr(1, uProcess.szexeFile, Chr(0))
  44.        szExename = LCase$(Left$(uProcess.szexeFile, i - 1))
  45.        List1.AddItem szExename
  46.        rProcessFound = ProcessNext(hSnapshot, uProcess)
  47.    Loop
  48.  
  49.    Call CloseHandle(hSnapshot)
  50. Finish:
  51. End Sub
  52.  
  53. Private Sub Form_Load()
  54.    appList
  55. End Sub
  56.  

Ahora algo tedioso... modificar el code que me diste para revisar los handles (creo que se puede).
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Como desbloquear archivos bloqueados por otra Aplicación
« Respuesta #5 en: 15 Noviembre 2012, 01:06 am »

Cuando una aplicación abre un fichero de forma exclusiva sólo ésta puede acceder al mismo. Hasta que la aplicación no cierre el handle tú no podrás hacer nada.

Sin entrar en aspectos más técnicos de como funcionan los handles de Windows la forma más "simple" es inyectando código en el proceso del que quieras cerrar el handle y hacer la llamada a CloseHandle() desde dentro de éste.

Saludos
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Como desbloquear archivos bloqueados por otra Aplicación
« Respuesta #6 en: 15 Noviembre 2012, 19:45 pm »

Por aquí en el foro había un código que cerraba los archivos abiertos por otras aplicaciones.

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Como desbloquear archivos bloqueados por otra Aplicación
« Respuesta #7 en: 15 Noviembre 2012, 19:49 pm »

Si no me equivoco el método de Cobein no funciona en Windows7. Creo recordar que lo que hacía era básicamente duplicar el Handle para poder cerrarlo el mismo, sin inyección de código.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines