news 2026/3/1 5:38:55

甄别伪代码中的二维数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
甄别伪代码中的二维数组

以下是IDA生成的关于变量dword_2810F8C伪代码:

int dword_2810F8C[]; // weak int page_s_tactical__g_num_rte[]; // weak if ( v22 > 5 ) //这是Ada编译器插入的判断下标是否合法的语句 __gnat_rcheck_05("page_s_tactical.adb", 1252); if ( v29 > 1u ) //这是Ada编译器插入的判断下标是否合法的语句 __gnat_rcheck_06("page_s_tactical.adb", 1252); dword_2810F8C[6 * v29 + 1 + v22] = *(_DWORD *)(a2 + 12 * (v26 - 1) + 8);

根据以上两行if语句,可知v22与v29是数组下标。

v22的合法数值范围是0..5。

v29的合法数值范围是0..1。

从汇编清单中可知page_s_tactical__g_num_rte的起始地址是0x2810F90:

bss:02810F8C ; int dword_2810F8C[] .bss:02810F8C dword_2810F8C dd ? .bss:02810F90 ; int page_s_tactical__g_num_rte[] .bss:02810F90 _page_s_tactical__g_num_rte dd ? .bss:02810F94 align 40h .bss:02810FC0 ; char page_s_tactical__g_exec_pressed[]

page_s_tactical__g_num_rte与dword_2810F8C相差4个字节。

page_s_tactical__g_num_rte的长度是48个字节。

由此可见,

dword_2810F8C[6 * v29 + 1 + v22]

可改写为:

page_s_tactical__g_num_rte[v29][v22]

因此,page_s_tactical__g_num_rte可以定义为:

Int page_s_tactical__g_num_rte[2][6];

其他关于dword_2810F8C的伪代码都可以进行相应的修改。例如:

dword_2810F8C[6 * a1 + page_s_tactical__num_page[a1]]

可改为:

page_s_tactical__g_num_rte[a1][page_s_tactical__num_page[a1] - 1]

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 19:56:33

基于OpenCV的图像梯度与边缘检测研究

标题:基于OpenCV的图像梯度与边缘检测研究内容:1.摘要 本研究旨在系统探究基于OpenCV库的图像梯度计算与边缘检测算法的性能表现与适用边界。通过在COCO-Val子集(含1000幅自然场景图像)和自建工业缺陷图像数据集(327幅高对比度灰度图&#xf…

作者头像 李华
网站建设 2026/2/20 19:12:48

AutoGPT与Apache Superset集成:企业级仪表盘自动化

AutoGPT与Apache Superset集成:企业级仪表盘自动化 在当今数据驱动的企业环境中,高管们常常面临一个尴尬的现实:他们提出“为什么上季度销售额下降了?”这样的问题后,仍需等待数小时甚至数天才能看到一份初步分析报告。…

作者头像 李华
网站建设 2026/2/25 23:18:15

ROS2核心概念之通信接口

的概念在各个领域随处可见,无论是硬件结构还是软件开发,都有广泛的应用。 1.1.1 硬件接口 比如生活中最为常见的插头和插座,两者必须匹配才能使用,电脑和手机上的USB接口也是,什么Micro-USB、TypeC等等,都…

作者头像 李华
网站建设 2026/2/24 2:47:16

远程调用gemini 3 pro api的完整教程(实战篇)

第一步:白嫖gemini 3 pro白嫖gemini 3 pro方法-CSDN博客 第二步:官网gemini3 pro创建密钥 官网链接:Google AI Studio 第三步:创建一个ai项目 python创建一个环境(这里我用的是conda) conda create -n…

作者头像 李华