我想訪問系統模型以獲取主註冊ID。如何在Android應用程序中安裝SWI處理程序
表是我學習,應該有三個步驟:
- 進入從用戶模式管理模式,通過
SWI
指令 - 切換到系統模式使用
MSR
指令在超級模式 得到主通過調用以下代碼在系統模式下注冊ID:
MRC p15, 0, R0, c0, c0, 0
我想在Android操作系統中實現它。確切地說,我想在我的應用程序運行時獲得主註冊ID。
現在我堅持如何安裝我的SWI處理程序。
根據ARM doc,當我在Android上測試它時,會創建一個異常。
是否有人遇到同樣的問題,解決它幫到底〜
PS:
/*
* my install handler code
*/
unsigned installHandler(unsigned location, unsigned *vector) {
unsigned vec, oldVec;
vec = (location - (unsigned) vector - 0x8) | 0xe59ff000;
oldVec = *vector;
*vector = vec;
return oldVec;
}
我的猜測是Android OS不允許應用程序安裝SWI處理程序,因爲這會破壞安全模型。應用程序不應該能夠在管理員模式下運行自己的代碼。另外請注意,他的OS可能已經安裝了SWI處理程序來處理系統調用。 –