Supermode is a program that allows your usermode process to read any arbitrary physical address aswell as virtual address of a process using page table manipulation
For a detailed writeup and discussions regarding this project visit this thread:
Supermode is unfortunately very unstable and physical memory reads are slow since you have to wait for a TLB flush between each read