首页 > 其他分享 >IDA---创建结构体

IDA---创建结构体

时间:2023-01-07 07:55:05浏览次数:37  
标签:创建 数据类型 --- 右键 IDA structure 结构

IDA---创建结构体

创建结构体并应用到相应数据上,可以更好理解数据含义。

创建结构体

在Structures窗口,在所有结构体后按 Ins 即可开始创建结构体,一些操作如下:

按键    : 解释
-----------------------------------------------------
Ins/Del : create/delete structure
D/A/*   : create structure member (data/ascii/array)
N       : rename structure or structure member
U       : delete structure member

一个简单例子:

00000000 person          struc ; (sizeof=0x11, mappedto_144)
00000000 name            xmmword ?               ; char
00000010 age             db ?                    ; base 10
00000011 person          ends

在 ends 后按 D/A/* 可以增加成员,切换数据类型,D表示数据,A表示字符串,*表示数组
如果没有想要的数据类型,可以 Options->Setup data types 设置更多的数据类型
在 db 右键, Field type 可以选择成员类型
N 可以设置成员名称

应用到数据

找到想要设置结构体的数据,不需要全部选中,只需要光标在数据开始位置即可,
右键->Structure->结构体名称, 或者使用快捷键 Alt+Q, 即可将数据以结构体形式显示

根据变量直接创建结构体

如果在IDA里看到很明显像结构体的地方,比如 (int)(a1+4) (int)(a1+12) 这样
直接在选中 a1 右键创建结构体,然后慢慢命名成员,很方便

更方便的创建修改结构体方法

View -> Open subviews -> Local types, 右键->Insert, 即可输入结构体定义,示例如下:

struct hello
{
  _BYTE a;
  _BYTE c;
  _WORD b;
};

如果要修改,选中相应行,右键->Edit 即可


2022/1/16

标签:创建,数据类型,---,右键,IDA,structure,结构
From: https://www.cnblogs.com/-rvy-/p/17032087.html

相关文章

  • SPOJ SP34020 ADAPET - Ada and Pet
    链接难度:\(\texttt{13/19}\)\(T\)组数据。你需要构造一个字符串满足其中包含\(k\)个给定的字符串\(s\),输出该字符串的最短长度。数据范围:\(k\le10^6,\sum|s|\l......
  • mkdocs-material 入门开启
    经常性的有书写技术文档和教程的需要个人不太喜欢把数据托管到第三方平台,包括在博客园的投稿基本也是为了备份mkdocs-material使用Python开发的文档书写工具,完美满足......
  • PostGIS之几何创建函数
    1.概述PostGIS是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在SQL中运行空间查询PostGIS官网:AboutPostGIS|PostGISPostGIS官方教程:PostGIS......
  • 力扣每日一题2023.1.6---2180. 统计各位数字之和为偶数的整数个数
    给你一个正整数num,请你统计并返回小于或等于num且各位数字之和为偶数的正整数的数目。正整数的各位数字之和是其所有位上的对应数字相加的结果。示例1:输入:num=......
  • 第一周训练赛 B-Jumping on Walls
    题目描述Vasyaplaysacomputergamewithninjas.AtthisstageVasya'sninjashouldgetoutofadeepcanyon.Thecanyonconsistsoftwoverticalparallelwal......
  • 使用KVM创建OEL虚拟机
    在Linux工作站上使用KVM创建虚拟机。首先说下我的需求:1.其他LAN内的笔记本也可以连接到这些KVM的虚拟机,因此需要配置使用桥接网络2.创建一个虚拟机,采用最小化安装系统,......
  • SpringBoot笔记--配置文件分类+yaml相关知识+读取配置文件内容
    配置文件要是需要使用自己的配置替换默认配置时,需要使用后缀名为application.properties或者application.yml(application.yaml)进行配置当然,几个文件都在resources文件夹......
  • 动态网页技术-Servlet(2)
    1.Tomcat、Servlet与Http协议最终tomcat将http请求进行对应的响应,动态资源部分由servlet来实现,servlet在底层维护hashmap数组<k,v>键值对的形式,需要web.xml文件中的内容,最......
  • 【论文阅读】RAL2022: Make it Dense: Self-Supervised Geometric Scan Completion of
    0.参考与前言论文链接:https://ieeexplore.ieee.org/document/9812507代码链接:https://github.com/PRBonn/make_it_densevdbfusion同组所出,自监督的scancompletion,第一......
  • 《Adaptive Incentive Design with Multi-Agent Meta-Gradient Reinforcement Learnin
    多智能体元梯度强化学习的自适应激励设计总结:提出了一种基于元梯度的多智能体强化学习自适应奖励机制,解决了较为复杂的多智能体强化学习下的奖励机制问题,最终证明该方法......