LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
En las entregas anteriores hemos visto
cómo escribir código inyectable y cómo inyectar nuestro código en otros
binarios sirviéndonos de diversos trucos. La siguiente fase lógica -la
activación- ya no consistirá sólo en saltar a nuestra rutina inyectada,
si no también el devolverle el control al código original y no levantar
sospechas.

La idea general será la siguiente: debemos encontrar algún puntero al
que el ELF intente saltar en todo su tiempo de ejecución, ejecutar el
código inyectado y devolver el control al puntero original. Esto se
conoce popularmente como hooking: reemplazamos la dirección a la
que cierto programa debe saltar en cierto momento para ejecutar nuestro
código, y devolver el control a la dirección original a la que se quería
llamar.
uando los sistemas operativos eran más
burdos y no había APIs específicas para registrar más de un manejador
para determinado evento del sistema, lo que las aplicaciones
-normalmente controladores de dispositivo- hacían era guardar la
dirección del manejador original, sustituir la dirección por la de un
manejador propio y saltar después a la dirección guardada. Así se podían
tener dos manejadores para la misma interrupción aunque el sistema no
soportase nativamente una característica así. Un ejercicio muy clásico
de Sistemas Operativos años antes era engancharse a la interrupción del
teclado para hacer que a cada pulsación la CPU emitiese un pitido, muy
vintage todo.
Obviamente, surgen algunas complicaciones. Por ejemplo, el código que
estaba antes espera encontrar en la pila ciertas cosas (esto implica que
tanto a la entrada como a la salida del código enganchado, el %esp
debe permanecer inalterado, aunque entre tanto hagamos virguerías con
él). Con los registros pasa lo mismo, por regla general debemos dejarlos
como estaban (a menos que queramos hacer explícitamente algún cambio en
el comportamiento del código que viene después). Son problemas
atajables, pero que hay que tener en cuenta.
Continúa en "Security by Default", indicar que la página tiene un script que funciona bastante mal, por lo menos en Firefox.
Continúa en "Security by Default", indicar que la página tiene un script que funciona bastante mal, por lo menos en Firefox.

-
Software
- RustDesk la alternativa a TeamViewer y AnyDesk para Windows, Linux y Mac
- Rustdesk [Escritorio remoto]: una alternativa de TeamViewer y AnyDesk para Linux
- Joomla 6, ¿Qué hay para ti?
- Suiza ahora exige que todo el software gubernamental sea de código abierto
- ¿Qué significa la IA de código abierto, de todos modos?
- La importancia de los diseñadores para conseguir un photocall personalizado impactante
- Disponible ONLYOFFICE Docs 8.0: formularios PDF, RTL, Buscar, asistente de gráficos, plugins actualizada y más
- 14 mejores sistemas operativos para Internet de las cosas (IoT)
- Cómo instalar Odoo 15 en CentOS 8 y 9 / AlmaLinux 8 y 9
- ONLYOFFICE lanza la versión 7.4 de su suite ofimática, con nuevas funciones y mejoras en la experiencia del usuario
- Cómo crear un servicio Systemd en Linux
- Los programas no libres son una amenaza para la libertad de todos - Richard Stallman
- Cómo crear formularios rellenables con roles de usuario en ONLYOFFICE Docs
- Alternativas a gratuitas a Adobe Photoshop, InDesign e Illustrator
- Convertir Aplicaciones Web en Apps de Escritorio con WebCatalog