news 2026/4/23 18:54:09

用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/4/23 9:58:04

WebIDE-Frontend:开启云端编程新时代的完整指南

WebIDE-Frontend&#xff1a;开启云端编程新时代的完整指南 【免费下载链接】WebIDE-Frontend WebIDE 前端项目 项目地址: https://gitcode.com/gh_mirrors/we/WebIDE-Frontend 在当今数字化时代&#xff0c;WebIDE-Frontend 作为一款革命性的在线代码编辑器&#xff0c…

作者头像 李华
网站建设 2026/4/23 10:11:05

AgentScope多智能体评估框架实战指南:构建高效评测系统

AgentScope多智能体评估框架实战指南&#xff1a;构建高效评测系统 【免费下载链接】agentscope 项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope 在当今AI技术快速发展的时代&#xff0c;多智能体系统已成为解决复杂问题的重要工具。然而&#xff0c;如…

作者头像 李华
网站建设 2026/4/23 10:11:15

Admin.NET企业级权限框架:5分钟快速搭建完整后台管理系统

在当前数字化转型浪潮中&#xff0c;企业级应用开发面临着权限管理复杂、开发周期长、技术栈更新快等挑战。Admin.NET通用权限开发框架基于.NET 6/8技术栈&#xff0c;融合Furion和SqlSugar等前沿技术&#xff0c;为企业提供开箱即用的完整解决方案。无论你是开发内部管理系统、…

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

ThinkJS版本升级实战:从技术债务到性能跃迁的完整解决方案

ThinkJS版本升级实战&#xff1a;从技术债务到性能跃迁的完整解决方案 【免费下载链接】thinkjs 项目地址: https://gitcode.com/gh_mirrors/thin/thinkjs 为什么你的ThinkJS项目正在积累技术债务&#xff1f; 每个延迟升级的ThinkJS项目都在悄然累积技术债务。旧版本…

作者头像 李华
网站建设 2026/4/23 11:16:27

MELD多模态情感分析:对话AI的情感解码终极指南

MELD多模态情感分析&#xff1a;对话AI的情感解码终极指南 【免费下载链接】MELD MELD: A Multimodal Multi-Party Dataset for Emotion Recognition in Conversation 项目地址: https://gitcode.com/gh_mirrors/mel/MELD 想要让AI真正理解人类的喜怒哀乐吗&#xff1f;…

作者头像 李华
网站建设 2026/4/23 11:18:51

FanFicFare:专业小说下载工具,轻松打造个人电子书库

FanFicFare&#xff1a;专业小说下载工具&#xff0c;轻松打造个人电子书库 【免费下载链接】FanFicFare FanFicFare is a tool for making eBooks from stories on fanfiction and other web sites. 项目地址: https://gitcode.com/gh_mirrors/fa/FanFicFare 还在为心仪…

作者头像 李华