news 2026/6/10 10:38:25

甄别伪代码中的二维数组

作者头像

张小明

前端开发工程师

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/6/7 16:23:51

希尔伯特 - 黄变换(HHT):强大的时频分析利器及Matlab实现

希尔伯特-黄变换(HHT),一种时频分析方法,可用于信号处理,参数识别,故障诊断等等领域,本售卖内容为HHT程序及算例,为matlab环境下,程序已调通,可直接运行。 此外,还包含相关参考文献。…

作者头像 李华
网站建设 2026/6/10 12:49:32

基于OpenCV的人脸识别系统研究

标题:基于OpenCV的人脸识别系统研究内容:1.摘要 本研究旨在设计并实现一个基于OpenCV的轻量级实时人脸识别系统,以应对安防监控、门禁管理等场景中对高精度与低延迟的双重需求。系统采用Haar级联分类器进行人脸检测,结合LBPH(Local Binary Pa…

作者头像 李华
网站建设 2026/6/9 17:53:26

淄博专利申请费用减免操作

申请专利有优惠政策吗?首先要明确该项发明内容是否属于可申请专利的内容,才有权去申请优惠。专利申请人符合下列条件之一的,可以向国家知识产权局请求减缴申请费、实审费、年费:1、上年度月均收入低于5000元(年6万元)的个人&#…

作者头像 李华
网站建设 2026/6/10 8:13:59

如何在消费级GPU上运行Qwen3-8B:从ollama下载到模型推理

如何在消费级GPU上运行Qwen3-8B:从ollama下载到模型推理 你有没有想过,不用A100、不花几千块买云服务,也能在自己的笔记本或台式机上跑一个接近商用水平的大语言模型?这不再是幻想。随着轻量化大模型和本地推理工具的成熟&#xf…

作者头像 李华
网站建设 2026/6/10 0:50:08

【干货收藏】大模型技术全解析:从基础到前沿,小白也能轻松入门

文章系统梳理了大语言模型的发展历程,从基础模型阶段、能力探索阶段到突破发展阶段,详细解析了Transformer和MOE等核心架构,介绍了预训练、微调、奖励建模和强化学习的构建流程,并探讨了指令微调、参数高效微调及基于人类反馈的强…

作者头像 李华
网站建设 2026/6/10 16:18:43

30、树莓派媒体中心搭建与使用指南

树莓派媒体中心搭建与使用指南 1. 问题排查 在树莓派上搭建媒体中心时,由于其硬件平台固定,问题排查相对轻松。若连接音箱后没有声音,需检查是否正确执行了 modprobe 和 amixer 命令,因为这两个命令对音频功能的实现至关重要。若遇到其他命令执行问题,可删除已下载内…

作者头像 李华