ARM 全局变量更换基址寄存器

news/2024/9/18 13:35:14/ 标签: 汇编

思索了两个晚上,一直没有弄清几万条指令里唯一的 [x27, #80] 来自哪里,结合上下文判定是个全局变量,通过动态调试给main传参数,确认参数 s 时会改变 [x27, #80] 的值,由 0 变 1。于是反推到 case 's' 处,发现此关联。以后找 arm 汇编的全局变量,用全局变量基址找关联更容易一些。

x23 :
  40200c:    d00001d7     adrp    x23, 43c000 <memcpy@GLIBC_2.17>
  402018:    9121c2f7     add    x23, x23, #0x870            // x23=0x43c870

    case 's':
  402464:    52800020     mov    w0, #0x1                       // #1
  402468:    b90052e0     str    w0, [x23, #80]      // gvar_80 = 1
  40246c:    17fffeef     b    402028 <ferror@plt+0x148>*/

x27 :
  4020e8:    d00001c0     adrp    x0, 43c000 <memcpy@GLIBC_2.17>
  4020ec:    9121c01b     add    x27, x0, #0x870         // x27=0x43c870

  402600:    b9405360     ldr    w0, [x27, #80]      // w0=gvar_80;


偏移都是 80 ,但因 x* 变了,逆向时不好找到关联。与 intel 指令比起来,多了一层基址 0x43c870 。


http://www.ppmy.cn/news/1524013.html

相关文章

leaflet【十】实时增加轨迹点轨迹回放效果实现

实时轨迹回放 在前面有用leaflet-trackplayer实现了一个轨迹回放的效果&#xff0c;单击前往&#xff1a;轨迹回放效果&控制台控制轨迹运动效果 这篇文章主要是实现一下实时增加轨迹点&#xff0c;不改变原来运行轨迹和速度。这里是简易做了一个demo效果&#xff0c;大概…

想要从OPPO手机恢复数据?免费OPPO照片视频恢复软件

此实用程序可帮助那些寻找以下内容的用户&#xff1a; 在OPPO手机中格式化存储卡后可以恢复图片吗&#xff1f;我删除了 OPPO上的视频和图片&#xff0c;我感觉很糟糕&#xff0c;因为里面有我在拉斯维加斯拍摄的视频和照片 免费OPPO照片视频恢复软件 您能恢复OPPO上已删除的…

漫谈设计模式 [14]:迭代器模式

引导性开场 菜鸟: 最近在处理一个项目时&#xff0c;我遇到一个问题。我需要遍历一个集合中的元素&#xff0c;但集合的结构可能会变化。每次我都要写很多重复的代码&#xff0c;这让我很困惑。有没有更好的方法呢&#xff1f; 老鸟: 这个问题很常见。你有没有听说过迭代器…

OpenCV结构分析与形状描述符(17)判断轮廓是否为凸多边形的函数isContourConvex()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 测试轮廓的凸性。 该函数测试输入的轮廓是否为凸的。轮廓必须是简单的&#xff0c;即没有自相交。否则&#xff0c;函数的输出是不确定的。 cv:…

Java 学习中使用文件、网络连接等资源时,未正确关闭资源,导致资源泄漏应该怎么办?

在Java编程中&#xff0c;处理文件、网络连接、数据库连接等资源时&#xff0c;如果没有正确关闭资源&#xff0c;就会发生资源泄漏。资源泄漏会导致系统性能下降、内存占用增加&#xff0c;甚至可能导致程序崩溃&#xff0c;特别是在高负载的系统中。 一、什么是资源泄漏&…

flink的大状态复用

在 Apache Flink 中&#xff0c;实现大状态复用主要涉及在不同任务、不同生命周期阶段&#xff0c;甚至不同作业之间共享或重用状态数据。复用大状态可以减少重新加载和重新计算的开销&#xff0c;从而提升作业的效率和业务连续性。下面是几种在 Flink 中复用大状态的常见方法&…

Ubuntu 比较两个文件夹

比较两个文件夹下的大量文件是否一致&#xff0c;可以通过以下几种方式完成&#xff1a; 1. 使用 diff 命令 diff 命令不仅可以比较文件&#xff0c;还能递归比较文件夹。可以使用 -r 选项来递归比较两个目录下的文件&#xff1a; diff -r /path/to/dir1 /path/to/dir2 如…

OpengGL教程(三)---使用VAO和VBO方式绘制三角形

本章参考官方教程&#xff1a;learnopengl-cn VertexShader.glsl #version 330 core layout(location 0) in vec3 position; layout(location 1) in vec3 color; uniform mat4 projection; // 投影矩阵 out vec4 ourColor; void main() {gl_Position projection * vec4(p…

Oracle使用序列后提示违反唯一约束---解决办法

1、问题原因分析 出现这个问题的原因是插入数据的时候&#xff0c;由于之前没有使用序列插入&#xff0c;而是直接插入了一个比当前序列nextval还大的值&#xff0c;即直接将id写死了。后面再使用序列插入的时候&#xff0c;如果序列小于该值的话&#xff0c;是可以正常插入的…

Lumerical fdtd和charge联合仿真电学可调谐的MOS结构吸收器

关键词&#xff1a;FDTD&#xff1b;Charge&#xff1b;可调谐&#xff1b;MOS结构&#xff1b;载流子浓度 电光开关的等离子体吸收体的电可调谐性是高度可调的。通过施加偏置电压&#xff0c;在氧化物层中产生较大的场强&#xff0c;同时载流子在氧化物-半导体界面处形成累积…

Spring Boot2之AOT的应用

Spring Boot 2 本身不直接支持 AOT&#xff08;Ahead-of-Time&#xff09;编译&#xff0c;但是通过 Spring Native 项目可以实现 AOT 编译&#xff0c;借助 GraalVM 来编译成原生镜像。 Spring Boot 2 和 AOT 支持 虽然 Spring Boot 2.x 没有原生支持 AOT 编译&#xff0c;但…

数据结构应用实例(二)——K均值聚类

一、问题描述 对Iris数据进行分类&#xff0c;数据从文件读入。Iris包含150个四维的数据&#xff0c;这些数据可以看做是四维空间中的点。根据这些点在空间中的位置分布&#xff0c;将这150个特征点分成三类&#xff0c;分类的依据是欧氏距离&#xff0c;同类点之间的距离比较小…

UniApp实现漂亮的音乐歌词滚动播放效果

在现代的音乐播放应用中&#xff0c;歌词的展示和滚动播放已经成为了一个非常常见的功能。今天&#xff0c;我们将通过UniApp来实现一个漂亮的歌词滚动播放功能。我们将使用UniApp提供的组件和API来完成这个任务。 页面结构 在页面的模板部分&#xff0c;我们需要创建一个音频…

【webpack】一文教你配置webpack,功能详解,超级详细~

1.webpack5和webpack4之间重要的区别 1. 性能改进&#xff1a;webpack5在构建速度和打包体积方面进行了一些优化。它引入了持久缓存&#xff0c;可以减少构建时间。此外&#xff0c;webpack5还引入了更好的树摇&#xff08;tree shaking&#xff09;算法&#xff0c;可以更好地…

掌握Python自动化:探索keymousego库的无限可能!

文章目录 掌握Python自动化&#xff1a;探索keymousego库的无限可能&#xff01;背景&#xff1a;为什么选择keymousego&#xff1f;简介&#xff1a;keymousego是什么&#xff1f;安装指南&#xff1a;如何安装keymousego&#xff1f;快速入门&#xff1a;5个简单函数的使用实…

【Http 每日一问,访问服务端的鉴权Token放在header还是cookie更合适?】

结论先行&#xff1a; token静态的&#xff0c;不变的&#xff0c;放在header里面。 典型场景 &#xff0c;每次访问时需要带个静态token请求服务端&#xff0c;向服务端表明是谁请求&#xff0c;此时token也可以认为是个固定的access-key。token动态的&#xff0c;会失效&…

一文搞懂EureKa原理

关注公众号 不爱总结的麦穗 将不定期推送技术好文 Eureka Server 服务注册中心&#xff0c;提供服务发现并实现负载均衡和故障转移。它由两个组件组成&#xff1a;Eureka服务器和Eureka客户端。 Eureka Server 以 REST API 的形式为服务实例提供了注册、管理和查询等操作。同…

Redis 的数据持久化

目录 1. RDB 1.1 手动触发 RDB 1.2 bgsave 的执行流程 1.3 RDB 文件的处理 1.4 自动触发 RDB 1.5 RDB 的优缺点 2. AOF 2.1 AOF 缓冲区三种刷新策略 2.2 AOF 的重写(rewrite)机制 2.3 AOF 的重写流程 2.4 AOF 的优缺点 3. 混合持久化 为什么要进行持久化&#xff1…

华为OD机试真题- 非严格递增连续数字序列-2023年OD统一考试(B卷)

题目描述: 输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度(比如12234属于非严格递增连续数字序列)。 输入描述: 输入一个字符串仅包含大小写字母和数字,输入的字符串最大不超过255个字符。 输出描述: 最长的非严格递增连续数…

Excel单元格操作:读写单元格数据、格式设置与条件格式详解

目录 一、Excel单元格的基本操作 1.1 单元格的选取与编辑 案例一&#xff1a;基本数据录入 1.2 单元格的读取与写入 案例二&#xff1a;使用公式计算销售额 二、单元格格式设置 2.1 字体与颜色设置 案例三&#xff1a;设置标题格式 2.2 数字格式设置 案例四&#xff…