Guía de Depuración con Ensamblador NASM y GDB en Linux

Este artículo proporciona un tutorial práctico para establecer un entorno de compilación y depuración utilizendo nasm y gdb en sistemas Linux. El siguiente ejemplo demeustra los pasos esenciales para compilar y depurar código ensamblador. Consideremos el siguiente programa como ejemplo de implementación: section .data mensaje db "hola ...

Publicado el 7-30 18:52

.NET 7: Mejoras de Rendimiento en la Eliminación de Comprobaciones de Límites y Accesos a Arreglos

Una de las características clave de .NET es su enfoque en la seguridad. El runtime protege el acceso a arreglos, cadenas y spans para prevenir accesos de memoria inválidos. Si se intenta acceder a una posición fuera de los límites, en lugar de corromper la memoria, se lanzará una excepción. Esta protección se implementa mediante comprobaciones ...

Publicado el 7-28 10:52

Introducción a las Instrucciones Nulas en CTFs de Ingeniería Inversa

Si eres nuevo en las competiciones CTF de ingeniería inversa y al abrir un binario en IDA notas que el código se ve caótico, con saltos ilógicos por doquier y la descmopilación con F5 falla frecuentemente, es muy probable que te hayas topado con "instrucciones nulas" o "instrucciones basura" (花指令). Al principio de mi tray ...

Publicado el 7-15 18:56

Uso de call y ret para llamadas y retornos en ensamblador x86

La instrucción ret extrae una palabra de la pila y la coloca en ip, produciendo un retorno dentro del mismo segmento de código. Internamente equivale a pop ip. assume cs:codigo, ss:pila pila segment dw 20 dup (0) pila ends codigo segment inicio: mov ax, pila mov ss, ax mov sp, 40 mov ax, offset continuar push ax r ...

Publicado el 7-3 09:17

Optimización de strlen: Alineación de 4 bytes y Análisis de Desensamblado

La necesidad de manejar la alineación de 4 bytes en funciones de manipulación de cadenas en C se debe principalmente a la eficiencia. El acceso a datos no alineados puede requerir que la CPU realice operaciones adicionales de lectura y reorganización, lo que disminuye el rendimiento. Además, la alineación es crucial para la comunicación entre s ...

Publicado el 6-15 20:26