一、前言在CTF比赛中,我们所能接触到的大部分都是x86、x86_64架构的题目,而在我开始接触IOT方向的研究以后发现智能设备所用到的则是ARM和MIPS架构为主。本篇文章在介绍前置知识的基础上通过CTF的ARM架构类型题带读者更好的入门ARMPWN的世界。二、前置知识指令集Intel和ARM之间的区别主要是指令集,Intel采用复杂指令集而ARM则是精简指令集,精简指令集通过减少每条指令的时钟周期来缩短执行时间可以更快的执行指令,但因为指令较少因此在实现功能时会显得比Intel冗长。寄存器寄存器是ARM架构的一个重点,在x86架构上指令可以直接对内存的数据进行操作,而在ARM架构中必须将内
本文主要翻译自ArmCortex-M7ProcessorTechnicalReferenceManualr1p2其中章节MemorySystem/L1caches/StoreBuffer。StoreBufferCache中的数据,在写入memory或AXIM总线之前,先存放在storebuffer中。storebuffer有四个存储单元,每个存储单元由一个64bit数据存储及一个32bit地址存储组成。来自data-side的写请求都会存放在storebuffer中,但有两个例外:写往TCM或AHBP接口的数据。注:名词解释浅谈嵌入式MCUCPU内核之ARMCortex-M7内核高性能(Dua
本文主要翻译自ArmCortex-M7ProcessorTechnicalReferenceManualr1p2其中章节MemorySystem/L1caches/StoreBuffer。StoreBufferCache中的数据,在写入memory或AXIM总线之前,先存放在storebuffer中。storebuffer有四个存储单元,每个存储单元由一个64bit数据存储及一个32bit地址存储组成。来自data-side的写请求都会存放在storebuffer中,但有两个例外:写往TCM或AHBP接口的数据。注:名词解释浅谈嵌入式MCUCPU内核之ARMCortex-M7内核高性能(Dua
作者:目录一、创建ARM服务器二、配置SSH连接三、配置RDP远程桌面四、查看服务器的规格参考文献目录一、创建ARM服务器二、配置SSH连接三、配置RDP远程桌面四、查看服务器的规格参考文献听说亚马逊AWS上能创建ARM服务器,且亚马逊云服务器能免费使用12个月,于是我尝试了一下。还尝试了在创建的ARM服务器上装好了Ubuntu桌面,并配置好RDP远程桌面连接,从而能够通过Windows的“远程桌面连接”程序来远程操作它。其实网上的资料已经很详细了,故摘录其他文章为主,补充一下我的心得。一、创建ARM服务器首先是需要有亚马逊云帐户。若没有的话需要注册一下,需要绑定支持外币信用卡,会扣除1美金。
作者:目录一、创建ARM服务器二、配置SSH连接三、配置RDP远程桌面四、查看服务器的规格参考文献目录一、创建ARM服务器二、配置SSH连接三、配置RDP远程桌面四、查看服务器的规格参考文献听说亚马逊AWS上能创建ARM服务器,且亚马逊云服务器能免费使用12个月,于是我尝试了一下。还尝试了在创建的ARM服务器上装好了Ubuntu桌面,并配置好RDP远程桌面连接,从而能够通过Windows的“远程桌面连接”程序来远程操作它。其实网上的资料已经很详细了,故摘录其他文章为主,补充一下我的心得。一、创建ARM服务器首先是需要有亚马逊云帐户。若没有的话需要注册一下,需要绑定支持外币信用卡,会扣除1美金。
使用GCCArm工具链开发的项目,在升级到arm-gnu-toolchain-12.2之后,编译出现警告arm-gnu-toolchain-12.2.mpacbti-bet1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld:warning:Build/app.elfhasaLOADsegmentwithRWXpermissions关于LOADsegmentwithRWXpermissions警告这是Binutils2.39引入的一个新的安全类型的警告,GCC在升级
使用GCCArm工具链开发的项目,在升级到arm-gnu-toolchain-12.2之后,编译出现警告arm-gnu-toolchain-12.2.mpacbti-bet1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld:warning:Build/app.elfhasaLOADsegmentwithRWXpermissions关于LOADsegmentwithRWXpermissions警告这是Binutils2.39引入的一个新的安全类型的警告,GCC在升级
@目录1.常用部分2.安全相关2.1签名2.2加密2.3哈希2.4中断3.GICv3驱动程序选项4.调试选项1.常用部分编译选项解释BL2指定生成fip文件的BL2镜像的路径。在这种情况下,将不会构建TF-A中的BL2BL31指定生成fip文件的BL31图像的路径。在这种情况下,将不会构建TF-A中的BL31BL32指定生成fip文件的BL32图像的路径。在这种情况下,将不会构建TF-A中的BL32BL33主机文件系统中BL33映像的路径。如果使用TF-ABL2,这对于fip文件是强制性的BL2_AT_EL3使能后,BL2镜像会运行在EL3异常等级BL2_IN_XIP_MEM使能后,BL2会运
@目录1.常用部分2.安全相关2.1签名2.2加密2.3哈希2.4中断3.GICv3驱动程序选项4.调试选项1.常用部分编译选项解释BL2指定生成fip文件的BL2镜像的路径。在这种情况下,将不会构建TF-A中的BL2BL31指定生成fip文件的BL31图像的路径。在这种情况下,将不会构建TF-A中的BL31BL32指定生成fip文件的BL32图像的路径。在这种情况下,将不会构建TF-A中的BL32BL33主机文件系统中BL33映像的路径。如果使用TF-ABL2,这对于fip文件是强制性的BL2_AT_EL3使能后,BL2镜像会运行在EL3异常等级BL2_IN_XIP_MEM使能后,BL2会运
“好记性不如烂笔头。”——张溥0x00大纲目录0x00大纲0x01前言0x02物料准备0x03安装QEMU0x04创建虚拟磁盘0x05安装麒麟系统0x06启动和使用虚拟机启动脚本调节分辨率启动SSH服务远程连接文件传输0x07其它事项关于虚拟磁盘格式关于鼠标问题关于卡顿的问题0x01前言最近某个特殊的项目需要用到银河麒麟系统,物理机是arm64架构的,由于架构不同,没办法在x86机器上使用VMware和VirtualBox等软件直接创建虚拟机,条件有限,只能借助支持多种架构的QEMU,期间踩坑无数,特写本文以记录。真正的手把手,我的手都快握到你的鼠标上了。0x02物料准备操作系统镜像:Kyli