Merhaba, son sürüm olan 24H2 ile birlikte bir dizi çekirdek güncellemesi yapılmış. Ancak, bu güncellemeler sonucunda geliştirdiğim programda 0xc0000141 hatası meydana gelmiştir. Başlangıçta sorunun programımın kaynaklı olduğunu düşünsem de, yaptığım araştırmalar neticesinde benzer sorunları yaşayan diğer kullanıcılarla karşılaştım. Bu kullanıcılar, uygulama fark etmeksizin 24H2 güncellemesi ile birlikte aynı problemi yaşadıklarını bildirmektedir.
Sorunu çözebilen olmamış, size programın raporlarını bırakıyorum.
Rapor: Logfile.PML
Benzer konular:
win 11 open ufi error 0xc0000141 - UFIXERS Community
A community for UFI Box and UFI Dongle, the ultimate software for mobile phones repair
UFi - ufi error 0x0c0000141 Windows 11 24H2
UFI Box experienced error and 0xc0000141 on windows Windows 11 24H2. Seems no solution?
EEP 15/16/17 und HomeNOS15 starten nicht mehr - Herzlich Willkommen im "Mein EEP Forum"
Hallo! Ich bekomme seit heute folgende Fehlermeldung: Die Meldung kommt bei allen im Titel stehenden Anwendungen. Alle Anderen Programme funktionieren einwandfrei. sfc /scannow und chkdsk /f sind schon ohne Ergebnis gelaufen. In der…
Hatanın verdiği kod:
C++:
static bool RunPE64(PROCESS_INFORMATION* lpPI, STARTUPINFO* lpSI, void* lpImage, std::string args) {
CHAR wszFilePath[MAX_PATH];
if (GetModuleFileName(NULL, wszFilePath, MAX_PATH) == 0) {
return false;
}
std::string wszArgsBuffer = std::string(wszFilePath) + XorString(" ") + args;
PIMAGE_DOS_HEADER lpDOSHeader = reinterpret_cast<PIMAGE_DOS_HEADER>(lpImage);
PIMAGE_NT_HEADERS64 lpNTHeader = reinterpret_cast<PIMAGE_NT_HEADERS64>(reinterpret_cast<BYTE*>(lpImage) + lpDOSHeader->e_lfanew);
if (lpNTHeader->Signature != IMAGE_NT_SIGNATURE) {
return false;
}
if (!CreateProcess(NULL, &wszArgsBuffer[0], NULL, NULL, TRUE, CREATE_SUSPENDED | CREATE_NEW_CONSOLE, NULL, NULL, reinterpret_cast<LPSTARTUPINFO>(lpSI), lpPI)) {
return false;
}
CONTEXT stCtx = {};
stCtx.ContextFlags = CONTEXT_FULL;
if (!GetThreadContext(lpPI->hThread, &stCtx)) {
TerminateProcess(lpPI->hProcess, -4);
return false;
}
LPVOID lpImageBase = VirtualAllocEx(lpPI->hProcess, reinterpret_cast<LPVOID>(lpNTHeader->OptionalHeader.ImageBase), lpNTHeader->OptionalHeader.SizeOfImage, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if (lpImageBase == NULL) {
TerminateProcess(lpPI->hProcess, -5);
return false;
}
if (!WriteProcessMemory(lpPI->hProcess, lpImageBase, lpImage, lpNTHeader->OptionalHeader.SizeOfHeaders, NULL)) {
TerminateProcess(lpPI->hProcess, -6);
return false;
}
for (WORD iSection = 0; iSection < lpNTHeader->FileHeader.NumberOfSections; ++iSection) {
PIMAGE_SECTION_HEADER stSectionHeader = reinterpret_cast<PIMAGE_SECTION_HEADER>(reinterpret_cast<BYTE*>(lpImage) + lpDOSHeader->e_lfanew + sizeof(IMAGE_NT_HEADERS64) + sizeof(IMAGE_SECTION_HEADER) * iSection);
if (!WriteProcessMemory(lpPI->hProcess, reinterpret_cast<LPVOID>(reinterpret_cast<BYTE*>(lpImageBase) + stSectionHeader->VirtualAddress),
reinterpret_cast<LPVOID>(reinterpret_cast<BYTE*>(lpImage) + stSectionHeader->PointerToRawData),
stSectionHeader->SizeOfRawData, NULL)) {
TerminateProcess(lpPI->hProcess, -7);
return false;
}
}
if (!WriteProcessMemory(lpPI->hProcess, reinterpret_cast<LPVOID>(stCtx.Rdx + sizeof(LPVOID) * 2), &lpImageBase, sizeof(LPVOID), NULL)) {
TerminateProcess(lpPI->hProcess, -8);
return false;
}
stCtx.Rcx = reinterpret_cast<DWORD64>(lpImageBase) + lpNTHeader->OptionalHeader.AddressOfEntryPoint;
if (!SetThreadContext(lpPI->hThread, &stCtx)) {
TerminateProcess(lpPI->hProcess, -9);
return false;
}
if (ResumeThread(lpPI->hThread) == static_cast<DWORD>(-1)) {
TerminateProcess(lpPI->hProcess, -10);
return false;
}
return true;
}