FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Caramba Ardilla, muy interesante tu código, le has hechado un vistazo a este otro hilo:
http://www.clubdelphi.com/foros/showthread.php?t=37902 O de forma mas ludica: http://www.clubdelphi.com/foros/showthread.php?t=38132 A veces es difícil no hacer maldades, ... es tan tentador |
#2
|
||||
|
||||
Este es uno de esos código que yo jamás entenderé, no sé, creo que hay un sector neuronal que me hace falta . Vamos, ni siquiera entiendo qué se supone que hace. Ejecuto el programa y se abre el bloc de notas, luego unos mensajes y se cierra el bloc de notas. Aún así un par de preguntas:
¿Para qué es la directiva IMAGEBASE? ¿Se puede hacer lo mismo (cualquier cosa que esto sea) si el proceso no lo iniciamos nosotros mismos? // Saludos |
#3
|
||||
|
||||
Roman, el programa no es tan difícil de entender, al menos los conceptos básicos. Primero escribimos en la memoria del proceso a "atacar" la función a inyectar, después ejecutamos el código inyectado.
¿Para que sirve IMAGEBASE? para indicar a partir de que posición de memoria se cargara nuestro programa. ¿Para que la utilizamos aquí? pues necesitamos que nuestro código este lo suficientemente alto en la memoria para que no interfiera con el propio código del notepad. ¿Se puede hacer con cualquier proceso? En principio si, siempre que dispongamos de su handle, y de los permisos necesarios. En cualquier caso es necesario tener un conocimiento detallado del proceso donde nos vamos a inyectar, hay que recordar que estamos manipulando la memoria de un proceso no podemos entrar como un elefante en una cristalería De todas formas creo que el nuevo vista implementa protecciones contra esto, si alguien tiene el vista que lo pruebe haber que pasa. |
#4
|
||||
|
||||
Cita:
Cita:
A grandes rasgos te comentaré que lo he probado con resultados satisfactorios en procesos tales como el "explorer.exe" que es vital o mejor dicho es la Shell de windows y por lo que es asumible que siempre estará ahí, y por supuesto lo "inyectado" no tiene nada que ver con el código de la referencia anterior. Cita:
Tiempo al tiempo....
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#5
|
||||
|
||||
Cita:
Cita:
Otra cosa: el código que escribiste en el hilo del engaño de memoria, ¿tiene algo que ver con esto? A primera vista se me hace más digerible. No es que lo entienda, pero como que me lo creo más fácilmente. Pero parecieran dos cosas totalmente distintas. ¿Podrías aclarar? Por cierto, ese hilo apenas hoy lo veo. Realmente está muy interesante. Me gustó. // Saludos |
#6
|
||||
|
||||
A ver roman si en pocas palabras de lo hago un poco legible....
La función main, es el trozo de código que será inyectado, en él podrás introducir cualquier cosa que se te ocurra... Procedures... etc.. en este caso no hace nada en especial, sino que únicamente se pone a recibir mensajes y procesarlos... El procedimiento inject será el encargado de:
Por último y también a modo de ejemplo el programa en su ejecución lo que hace es...
Cita:
Espero aclararte algo roman.
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#7
|
||||
|
||||
Cita:
Ahora bien, lo del IMAGEBASE sigue sin quedarme claro. Tal como dices, el programa funciona aún sin él, pero entonces ¿por qué es necesario si se tratase de una dll? ¿No vale el mismo proceso del VirtualAlloc? Cita:
con lo que sustituíamos el procedimiento de ventana de la ventana hWnd con el nuestro WindowProc. Al llegar los 32 bits, también llegó esto: Cita:
Entonces, inyectamos el código en el otro proceso precisamente para ser parte de él y poder hacer el subclassing. ¿Es esto correcto o nada que ver? Otra cosa: ¿una dll siempre se inyecta? Es decir, cuando un proceso ejecuta código de una dll, ¿Windows mapea ese código dentro del espacio del proceso? Muchas gracias a ambos. pd: Entonces, ¿la técnica de ArdiIIa ya nos permitiría inyectar a WinLogon e interceptar el famoso Ctrl+Alt+Supr? // Saludos |
#8
|
||||
|
||||
Cita:
Cita:
Cita:
PD: No sabia roman que te interesaba el tema. Pense que era el unico por aqui que lo encontraba entretenido, pero ya veo que Ardilla y tu tambien le encontrais interesante. |
#9
|
||||
|
||||
Cita:
Un ejemplo tipico en ambos casos, es hacer "subclassing". Es decir sustituir el bucle de mensajes de una ventana por uno diferente, esto es lo que hago yo en mis 2 ejemlos. Otra cosa muy interesante que se peude hacer es un hook de las APIs, que consiste en sustituir el codigo de algunas funcicones de la API que estan cargadas en memoria por codigo propio, esto ultimo es lo que hacen los famosos rootkits, y la verdad a mi ya se me hace un poco complejo |
#10
|
||||
|
||||
Cita:
Hola Seoane, siguiendo el hilo intente bajar o abrir el archivo Injector.zip, pero aparentemente esta dañado. ¿ Es mucha molestia pedirte que lo subas otra vez ? Muchas gracias y saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ctrl+alt+supr NO FUNCIONA! | CITHALI ACERMA | Varios | 5 | 04-07-2006 13:45:43 |
Ctrl+alt+supr | karocs | Varios | 3 | 28-12-2004 20:46:37 |
Como inhabilitar Ctrl+Supr en Rejilla de datos | pinoxito | OOP | 2 | 30-07-2004 03:24:51 |
ocultar aplicación (Ctrl+Alt+Supr)!!! | acertij022 | API de Windows | 8 | 10-04-2004 20:02:36 |
Alt-Ctrl-Supr: el inicio | kinobi | Humor | 2 | 02-10-2003 22:03:49 |
|