-
-
[求助]想在程序中直接执行一段指令
-
发表于:
2007-5-23 06:40
5025
-
int fun(char *src)
{
printf("%s\n",src);
return 1;
}
typedef int (*FUN) ( char * );
char *code="\xE9\x01\x00\x00\x00\xCC\x55\x8B\xEC\x83\xEC\x40 \
\x53\x56\x57\x8D\x7D\xC0\xB9\x10\x00\x00\x00\xB8\xCC \
\xCC\xCC\xCC\xF3\xAB\x8B\x45\x08\x50\x68\x7C\x0F\x42 \
\x00\xE8\x2A\x00\x00\x00\x83\xC4\x08\xB8\x01\x00\x00 \
\x00\x5F\x5E\x5B\x83\xC4\x40\x3B\xEC\xE8\x95\x00\x00 \
\x00\x8B\xE5\x5D\xC3";
int main(int argc, char* argv[])
{
FUN fp;
void *funsp=NULL;
funsp=(void*)code;
fp=(FUN)funsp;
fp("test");
return 0;
}
其中code 是通过winhex找到的fun()函数的hex数据。但是以上执行失败。所以请问:
1,这样的方法是否可行?
2,如果可行,我不能成功的问题是在那里?
[培训]科锐逆向工程师培训第53期2025年7月8日开班!