news 2026/4/23 13:06:09

甄别伪代码中的二维数组

作者头像

张小明

前端开发工程师

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/4/20 0:58:27

适配晶晨 S905X3/S912 等!纯净版刷机包 + MD5 校验

针对晶晨主流芯片(S905X3/S912/S922X/S905L4 等)单独优化,每个刷机包都内置芯片型号校验机制,刷前自动匹配硬件,避免错刷导致的设备黑屏、无法启动问题。实测在老款晶晨 S905X 机顶盒上刷入后,启动速度比原…

作者头像 李华
网站建设 2026/4/21 23:48:59

【收藏备用】AI大模型从入门到实战:0基础也能学会的系统学习指南

AI大模型火遍全网,你是否也想入门却被“算法复杂”“数学门槛高”吓退?看着别人用LLM做项目、提效率,自己却连“Prompt怎么写”都摸不清方向?这篇专为0基础学习者打造的收藏级指南,从认知破冰到代码实操全拆解&#xf…

作者头像 李华
网站建设 2026/4/21 19:34:46

AutoGPT能否应用于政府政务流程自动化?

AutoGPT能否应用于政府政务流程自动化? 在政务服务大厅里,一位工作人员正为“如何起草一份符合最新政策的社区养老实施方案”犯愁。他需要查阅国家规划文件、比对地方统计数据、参考外省市案例,还要确保格式规范、措辞严谨——这一系列工作往…

作者头像 李华
网站建设 2026/4/18 10:40:10

【CMake 】[第九篇] 解决 CMake + Visual Studio 中文乱码问题完整指南

解决 CMake Visual Studio 中文乱码问题完整指南 前言 在使用 CMake 生成 Visual Studio 工程后,很多开发者会遇到一个常见问题:程序运行时,控制台输出的中文字符显示为乱码。这个问题看似简单,但实际上涉及到文件编码、编译器…

作者头像 李华
网站建设 2026/4/23 12:29:17

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

树莓派媒体中心搭建与使用全指南 在当今数字化时代,树莓派作为一款功能强大且价格亲民的单板计算机,被广泛应用于各种项目中。本文将详细介绍如何在树莓派上搭建和使用媒体中心,包括XBMC的编译安装、常见问题解决以及利用AirPlay协议实现音乐流播放等内容。 下载与克隆XBM…

作者头像 李华
网站建设 2026/4/23 12:29:08

蚂蚁旗下AI健康助手AQ更名为“蚂蚁阿福”,App月活超1500万

12月15日消息,蚂蚁集团宣布旗下AI健康应用AQ品牌升级为“蚂蚁阿福”,并发布App新版本,升级健康陪伴、健康问答、健康服务三大功能。 升级后的“蚂蚁阿福”聚焦“健康”战略,定位从AI工具转向AI健康朋友,能够像真人朋友…

作者头像 李华