Инжекция кода может получить приложение Qt, которое я разработал правильно, но сторонние приложения не могут. Что мне делать?
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
DoSomeThing();
break;
case DLL_THREAD_ATTACH:
DoSomeThing();
break;
default:
break;
}
return TRUE;
}
void DoSomeThing() {
LPCTSTR step = L"GetQCoreApplication";
LPCSTR CustomApplications = "CustomApp";
LPCSTR ThirdPartyApplications = "ThirdPartyApp";
//CustomApplications = ThirdPartyApplications;
HWND hwnd = FindWindowA(NULL, CustomApplications);
DWORD procId;
GetWindowThreadProcessId(hwnd, &procId);
HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, procId);
/*Custom programs are available. But third-party applications are not available.*/
QCoreApplication* qCoreApplication = QCoreApplication::instance();
if (qCoreApplication != NULL) {
MessageBox(NULL, L"Get QCoreApplication", TEXT("Inject Code"), MB_OK);
}
else
{
MessageBox(NULL, L"Not Acquired QCoreApplication", TEXT("Inject Code"), MB_OK);
}
ofstream mcfile;
mcfile.open("D://Inject.txt");
mcfile << "This is my message.";
mcfile.close();
/*Custom programs are available. But third-party applications are not available.*/
HWND hwnd11 = FindWindowA(NULL, CustomApplications);
QWidget* q = QWidget::find((WId)hwnd);
if (q != NULL) {
//
}
else {
//
}
}
Пользовательские программы доступны. Сторонние приложения недоступны.