之前在写内存注入的时候,寻找IAT表都是手动计算的,后来发现可以直接用结构体,在结构体的赋值那里不是很懂,于是便写了个简单的程序来测试
///////////////////////////////////////////////////////////////////////////// // 文件名 : test.c // 工程 : test // 作者 : enjoy5512 修改者 : enjoy5512 最后优化注释者 : enjoy5512 // 个人技术博客 : blog.csdn.net/enjoy5512 // 个人GitHub : github.com/whu-enjoy // csdn code : code.csdn.net/enjoy5512 // 描述 : 测试结构体的赋值操作 // 主要函数 : // 版本 : 最终确定版 完成日期 : 2016年5月30日 21:35:18 // 修改 : ///////////////////////////////////////////////////////////////////////////// #include <stdio.h> int main(void) { unsigned char a[] = "0123456789abcdefghijk"; //无符号字符数组 struct A //结构体A,一个int 三个char 再接一个int { int a; char b; char c; char d; int e; }p,*pp; struct B //结构体B,一个int 一个 char 在接一个int { int a; char b; int c; }; p.a = 1; //结构体A p的初始化 p.b = '2'; p.c = '3'; p.d = '4'; p.e = 5; pp = &p; //将结构体p赋值给pp pp = a; //用数组a来给结构体pp赋值 pp = (struct A *)a; //强制类型转换用数组a给结构体pp赋值 pp = (struct B *)a; //强制类型转换成结构体B再给pp赋值 return 0; }
转载:http://blog.csdn.net/enjoy5512/article/details/51559848