Changes

Jump to navigation Jump to search
163 bytes added ,  12:50, 14 May 2015
Added more information about the bootrom fail
Line 19: Line 19:  
!  Discovered by
 
!  Discovered by
 
|-
 
|-
| ARM9 bootrom vectors point at RAM
+
| ARM9/ARM11 bootrom vectors point at unitialized RAM
| ARM9's exception vectors are hardcoded to point at ARM9 RAM. While the bootrom does set them up to point to itself at some point during boot, it does not do so immediately. As such, a carefully-timed fault injection to induce an invalid instruction will cause execution to fall into ARM9 RAM.  
+
| ARM9's and ARM11's exception vectors are hardcoded to point at the CPU's internal memory (0x08000000 region for ARM9, AXIWRAM for ARM11). While the bootrom does set them up to point to an endless loop at some point during boot, it does not do so immediately. As such, a carefully-timed fault injection to trigger an exception (such as an invalid instruction) will cause execution to fall into ARM9 RAM.  
Since RAM isn't cleared on boot, one can immediately start execution of their own code here to dump bootrom, OTP, etc.
+
Since RAM isn't cleared on boot (see below), one can immediately start execution of their own code here to dump bootrom, OTP, etc.
| Middle of 2014, May 2015
+
| End of February 2014
| derrek, WulfyStylez independently
+
| [[User:Derrek|derrek]], WulfyStylez (May 2015) independently
 
|-
 
|-
 
| Missing AES key clearing
 
| Missing AES key clearing

Navigation menu