DWORD WINAPI getOffset(uintptr_t BaseAddy, uintptr_t endAddy, byte aob[], int bytessize, LPVOID returnValue)
{
MessageBox(NULL, "321", "123", MB_OK);
return 0;
}
我打电话:
CreateThread(NULL, NULL, reinterpret_cast<LPTHREAD_START_ROUTINE>(getOffset(BaseAddy + 0xd7d000, endAddy, presentAOB, 11, &presentOffset)), NULL, NULL, NULL);
程序在 MessageBox 之后立即崩溃(返回 0 本身)。可能是什么问题以及如何解决?
您的函数
getOffset返回 0,您将其重新解释为空指针并将其作为指针传递给线程函数。当然,一切都会下降。线程函数不能是空指针。
如果您的任务是从具有上述参数的线程中调用您的函数,那么您必须执行以下操作
编写一个线程函数,从中进行调用
getOffset准备一个结构以将参数传递给线程,将其填充并传递一个指向它的指针
CreateThread以及指向线程函数的指针在线程函数中,获取指向结构的指针并使用其字段作为参数来调用您的函数
getOffset