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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Android 逆向】ARM CPU 架构体系 ( ARM 内存模型 | ARM 架构堆的实现 | ARM 架构栈的实现 )

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

文章目錄

  • 一、ARM 內存模型
  • 二、ARM 架構堆的實現
  • 三、ARM 架構棧的實現





一、ARM 內存模型



ARM 架構體系中 , CPU 直接訪問內存 , 控制內存中的狀態和數據 , 內存中映射外部設備 , 外設通過內存中的狀態數據改變外設內部的情況 ;
如 : CPU 讀取硬盤數據 , 首先訪問內存中的對應內存塊 A , 內存塊向硬盤控制器發送命令 , 硬盤控制器將數據取出放到另外一塊內存 B 中 , 通過內存狀態轉換 , 告知內存已經讀取完畢 , CPU 可以直接訪問內存中內存塊 B 中的數據 ;
所有的外設基本都有一塊屬于自己的內存 , 有的時在內存中映射的 , 有的自帶內存 , 如顯卡顯存 ;





二、ARM 架構堆的實現



應用程序 向 系統 請求內存 , 系統通過系統調用 , 分配內存 , 內存分配完畢后 , 返回內存的首地址給應用程序 ;

申請完內存后 , 需要 free 釋放內存 , 否則會造成泄漏 ;





三、ARM 架構棧的實現



如果參數小于等于 333 個 , 則只需要使用 R0 , R1, R2 這 333 個寄存器存放參數 , 這 333 個寄存器變相的稱為了棧 ;

如果參數大于等于 444 個 , 則 R3 寄存器記錄棧地址 ( 棧的起始位置 ) , 如下圖所示 ;

在 ARM 中 , 棧指針只會 push 到寄存器中 , 但是不使用 ; 使用到棧中的參數時 , 會使用變量寄存器將棧地址保存起來 , 使用變量寄存器中的地址 ;

總結

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

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