⬢ DragonFlyBSD Kernel Audit
DF-5195 / kread.c
← back to finding ↓ download raw
/* kread.c -- read live syscons saver statics from /dev/kmem (DF-5195)
 * symbol addresses from: nm /boot/kernel/kernel | grep -w <name>
 * (valid for the running X86_64_GENERIC build; re-derive if rebuilt) */
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>

int main(void)
{
	struct { const char *n; unsigned long a; } s[] = {
		{ "scrn_blanked",  0xffffffff817a6e24UL },
		{ "scrn_blank_time", 0xffffffff817a6e28UL },
		{ "run_scrn_saver", 0xffffffff817a6e30UL },
		{ "saver_mode",    0xffffffff8113b388UL },
		{ "current_saver", 0xffffffff8113b380UL },
	};
	int fd = open("/dev/kmem", O_RDONLY);
	unsigned int v;

	if (fd < 0) { perror("kmem"); return 1; }
	for (int i = 0; i < 5; i++) {
		pread(fd, &v, 4, (off_t)s[i].a);
		printf("%-15s = %u (%#x)\n", s[i].n, v, v);
	}
	return 0;
}