本帖最后由 乌月明星稀 于 2013-9-25 23:17 编辑
#include "stdio.h"
void a()
{
printf("This is test!\n");
}
char CodeArr[100];
void main()
{
char temp;
char *Pcopy=(char*)a;
for(temp=0;temp<100;temp++)
{
CodeArr[temp]=Pcopy[temp];//代码拷贝
}
((void(*)(void))CodeArr)(); //强制转换为void (*)(void)函数类型
}
我的想法是:将代码a拷贝到CodeArr中,然后用CodeArr强制转换为函数指针,执行到拷贝后的函数中去,但实际会导致整个main进程死掉。
求高手指点,如何用C编译可重定向代码。环境是Windows的C编译器 |