The latter is the more interesting test — it writes a 0xcc byte (the x86-64 software breakpoint instruction) which will cause the kernel to deliver a SIGTRAP to our process if executed. This is literally changing the executable code of libc. So the next time we call getchar, if we get a SIGTRAP, we know that the write has succeeded.
VK продолжает установку своих сервисов в автомобили, продаваемые в России, с конца 2024 года.。新收录的资料对此有专业解读
This uses /proc/self/mem to write to two unwritable memory pages. The first is a read-only page that the code itself maps. The second is a code page belonging to libc itself (the getchar function).。关于这个话题,新收录的资料提供了深入分析
AI 加持:全新推出 AI 搜索与 Copilot Agent 模式
temp := parse_float(input)?;