#include "codesnipmanager.h" uint32_t codesnip_manager::codeforinsn(ProcessContext_ptr proc, uint32_t insn) { uint32_t procptr= proc->alloc(12); uint32_t codeblock[4]; codeblock[0]= insn; codeblock[1]= 0xe6000010; codeblock[2]= 0xe6000010; proc->writememory(procptr, sizeof(codeblock)/sizeof(*codeblock), codeblock); printf("new code %08lx:%08lx for %08lx\n", proc->pid(), procptr, insn); return procptr; } void codesnip_manager::remove(VirtualAddress addr) { addr.proc->free(addr.vaddr); printf("removed code %08lx:%08lx\n", addr.proc->pid(), addr.vaddr); }