Domingo 22 de Diciembre de 2024, 14:52
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
hook en una ventana (explorador de windows)
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: hook en una ventana (explorador de windows) (Leído 3966 veces)
mayel2002
Nuevo Miembro
Mensajes: 6
hook en una ventana (explorador de windows)
«
en:
Miércoles 29 de Abril de 2009, 06:25 »
0
Hola a todos, es mi primera vez que entro a este foro y está muy bien, bueno pues tengo una duda que no se cómo resolver ya anduve por toda la red y no encuentro nada al respecto
, bueno al grano, lo que quiero hacer es un hook en ensamblador para Windows que ganche el explorador de Windows y me diga los archivos que hay en esa ventana ya sea .exe .bat .txt etc.. y si entra a otra ventana igual.
Que es lo que necesito la clase de la ventana o qué?
Tweet
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: hook en una ventana (explorador de windows)
«
Respuesta #1 en:
Miércoles 29 de Abril de 2009, 08:13 »
0
No se que queres hacer exactamente; pero podes buscar informacion sobre:
SetWindowsHookEx
Windows Shell Namespace Extensions
Subclassing
etc.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
mayel2002
Nuevo Miembro
Mensajes: 6
Re: hook en una ventana (explorador de windows)
«
Respuesta #2 en:
Miércoles 29 de Abril de 2009, 08:37 »
0
Lo que quiero hacer exactamente es que cuando un usuario abra una ventana por ejemplo
c:mis _documentos en esa ventana estén archivos exe txt etc.., que el propio hook detecte estos archivos, bueno más o menos como lo hacen los antivirus que cundo abres una ventana(explorador) que tiene un virus el antivirus lo detecta, supongo que por medio de hooks.
Supongo que invoke SetWindowsHookEx,WH_SHELL,addr ventanas,hInstance,NULL
Este parámetro “WH_SHELL” es el que busca en ventanas?.
PD: ya se como manejar un hook por medio de DLL para el MOUSE pero no para ventanas
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: hook en una ventana (explorador de windows)
«
Respuesta #3 en:
Miércoles 29 de Abril de 2009, 09:13 »
0
No, un antivirus tiene un modulo de modo Kernel (llamados comunmente drivers y escritos en C/C++) de tipo filtro del file system, no necesita ningun hook para interceptar el intento da apertura o ejecucion de un archivo.
Busca en la MSDN pero no creo que WM_SHELL te sirva exactamente para lo que buscas, una extension para el Explorer es probable que si pero claro son objetos COM ... tal vez quieras hacer un hook de codigo (tipo Detour) sobre las funciones de archivos tipo CreateFile* o ZwCreateFile/ZwOpenFile ...
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
mayel2002
Nuevo Miembro
Mensajes: 6
Re: hook en una ventana (explorador de windows)
«
Respuesta #4 en:
Miércoles 29 de Abril de 2009, 23:28 »
0
Bueno gracias por la ayuda, entonces esto quiere decir para hacer lo que quiero necesito aprende a programar drivers en c o c++ tal como leí un una entrada que el titulo es programación de drivers, pues si no hay de otra voy a tener que empezar a programar drivers.
Bueno un hook no puede sacar la ruta de la ventana abierta?
Y si no se puede pues de antemano muchas gracias y a empezar a programar drivers.
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: hook en una ventana (explorador de windows)
«
Respuesta #5 en:
Miércoles 29 de Abril de 2009, 23:43 »
0
Todo dependera de COMO lo quieras hacer; como poder me imagino que hasta lo podes hacer sin hooks usando EnumWindows o FindWindow/Ex ...
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
mayel2002
Nuevo Miembro
Mensajes: 6
Re: hook en una ventana (explorador de windows)
«
Respuesta #6 en:
Jueves 30 de Abril de 2009, 08:57 »
0
Bueno ya llevo un poco de avance gracias por guiarme, tengo una pregunta más puedo sacar la ruta de la carpeta que este abierta, mediante un handle o nombre de la clase?.
Y se se puede cuales son las api para hacerlo?
Como seria FindFirstFile y FindNextFile pero creo que con estas no se puede porque primero deberías llenar la estructura WIN32_FIND_DATA con FindFirstFile y debes de pasarle la ruta de la carpeta para que llene dicha estructura y luego llamar FindNextFile pero así no es posible.
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: hook en una ventana (explorador de windows)
«
Respuesta #7 en:
Jueves 30 de Abril de 2009, 09:17 »
0
La clase es esta: CabinetWClass, buscala en Google. En el Visual Studio viene un programita llamado Spy++ podes usarlo para ir viendo las ventanas ...
FindFirstFile y FindNextFile las podes usar una vez que obtengas la ruta para obtener los archivos y directorios que contiene.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
mayel2002
Nuevo Miembro
Mensajes: 6
Re: hook en una ventana (explorador de windows)
«
Respuesta #8 en:
Viernes 1 de Mayo de 2009, 04:55 »
0
Se me ocurrió otra cosa a ver si se puede hacer, haber, si el nombre de la clase de una ventana es CabinetWClass, pero cuando paso el puntero de ratón (con hook) donde están los ítems(archivos) de la carpeta abierta me parece que la clase es SysListView32 junto con su handle, en vez de pasa CabinetWClass puedo pasarle mejor SysListView32 para encontrar la ruta de esos archivos ya sea con sendmessage.
mayel2002
Nuevo Miembro
Mensajes: 6
Re: hook en una ventana (explorador de windows)
«
Respuesta #9 en:
Martes 12 de Mayo de 2009, 23:18 »
0
Ya me adentre más en el tema pero pues me falta algo, bueno lo que hago es sacar el handle de SysListView32 luego hago esto:
invoke GetWindowThreadProcessId,handle,pid
mov tid,eax
invoke OpenProcess ,PROCESS_ALL_ACCESS , FALSE, tid
Para que me de acceso al proceso, sale eax=0 en Olly.
No tendrá permisos de lectura?
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: hook en una ventana (explorador de windows)
«
Respuesta #10 en:
Miércoles 13 de Mayo de 2009, 00:06 »
0
Estas pasando el
tid
y no el
pid
.
Igual siempre mira la documentacion en la MSDN para ver los valores de retorno y errores:
If the function fails, the return value is NULL. To get extended error information, call
GetLastError
.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
hook en una ventana (explorador de windows)