Autor
|
Tema: [Ayuda] Hooking kernel Mode (Leído 6,112 veces)
|
Miseryk
Desconectado
Mensajes: 225
SI.NU.SA U.GU.DE (2NE1 - D-Unit)
|
Hola, me gustaría saber si me podrían aconsejar con el tema que voy a plantear. Estaba intentando hacer hooking y lo pude hacer, ya sea inyectando DLL o cambiando una funcion por otra, esto es modo usuario. Lo intenté con el MessageBoxA y funcionó en los procesos que cambiaba el codigo (inyectados), pero averigué que tenía que hacer en modo kernel para que sea general. He estado buscando informacion pero no pude solucionar mi problema, en sí, es hookear un API como por ejemplo MessageBoxA en el SO, si pudieran ayudarme sería de gran ayuda.
Desde ya muchas gracias.
|
|
|
En línea
|
Can you see it? The worst is over The monsters in my head are scared of love Fallen people listen up! It’s never too late to change our luck So, don’t let them steal your light Don’t let them break your stride There is light on the other side And you’ll see all the raindrops falling behind Make it out tonight it’s a revolution
CL!!!
|
|
|
bizco
Desconectado
Mensajes: 698
|
si no me confundo MessageBox no tiene directamente una funcion asociada especificamente en modo kernel, explica mas que quieres hacer y que funciones.
PD: y creo que el foro de vb no es el correcto.
|
|
« Última modificación: 16 Septiembre 2010, 23:47 pm por ctlon »
|
En línea
|
|
|
|
Miseryk
Desconectado
Mensajes: 225
SI.NU.SA U.GU.DE (2NE1 - D-Unit)
|
A lo que me refiero es que escuché formas de hookear un API para todos los procesos, osea hookear la API en sí.
|
|
|
En línea
|
Can you see it? The worst is over The monsters in my head are scared of love Fallen people listen up! It’s never too late to change our luck So, don’t let them steal your light Don’t let them break your stride There is light on the other side And you’ll see all the raindrops falling behind Make it out tonight it’s a revolution
CL!!!
|
|
|
bizco
Desconectado
Mensajes: 698
|
si, pero te repito MessageBox concretamente dudo que tenga su correspondiente en modo kernel (desconozco si es asi o no, pero lo dudo bastante) por eso mejor seria especificaras que intentas hacer. puedes hookear del mismo modo que en modo usuario con el tipico jmp o si estan dentro de la ssdt cambiando el valor de la funcion por el de tu funcion. puedes leer esto y de ahi ya buscar tu la informacion que necesites: http://uninformed.org/index.cgi?v=8&a=2&p=10
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
A lo que me refiero es que escuché formas de hookear un API para todos los procesos, osea hookear la API en sí.
son tres ejemplos Dulces Lunas!¡.
|
|
« Última modificación: 17 Septiembre 2010, 16:36 pm por BlackZeroX »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Miseryk
Desconectado
Mensajes: 225
SI.NU.SA U.GU.DE (2NE1 - D-Unit)
|
Primero de todo estuve viendo los ejemplos, me gusto mucho como disvirtuó esa persona fue lindo para detener el momento de tanto buscar :D:D, lo que yo quiero es tipo un programa que intercepte el OpenProcess, WriteMemory, ReadMemory y esos API con los que se pueden modificar los programas, pero no quiero inyectar proceso por proceso, eso ya lo hice, quiero algo más genérico, que inyectando en un lugar sólo quede guardado, por ejemplo tengo un programa que oculta procesos, y hasta que no reinicie la pc todos los procesos que se llaman de tal manera no aparecen en los procesos, ya sea con tasklist, enumprocess, etc, algo así quiero, pero con cualquier otra API . Desde ya muchas gracias.
|
|
« Última modificación: 17 Septiembre 2010, 03:57 am por Miseryk »
|
En línea
|
Can you see it? The worst is over The monsters in my head are scared of love Fallen people listen up! It’s never too late to change our luck So, don’t let them steal your light Don’t let them break your stride There is light on the other side And you’ll see all the raindrops falling behind Make it out tonight it’s a revolution
CL!!!
|
|
|
Miseryk
Desconectado
Mensajes: 225
SI.NU.SA U.GU.DE (2NE1 - D-Unit)
|
|
|
« Última modificación: 17 Septiembre 2010, 04:08 am por Miseryk »
|
En línea
|
Can you see it? The worst is over The monsters in my head are scared of love Fallen people listen up! It’s never too late to change our luck So, don’t let them steal your light Don’t let them break your stride There is light on the other side And you’ll see all the raindrops falling behind Make it out tonight it’s a revolution
CL!!!
|
|
|
bizco
Desconectado
Mensajes: 698
|
no te obliga a escribir en asm, pero seria bueno que lo entendieses. y si, hablando de modo kernel tienes las opciones que te digo, jmp tipico para las que no esten en la ssdt y el cambio de direccion para las que si estan.
Y espero que no quieras hacerlo en vb.
|
|
« Última modificación: 17 Septiembre 2010, 04:09 am por ctlon »
|
En línea
|
|
|
|
Miseryk
Desconectado
Mensajes: 225
SI.NU.SA U.GU.DE (2NE1 - D-Unit)
|
no te obliga a escribir en asm, pero seria bueno que lo entendieses. y si, hablando de modo kernel tienes las opciones que te digo, jmp tipico para las que no esten en la ssdt y el cambio de direccion para las que si estan.
Y ¿cómo sería un ejemplo simple del MessageBox que lo "inyecté"? y desde cualquier programa que haga la llamada MessageBox muestre la función que le pasé.
|
|
|
En línea
|
Can you see it? The worst is over The monsters in my head are scared of love Fallen people listen up! It’s never too late to change our luck So, don’t let them steal your light Don’t let them break your stride There is light on the other side And you’ll see all the raindrops falling behind Make it out tonight it’s a revolution
CL!!!
|
|
|
bizco
Desconectado
Mensajes: 698
|
como ya te he dicho, dudo que exista la equivalente a MessageBox. de todos modos ya te he dicho, puedes hacer el tipico jmp que tu ya has hecho en modo usuario y aplicarlo de igual forma o leer sobre la otra forma que es mas sencillo.
|
|
|
En línea
|
|
|
|
|
|