ARM64中的對齊檢測

2022-06-22 11:45:12 字數 356 閱讀 2366

pc對齊檢測,arch64下為4 bytes

sp對齊檢測,預設16 bytes,受sctlr_el*的sa控制

有問題的**(addr區域為device):

mem32(addr)  *((valitile unsigned long *)(addr))
由於使用了long,彙編後用了 x暫存器(64 bit), 當addr非bit對齊時,就報了對齊異常。

應該為:

mem32(addr)  *((valitile unsigned int *)(addr))
arm arm v8, b2.5 alignment support

arm64入棧出棧 棧 ARM64

棧 棧 是一種具有特殊的訪問方式的儲存空間 後進先出,last in out firt,lifo sp和fp暫存器 sp暫存器在任意時刻會儲存我們棧頂的位址.fp暫存器也稱為x29暫存器屬於通用暫存器,但是在某些時刻我們利用它儲存棧底的位址 注意 arm64開始,取消32位的 ldm,stm,pus...

ARM64除錯環境

自從上一次zctf做了一道arm64的逆向題目後,我決定記錄下利用qemu搭建arm64的環境的過程,以後肯定會遇到更多arm平台下的reverse和pwn。我要模擬的是64位的arm環境,所以需要使用的是qemu system aarch64。在kali下,使用apt get install qe...

arm64的ioremap ARM IO埠 記憶體

linux在arm中並沒有io埠概念,暫存器和記憶體位於記憶體空間的時候稱作io記憶體。這裡簡單說一下操作步驟 1 申請 2 對映 3 訪問 4 釋放 具體操作操作步驟如下 1 申請 request mem region 申請後在系統相當於對已有資源做了個標記,即本資源已經申請占用,若相同資源再申請...