win32的hook

来源:互联网 发布:苹果手机制作软件 编辑:程序博客网 时间:2024/05/23 22:58
int myprintf (const char *format,...){return 0;}int main(){printf("a\n");char * target_function = (char *)&printf;DWORD old_target_function_protect = 0;BOOL succeeded = ::VirtualProtect(reinterpret_cast<void*>(target_function),32,PAGE_EXECUTE_READWRITE,&old_target_function_protect);if (!succeeded) {return -1;}*target_function = 0xE9;char * newfuc = (char*)&myprintf;int offset = newfuc - target_function - 5;memcpy(target_function + 1, &offset, 4);succeeded = ::VirtualProtect(reinterpret_cast<void*>(target_function),32,old_target_function_protect,&old_target_function_protect);printf("aa\n");return 0;}

0 0
原创粉丝点击