Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You would need a kernel driver to change the page table mappings. Once the memory is mapped into your process's address space, a user-mode process could then access it. Of course, this comes with a severe warning -- <strong>an application with access to kernel memory areas could easily destabilize your system or worse.</strong> Of course the changes should be done in cooperation with the virtual memory manager by using its APIs and not changing the mappings directly, otherwise kernel memory management is likely to get very confused when its entries aren't in the locations it expected.</p> <p>There is nothing preventing user-mode applications from accessing memory belonging to other processes, except that the existing kernel code doesn't provide such access, except in very limited cases. For example, file mappings already DO use shared memory and give user-mode processes access to kernel-owned pages (owned by the disk cache).</p> <p>Note that the virtual address would still not match the physical address, and only kernel code can use physical addresses directly. So using this for things like DMA would be difficult.</p> <p>(I know of a kernel driver that does this for I/O ports -- giveio.sys, which is often used by hardware monitoring software. Not sure whether it can be used for memory page access or you'd need to find a different one/write your own. On linux, there is a widely-available kernel module that gives user code access to all memory, via the <code>/dev/kmem</code> device. Which is a good example that this doesn't necessarily break security, since <code>/dev/kmem</code> checks for superuser rights on the requesting process, and a Windows driver can do approximately the same.)</p> <p>The shortest way is undoubtedly to find an existing driver that exposes ioctls for this. At that point the user-mode application only needs to install and load a driver, then use its ioctls to map the pages you want into your process. User-mode APIs for managing drivers and devices (with admin rights of course) are well-documented.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload