玩二进制的应该都会遇到这问题(
有一个几百字节的数组 v1
v1[48]= 23
v1[60]= 44
…
你看得时候会不会麻?
我们需要给这个数组添加语义信息。
接下来演示如何用ida创建结构体并带入
1.查看代码,分析结构体
看到这个,大家应该知道
v1是个结构体指针
根据名字可以看出
v1[0]其实是指向name的指针
v1[1]是指向note指针
v1[2]是name的大小
v1[3]是note的大小
v1[4]是下一个chunk
2.构建结构体
用shift + F9 进入structure
然后按lns(shift + 小键盘0)
写入名称
然后按
按D键选择参数占的字节(1,2,4,8)
按N键改名
按U键取消定义
改完后像这样
应用
现在返回add函数
选择v1变量 然后按 Y,改成这个样子
reference
https://blog.csdn.net/qq_33163046/article/details/124290143
https://blog.csdn.net/weixin_45799954/article/details/115009760