日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Android 逆向】ARM CPU 架构体系 ( ARM 处理器工作模式 | ARM 架构模型 )

發布時間:2025/6/17 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 逆向】ARM CPU 架构体系 ( ARM 处理器工作模式 | ARM 架构模型 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、ARM 處理器工作模式
  • 二、ARM 架構模型





一、ARM 處理器工作模式



參考 【嵌入式開發】ARM 處理器工作模式 及 修改方法 ( 處理器模式 | 設置處理器模式 | 程序狀態字寄存器 CPSR SPSR | 模式設置代碼編寫 | 設置 svc 模式 ) 博客 , ARM 處理器有 777 種工作模式 ;

ARM 處理器的 七種 工作模式 :

  • 1.User ( 用戶模式 usr ) : 普通的應用運行的模式 ;
  • 2.FIQ ( 快速中斷模式 fiq ) : 該模式下支持數據的高速傳輸 ;
  • 3.IRQ ( 普通中斷模式 irq ) : 該模式常用于處理普通的中斷 ;
  • 4.Supervisor ( 管理模式 svc ) : 操作系統使用的一種保護模式 , 本節 BootLoader 就是需要設置這種 svc 模式;
  • 5.Abort ( 終止模式 abt ) : 實現虛擬內存 和 存儲器保護 ;
  • 6.Undefined ( 未定義模式 und ) : 硬件協處理器 的 軟件仿真支持, 當執行的指令***處理器不支持***, 那么會進入該模式;
  • 7.System ( 系統模式 ) : 該模式用于運行具有特權的操作系統任務, ARMv4 以上的架構才有;




二、ARM 架構模型



ARM 架構中寄存器數量很多 , 有 161616 個 ;

另外多了 標志寄存器 CPSR , 程序狀態寄存器 SPSR ;

程序狀態寄存器 SPSR 在中斷模式下使用 ;


R0 ~ R3 這 444 個寄存器是參數寄存器 ;

x86 架構中 , 參數傳遞都是通過堆棧傳遞的 ;

ARM 架構中 , 如果參數小于 444 個參數 , 傳輸傳遞是通過寄存器傳遞的 , 如果大于等于 444 個參數 , 則 R3 寄存器記錄一個棧地址 , 對應的棧中就后續參數值 ;


R4 ~ R12 這 888 個寄存器是變量寄存器 ,

ARM 中有 373737 個寄存器 , R0 ~ R7 是所有模式通用的寄存器 ;

上述 777 種模式下 , 寄存器的的個數與種類都是不同的 ;

每個模式對應的寄存器參考 :

如果不做嵌入式開發 , 用戶模式 和 系統模式 是主要需要學習的模式 , Android 逆向中 , 主要涉及這兩個模式 ;


R13 ( SP ) 是堆棧指針寄存器 ;

R14 ( LR ) 是返回地址寄存器 ;

R15 ( PC ) 是指令寄存器 , 指向下一條要執行的指令 ;


Android 逆向中使用到的寄存器有

  • 參數寄存器 R0 ~ R3
  • 變量寄存器 R4 ~ R12
  • 堆棧指針寄存器 R13 ( SP )
  • 返回地址寄存器 R14 ( LR )
  • 指令寄存器 R15 ( PC )
  • 標志寄存器 CPSR

總結

以上是生活随笔為你收集整理的【Android 逆向】ARM CPU 架构体系 ( ARM 处理器工作模式 | ARM 架构模型 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。