日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

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

發布時間:2025/6/17 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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 架构栈的实现 )的全部內容,希望文章能夠幫你解決所遇到的問題。

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