当前位置: 首页 > news >正文

IDA之修复结构体

修复结构体有两种方法
一是C语言式修复(麻烦)
二是直接设置(更简单,更推荐)

首先学会设置IDB快照(其实本人很少使用)
IDB快照:.idb文件,可快速帮我们恢复某个时间点的快照,可以防止错误太多

View - Database snapshot manager


其中Take snapshot 即保存当前的结构体 等等
当要恢复此快照时,直接双击即可

C语言语法定义结构体(比较慢,不推荐)

适用于已知C语言完整结构体类型和变量

通过

view - open subviews - Structures
打开Local types窗口

再Insert快捷键 或者右键Insert

就可以输入想要设定的结构体了

举个例子

点击Ok

出现说明成功输入

但是此时IDA没有导入结构体,Ctrl + F5搜索,选择要导入的结构体,双击

点击Yes即可成功导入
但IDA并不会去自动匹配变量,后续只需自己修改变量类型即可
变量具体怎么匹配后文详细讲解,以及有什么用

如果我们不知道结构体名称之类的取什么,但发现是一个结构体(常见,通用情况)

可以打开结构体窗口

菜单点击View - structures


右键选择Add struct type或者直接快捷键Insert

可以命个名字,然后点击OK即可
具体的设置变量类型dq之类的后面再写

现在来补一下:
用的IDA9.0SP1 52破解上有版本
image
现在IDA9.0

View-> Open Subviews -> Local Types

233
将原先的Local Types和Structures合并在一起了,中间那个
可以移动(不同IDA版本不同,可能也没合在一起)

235

236

两个窗口都可以点Add Types

237

由于前后我使用的版本不一样,这里是将Struct和Enum和C syntax都在一起了,更方便
之前介绍的方法在C syntax里写即可
现在介绍的就是struct,里面的内容默认即可,点击OK
(我图中不知道为什么是name是A,一般是struct_xx)(其实没影响,反正后面都会改名hh)
image
image
比如我设置了如下的
image
在你想更改的变量,对着它的类型按Y
暂时没有很好的例子,
总之按了Y之后
原本是DWORD * a1;
改成tree *a1;
那么C伪代码中原本
*(DWORD *)a1
*((DOWRD *)a1+2)
就可以识别a1->lchid *a1->rchild

当然还有一种常见的情况,比如内存中一块数据发现它们是结构体
也可以,但是博主还不太会,待补充

参考博客
https://bbs.kanxue.com/thread-266419.htm

http://www.jsqmd.com/news/47823/

相关文章:

  • 2025年专业集成房屋安装公司排名,集成活动房十大靠谱厂家推荐榜,石家庄集成房屋公司十大排行:义广达彩钢口碑推荐榜,河北集成活动房厂家十大推荐榜
  • 真的好怪题解:P14314 [Aboi Round 2] Oneshot
  • ElasticSearch索引库操作 - 努力-
  • 2025年集成房屋设计公司十大排名,岗亭加工厂家十大排行榜,专业岗亭定制工厂怎么选?彩钢移动厕所厂家推荐。
  • 礼盒拖车公司推荐,礼盒拖车定制公司排行榜,礼盒拖车厂家口碑推荐,礼盒拖车生产厂家-航利通达
  • 360笔试
  • 图像的颜色模式
  • .NET+AI | MEAI | Function Caling 实操(4)
  • 高频变压器公司口碑榜单,电感公司技术排名,电感厂家交付效率排名,磁性元器件公司客户推荐,电感器公司产能排名,线圈公司行业排名-汉翔电子
  • MinIo介绍 - 努力-
  • BLOG1
  • host with linux
  • sguardsvc64.exe(Anti-Cheat Expert)驱动不兼容导致无法开启“内核模式硬件强制堆栈保护”或“内存完整性”
  • Wi-Fi FTM 技术 10 年后展望
  • Docker使用【镜像】 - 指南
  • 20251122
  • 2025年11月22日训练赛
  • Python 潮流周刊#128:将 Rust 语言引入 CPython
  • NCHU_单部电梯调度程序总结blogs
  • 电梯调度程序分析
  • Hive动态分区怎样减少存储压力
  • 面向对象程序设计——单元总结
  • Linux命令绕过 - 教程
  • 帮同学签了个到,我发现竟然能盗光他所有账号
  • MyBatis Flex 讲解使用
  • Catalog
  • NCHU_Blog1_刘素萍_单部电梯调度程序
  • 同花顺通达信常用颜色图标
  • hive sql开发难不难
  • 数学的大厦(五):除法、有理数、等价关系