linux, kernel, build, module. back door.
커널 실험을 해야 하는데,
매번 빌드하긴 귀찮고,
커널 핵심 코드라서 모듈로 빼기도 거지같을 때.
게다가 데스크탑 PC에서 쓰고 있어서..
모듈 의존성 때문에 빌드 겁나게 느릴때..
걍 백도어 심어서 한 번 만 빌드하고 모듈로 뽑는 것이 상책이다.
예를 들어 arch/x86/kernel/timer.c 를 고친다고 치자.
void (*bh_dawnsea)(void) = (void (*)(void))NULL;
static irqreturn_t timer_interrupt(int irq, void *dev_id)
{
/* Keep nmi watchdog up to date */
inc_irq_stat(irq0_irqs);
global_clock_event->event_handler(global_clock_event);
/* MCA bus quirk: Acknowledge irq0 by setting bit 7 in port 0x61 */
if (MCA_bus)
outb_p(inb_p(0x61)| 0x80, 0x61);
if (bh_dawnsea != (void (*)(void))NULL) bh_dawnsea();
return IRQ_HANDLED;
}
EXPORT_SYMBOL(bh_dawnsea);