news 2026/6/9 17:17:11

用GHIDRA核查IDA生成的伪代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用GHIDRA核查IDA生成的伪代码

以下是IDA生成的一段伪代码:

for ( i = 1; i <= 3; ++i )

*(_BYTE *)(v5 - 8 + 4) = util_rnav__valide_caract(&a5[104 * i - 104]);

而且还有以下警告:

// 9C8A2F: variable 'v5' is possibly undefined

在以上循环中,v5没有变化,这很可疑,于是查看对应的汇编代码:

汇编

备注

.text:009C8A26 loc_9C8A26:

伪代码中的i对应esi,a5对应edi, v5对应ebx

.text:009C8A26 lea eax, [esi+esi*2]

3*i赋予eax

.text:009C8A29 lea eax, [esi+eax*4]

13*i赋予eax

.text:009C8A2C lea eax, [edi+eax*8]

a5+104* i赋予eax

.text:009C8A2F lea ebx, [eax-8]

a5+104* i-8赋予ebx

为何IDA忽视了a5+104* i?

.text:009C8A32 sub esp, 0Ch

.text:009C8A35 sub eax, 68h

104 * i - 104赋予eax

.text:009C8A38 push eax

.text:009C8A39 call _util_rnav__valide_caract

返回值是al

.text:009C8A3E mov [ebx+4], al

al赋予[a5+104* i-8+4]

.text:009C8A41 add esp, 10h

.text:009C8A44 inc esi

.text:009C8A45 cmp esi, 3

.text:009C8A48 jle short loc_9C8A26

根据以上分析,伪代码中的赋值语句应改为:

*(_BYTE *)(&a5[104 * i - 8 + 4]) = util_rnav__valide_caract(&a5[104 * i - 104]);

后来查看了GHIDRA的反编译结果,其中与上述相关的伪代码是正确的:

iVar17 = 1; do { iVar16 = param_5 + iVar17 * 0x68; uVar15 = _util_rnav__valide_caract(iVar16 + -0x68); *(undefined *)(iVar16 + -4) = uVar15; iVar17 = iVar17 + 1; } while (iVar17 < 4);

看来用GHIDRA核查IDA生成的伪代码是可行的。

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

Qwen3-4B-Thinking-2507:轻量级AI推理引擎的突破性升级

Qwen3-4B-Thinking-2507&#xff1a;轻量级AI推理引擎的突破性升级 【免费下载链接】Qwen3-4B-Thinking-2507-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-4B-Thinking-2507-GGUF 你是否曾为大型语言模型的高资源消耗而苦恼&#xff1f;是否希望在…

作者头像 李华
网站建设 2026/6/9 13:47:14

Neo4j图数据库实战:30分钟构建智能关系网络应用

Neo4j图数据库实战&#xff1a;30分钟构建智能关系网络应用 【免费下载链接】neo4j Graphs for Everyone 项目地址: https://gitcode.com/gh_mirrors/ne/neo4j 想要处理复杂的关联数据&#xff1f;传统数据库在关系查询上力不从心&#xff0c;而Neo4j图数据库正是为此而…

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

Camoufox反检测浏览器5分钟快速上手终极指南

Camoufox反检测浏览器5分钟快速上手终极指南 【免费下载链接】camoufox &#x1f98a; Anti-detect browser 项目地址: https://gitcode.com/gh_mirrors/ca/camoufox 你是否曾因网站反爬虫系统而无法获取所需数据&#xff1f;Camoufox反检测浏览器正是为解决这一痛点而生…

作者头像 李华
网站建设 2026/6/9 13:45:52

声学设计革命:EASE 4.0专业音响设计完整指南

声学设计革命&#xff1a;EASE 4.0专业音响设计完整指南 【免费下载链接】EASE4.0安装包 EASE 4.0是一款专业的音响和声学设计软件&#xff0c;专为音响工程师和声学设计师打造&#xff0c;提供精准的声场模拟与分析功能。软件集成了丰富的设计工具&#xff0c;支持详细的声场分…

作者头像 李华
网站建设 2026/6/9 13:43:28

Python实用工具终极指南:50个10行代码解决日常难题

Python实用工具终极指南&#xff1a;50个10行代码解决日常难题 【免费下载链接】qxresearch-event-1 Python hands on tutorial with 50 Python Application (10 lines of code) xiaowuc2 项目地址: https://gitcode.com/gh_mirrors/qx/qxresearch-event-1 在数字化时代…

作者头像 李华
网站建设 2026/6/8 14:35:31

如何构建成功的开源社区:DevYouTubeList协作模式深度解析

如何构建成功的开源社区&#xff1a;DevYouTubeList协作模式深度解析 【免费下载链接】DevYouTubeList List of Development YouTube Channels 项目地址: https://gitcode.com/gh_mirrors/de/DevYouTubeList 在当今数字化时代&#xff0c;DevYouTubeList 项目以其创新的…

作者头像 李华