逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式
一丶了解什么是结构体,以及计算结构体成员的对其值以及总大小(类也是这样算)
结构体的特性
1.结构体(struct...)是由一系列具有相同类型或不同类型的数据构成的数据集合
2.在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。
...公式:
下面是推理,如果不想看可以直接跳到总结去看总结.
成员偏移量的公式
alg 设alg是编译器的对其值,offset为结构体首地址的偏移,从0开始....产生了寻址公式其中eax是数组首地址,ebp +8则是参数,外面传入的是结构体首地址,所以ebp +8则是数组首
所以 ebp +8 则是结构体的首地址
mov byte ptr[eax],62h ...传参之前的操作
很明显
1.先抬栈
2.循环6次,每次4个字节4个字节的拷贝
3.获得结构体的首地址
4.将栈顶赋值给edi,意思就是说,从栈顶开始复制.
5.执行串操作指令,rep movsd 将 esi