IDA技巧(84)数组索引

admin 2024年12月9日23:34:21评论24 views字数 720阅读2分24秒阅读模式

我们之前讨论过数组,但其中一个特性值得单独强调。

复杂程序可能会使用数据数组,这些数据可以是整数或浮点数等简单项,也可以是结构体等复杂项。当数组较小时,理解它们并不困难,但如果你的任务需要在一个3000项的数组中找到第567项的值,该怎么办?

当然,你可以尝试手动计数项,或者将数组复制到文本编辑器中(导出数据)并导入到电子表格中,但在IDA中有更简单的方法。

调整数组大小

假设我们有一个包含88项的数组:

IDA技巧(84)数组索引

我们需要第25项。手动计数是可能的,但很繁琐,尤其是因为我们需要考虑dup表达式中的重复项。有一种不同的方法来解决这个问题。因为项是从0开始计数的,我们有88项,所以最后一项的索引是87。为了使最后一项是第25项,我们可以将数组调整为26(25+1)项。为此,按*键打开数组参数对话框并更改数组大小字段:

IDA技巧(84)数组索引
IDA技巧(84)数组索引

现在数组包含从0到25的26项,所以我们可以看到我们需要的项的值是35h

数组索引显示

或者,我们可以启用显示索引选项。

IDA技巧(84)数组索引

启用该选项后,第一个元素的索引会作为每行的注释显示:

IDA技巧(84)数组索引

虽然仍然不太明显,但从行的开头开始计数会更容易找到所需的元素。你还可以将每行项数值设置为1或其他较小的值,以便每行包含更少的元素,更容易找到所需的项。

索引和结构体数组

当你有一个结构体数组并且它们可以以简洁形式。

IDA技巧(84)数组索引

然而,如果你取消隐藏/折叠数组以详细形式显示结构体,每个字段都会带有数组表示法的注释:

IDA技巧(84)数组索引
更多文章

立即关注【二进制磨剑】公众号

👉👉👉【IDA 技巧合集】👈👈👈
👉👉👉【Github 安全项目合集】👈👈👈
学习零基础学习 IDA 逆向
【课程完结!内容揭秘!】7 天打造 IDA 9.0 大师:从零基础到逆向精英
知识星球🪐
IDA技巧(84)数组索引

原文始发于微信公众号(二进制磨剑):IDA技巧(84)数组索引

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月9日23:34:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IDA技巧(84)数组索引https://cn-sec.com/archives/3477526.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息