Changes

Jump to navigation Jump to search
Line 73: Line 73:  
The situation can occurred because of self-modifying code or due to a library linking (change memory pointer in RAM).
 
The situation can occurred because of self-modifying code or due to a library linking (change memory pointer in RAM).
   −
A naive implementation would be to instrument all write to detect corresponding block. However it will cost a big penalty for each memory write. Another one will be to check the content of the instruction block at each execution. Again slow. A more complex implementation will use the page fault signal handler mechanism to detect invalid write. Guess what, we choose the later.
+
A naive implementation would be to instrument all write to detect corresponding block. However it will cost a big penalty for each memory write. Another one will be to check the content of the instruction block at each execution. Again slow. A more complex implementation will use the page fault signal handler mechanism to detect invalid write. Guess what, we choose the latter.
    
* '''<code>C++ function: void mmap_MarkCountedRamPage( u32 paddr )</code>'''
 
* '''<code>C++ function: void mmap_MarkCountedRamPage( u32 paddr )</code>'''
ninja
56

edits

Navigation menu