吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 230|回复: 2
收起左侧

[Android 求助] ida调试变量值不显示

[复制链接]
等过_却陌路 发表于 2026-5-11 19:12
50吾爱币
求助大佬,ida调试的时候变量怎么不显示值呢,一截图弹窗就会消失,只有这样拍了

IMG20260511190344.jpg

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

余吉233 发表于 2026-5-11 22:06
你再步过一次 v6就有值了
DWboss 发表于 2026-5-14 09:44
你的截图里是 IDA 生成的伪代码,它的变量名(v5/v6)只是静态分析时的 “栈变量占位符”,本身没有调试信息,所以默认不会自动显示运行时的值。主要有 3 个原因:
程序编译时没带调试符号(Release 版 / 被剥离了 pdb)
绝大多数逆向的程序都是 Release 编译,优化 + 符号剥离后,变量名和调试信息全丢了,IDA 只能靠静态分析推断出栈上的位置,没法直接关联到运行时的真实值。
变量还没被初始化 / 执行流没走到赋值的地方
比如 v5 是第 7 行的 AES 解密函数返回值,如果你断点打在第 7 行之前,v5 还没被赋值,IDA 自然拿不到它的值。
IDA 的调试视图没开值显示 / 伪代码窗口本身不支持实时变量值
伪代码窗口默认不直接显示运行时值,需要手动添加到监视窗口或者去寄存器 / 内存窗口看。
分步骤解决(按你的场景来)
第一步:先确保你停在了正确的位置(关键!)
你截图里的 v5 是第 7 行函数调用的返回值,v6 是第 8 行 AES 解密的结果,strcmp 是第 9 行的比较。
必须在 第 9 行 strcmp 这一行指令 下断点,执行到这一行时,v5/v6 才已经被赋值完成,才能看到值。
如果你停在函数入口或者第 7 行之前,变量还没初始化,是看不到值的。
第二步:直接查看变量对应的寄存器 / 内存(最稳妥)
IDA 里伪代码的变量,本质上对应了寄存器或栈上的位置,你可以直接去对应的地方看:
看寄存器窗口
打开菜单 调试器 → 调试器窗口 → 寄存器(快捷键 Alt+5)。
伪代码里的 v5/v6 是指针类型,它们的值会存在 RAX(x64 返回值寄存器)或者 RDI/RSI 这些寄存器里。
比如第 7 行的函数调用,返回值会存在 RAX 里,执行完第 7 行后,RAX 里的值就是 v5 的地址,双击这个地址,就可以跳转到内存窗口看字符串内容了。
直接看栈内存
伪代码里的 v5/v6 是局部变量,会存在栈上,你可以:
在伪代码里右键变量名 → 跳转到反汇编,看它对应的栈偏移(比如 [rsp+xxh])。
打开 调试器 → 调试器窗口 → 栈(Alt+3),找到对应的栈地址,看内存里的值。
第三步:用 IDA 的监视窗口手动添加变量(伪代码里也能看)
你可以把变量手动加到监视列表里,这样调试时就能实时看到值了:
打开菜单 调试器 → 调试器窗口 → 监视(快捷键 Ctrl+Alt+W)。
右键监视窗口 → 添加监视,输入变量对应的表达式:
比如 v5 是 const char* 类型,你可以输入 (char*)@rax(如果它存在 rax 里),或者直接输入栈地址,比如 *(char**)(rsp+20h)。
也可以直接把伪代码里的 v5/v6 拖到监视窗口里,IDA 会自动解析它的地址。
执行到断点后,监视窗口里就会显示变量的当前值了,字符串类型的变量还会直接显示出文本内容。
第四步:优化 IDA 调试配置,提升变量识别
开启调试器的表达式求值:
打开 选项 → 调试器选项 → 常规,勾选 启用工具提示表达式求值,这样你鼠标停在变量上,就会弹出当前的值。
关闭编译器优化带来的影响:
很多 Release 程序的局部变量会被优化到寄存器里,IDA 的伪代码可能识别不准。可以用 F8 单步执行,看寄存器的变化,手动关联变量和寄存器。
针对你当前这个 check 函数的快速调试技巧
你的函数里核心是:
c
运行
v5 = 函数1(a1, a3, 0);
v6 = AES_ECB_PKCS7_Decrypt("OOmGYpk6s0qPSXEPp4X31g==", "aWuaipojie01234");
if (strcmp(v6, v5) == 0) { ... }
你想知道 v6 解密后的结果,直接这么操作最快:
把断点打在第 9 行 strcmp 这一行,让程序执行到这里停下来。
看寄存器窗口里的 RDI 和 RSI(x64 下 strcmp 的两个参数分别存在 RDI 和 RSI 里),它们就是 v6 和 v5 的地址。
双击 RDI 的值,跳转到内存窗口,就能看到 AES解密后的字符串 了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-5-16 08:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表