ARM指令解析之ADRP
先反汇编
$ aarch64-linux-gnu-objdump -d -S vmlinux > vmlinux.txt
然后再分析5.0内核的相关指令
8068709 ffff000011c30040 <__create_page_tables>:
8068710 mov x28, lr
8068711 ffff000011c30040: aa1e03fc mov x28, x30
8068712 adrp x0, init_pg_dir
8068713 ffff000011c30044: f0003260 adrp x0, ffff00001227f000 <init_pg_dir>
8068714 adrp x1, init_pg_end
8068715 ffff000011c30048: 900032a1 adrp x1, ffff000012284000 <_end>
以如下指令为例:
ffff000011c30044: f0003260 adrp x0, ffff00001227f000 <init_pg_dir>
查看符号表
$ cat System.map | grep init_pg_dir
ffff00001227f000 B init_pg_dir
找到 C6.2.10章节 ADRP的解释
f0003260机器码,immlo 为 bit30:bit29, immhi 为 bit23~bit5
所以 immhi:immlow 为 0b'000000000011001001111
imm = SignExtend(immhi:immlo:Zeros(12), 64);则为 0b'000000000011001001111000000000000 == 0x'64f000
而ffff00001227f000 - ffff000011c30000 == 0x'64f000
两者一致
ARM指令解析之ADRP相关推荐
- Android逆向之旅--「最右」签名算法解析(ARM指令学习恶心篇)
一.前言 今天开始我们后续会开展三篇左右的arm指令学习,因为之前一直都有同学和我说有没有详细的arm指令分析,这个之前的确一直没有好的样本,有的人可能说可以用自己写的C代码然后反编译so来学习,那样 ...
- 最右android工资,Android逆向之旅—最右App的签名算法解析(ARM指令学习不舍篇)
一.逆向分析 本文继续来看最后一篇介绍ARM指令学习,之前的两篇文章已经详细介绍了ARM指令的基础知识,本文继续把剩下来的所有都介绍完了,首先一定要去看前面的基础篇和进阶篇,不然我都很难保证你看这篇文 ...
- arm汇编解析—qnnpack卷积实现
目录 前言 基础直通车 arm基础知识 arm指令释义 qnn汇编代码解析 前言 最近在移植QNNPACK神经网络加速库,涉及到对卷积arm汇编的修改,这边做个记录,对汇编部分的内容进行注释,顺便学习 ...
- arm指令bne.w改成b,即无条件跳转
近期逆向一个程序,需要把bne.w改成b,无条件跳转.由于ios逆向不像pc上,可以在od里直接改汇编指令,这篇文章给了我很大的帮助.通过memory write 修改后,验证可行后,再用ultrae ...
- ARM linux解析之压缩内核zImage的启动过程
ARM linux解析之压缩内核zImage的启动过程 首先,我们要知道在zImage的生成过程中,是把arch/arm/boot/compressed/head.s 和解压代码misc.c,deco ...
- ARM指令浅析1(mov、ldr)
1.环境及优化项 采用-O2优化选项,通过arm处理器架构下的gcc编译器编译用例生成汇编码查看其生成的指令.至于为什么用O2选项,是因为在某些用例中,加入-O3选项之后,arm处理器架构下gcc编译 ...
- 常用ARM指令总结(未完待续)
ARM指令集介绍 7种工作模式,2种工作状态 ARM指令的种类,共有7类指令,可以完成存储器访问,数据运算,程序跳转,处理器控制,以及帮助编程的伪指令等. 数据处理指令大致分为三类: a.数据传送指令 ...
- ARM指令寻址方式之: 内存访问指令寻址
4.2 内存访问指令寻址 根据内存访问指令的分类,内存访问指令的寻址方式可以分为以下几种. ① 字及无符号字节的Load/Store指令的寻址方式. ② 杂类Load/Store指令的寻址方式. ③ ...
- ARM指令寻址方式之: 数据处理指令的寻址方式
4.1 数据处理指令的寻址方式 4.1.1 数据处理指令的寻址方式概要 数据处理指令的基本语法格式如下. <opcode> {<cond>} {S} <Rd>, ...
最新文章
- 软件发布版本的业界规则?
- 怎么查看linux是不是as7u4,Linux下搭建Android开发环境
- java的mock测试框架
- java web前端模版,以Eclipse替核心搭建JAVA WEB开发环境(三)-模板项目Archetype
- 中运量71路线路图_双语导乘对标“航空式服务”,71路中运量车队服务进博会出“新招”...
- UVA - 11882Biggest Number dfs+期望剪枝
- mysql 雇员表脚本,mysql压力测试脚本实例_MySQL
- 自动摘要php,phpcms修改手动摘要255字符、自动摘要200字符及取消自动摘要
- 《spring-boot学习》-07-spring data jpa
- WPF中MVVM模式(简略介绍)
- Visual Studio 代码提示选不中
- RNA甲基化修饰m6A检测热门技术—MeRIP-seq
- 2020启智开发者大会精彩来袭,这些公开课不容错过!
- python中的可迭代是什么意思_Python可迭代跟迭代器的区别
- 设置vscode默认终端为msys/MinGW32/MinGW64
- matlab tic和toc单位,Matlab中tic和toc用法
- vmware下虚拟机centos,root登录时候提示鉴定故障解决方法
- dell服务器T100无法进入系统,戴尔电脑开机进不去,一直在转圈圈,怎么处理?
- 破解Kotlin协程创建调用的那些事
- 存在正文时不允许未命名的原型参数_用Swift开发macOS程序, 六、原型、格式与开发说明...
热门文章
- 山东大学单片机原理与应用实验 3.7LCD 1602显示实验
- ESP8266-Arduino编程实例-L9110直流电机风扇传感器模块
- 养鸡场的计算机管理,养鸡场管理系统7.3 免费版
- 安装过千月(BlueSoleil)蓝牙软件后,网络图标上就一直显示红叉,但却能上网
- 立创开源 tsop48-dip48通用
- VxWorks的移植和BSP定制过程
- 完美世界手游服务器维护时间表,完美世界手游开服表
- 排序算法比较次数总结
- 计算机系迎新晚会策划,计算机科学系迎新晚会策划书.doc
- 最新云知梦Jquery项目实战 jq重入门到精通(完整 )