* @brief Print memory layout and debug information * @param region Pointer to memory region */
| 135 | * @param region Pointer to memory region |
| 136 | */ |
| 137 | void print_debug_info(memory_region_t *region) { |
| 138 | char info_buffer[512]; |
| 139 | |
| 140 | int length = snprintf(info_buffer, sizeof(info_buffer), |
| 141 | "[🔍] Memory Layout Information:\n" |
| 142 | " • Region Address: %p\n" |
| 143 | " • Buffer Size: 0x%x bytes\n" |
| 144 | " • Callback Pointer: %p\n" |
| 145 | " • Magic Value: 0x%lx\n" |
| 146 | " • Win Function: %p\n\n", |
| 147 | region, BUFFER_SIZE, region->callback, |
| 148 | region->magic, win_function); |
| 149 | |
| 150 | write(STDOUT_FILENO, info_buffer, length); |
| 151 | } |
| 152 | |
| 153 | /** |
| 154 | * @brief Vulnerable function containing buffer overflow |