Bu durumda, uygulamanın adının doğru yazıldığından emin olmak için birkaç şey kontrol edebilirsiniz:Merhaba saygı değer memory hackers ailesi, sizden yardım almak için geldim.
Komut doğru çalıştığına eminim, not defteri, discord, google chrome gibi vs. uygulamarı buluyor. Ama bir oyunda offsetleri ve pointerleri test edicem o yüzden bunları oyunun belleğine yazdırmak istiyorum ama pencere oyunu bulamıyor.Ekli dosyayı görüntüle 90694Ekli dosyayı görüntüle 90695
ProSoccerOnline - Pro Soccer Online - ProSoccerOnline-Win64-Shipping
Gibi gibi bir çok pencere ismi denedim ama ne yazık'ki FindWindowA Kodu ile pencereye erişim sağlayamıyorum, kodda yazdığı gibide.
HWND hWnd = FindWindowA(NULL, "ProSoccerOnline");
if (hWnd == NULL)
{
std::cout << "Uygulama bulunamadi" << std::endl;
return 1;
}
uygulama bulunamadı hatası alıyorum, gizli bir penceremidir acaba diye process explorer gibi uygulamayı oyuna tarattığımda ise herhangi farklı bir pencere ismi karşıma çıkmıyor.
oyun SandBoxiePlus gibi farklı sanal makineler üzerindede açık değil napmalıyım?
Post automatically merged:
Ekli dosyayı görüntüle 90696
Daha pencereyi bulamadım, diğer offsetleri ve pointerleri bellek okuma işleminden geçirebileceğimi sanmıyorum ama yinede kodu paylaşmak istedim.
kral chat gpt'den kopyala yapıştır yapma çok fazla aradım oralarda ama yok çıkmıyor oyun yapımcısı gizlemiş pencereyi spy++ gibi uygulamalarda kapanıyor anti-cheat'den dolayı onun gibi uygulamar önerirseniz işime yararBu durumda, uygulamanın adının doğru yazıldığından emin olmak için birkaç şey kontrol edebilirsiniz:
Uygulamanın adının doğru yazıldığından emin olduktan sonra, uygulamanın tam olarak nasıl çalıştığını anlamak için uygulamanın dokümantasyonunu ve kaynak kodunu inceleyebilirsiniz. Ayrıca, Windows API'leri ile ilgili yardımcı kaynaklar ve örnekler de yararlı olabilir. Process explorerdan uygulama idsiyle bulmayı deneyebilirmisin?
- Büyük/küçük harf uyumuna dikkat edin: Uygulamanın adı büyük harfle yazılmış olabilir, bu nedenle adın tam olarak eşleşmesi için büyük harf kullanmanız gerekebilir.
- Uygulama adı değişmiş olabilir: Uygulamanın adı zaman içinde değişmiş olabilir, bu nedenle doğru adı bulmak için uygulamanın şu anki adını kontrol etmeniz gerekebilir.
- Uygulama başlığı yerine başka bir özellik kullanın: Uygulama adı yerine, uygulamanın ana penceresinin başlığı dışında başka bir özelliğini de kullanabilirsiniz. Örneğin, uygulamanın ana penceresinin sınıf adını veya diğer özelliklerini kullanarak pencereyi bulabilirsiniz.
- Pencere gösteriminde gecikme olabilir: Uygulama henüz tamamen başlatılmamış olabilir ve bu nedenle pencere henüz gösterilmemiş olabilir. Birkaç saniye bekleyerek tekrar deneyin.
uintptr_t GetModuleBaseAddress(DWORD procId, const wchar_t* modName)
{
uintptr_t modBaseAddr = 0;
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId);
if (hSnap != INVALID_HANDLE_VALUE)
{
MODULEENTRY32 modEntry;
modEntry.dwSize = sizeof(modEntry);
if (Module32First(hSnap, &modEntry))
{
do
{
if (!_wcsicmp((const wchar_t*)modEntry.szModule, modName))
{
modBaseAddr = (uintptr_t)modEntry.modBaseAddr;
break;
}
} while (Module32Next(hSnap, &modEntry));
}
}
CloseHandle(hSnap);
return modBaseAddr;
}
HWND hwnd = FindWindowA(NULL, "AssaultCube");
GetWindowThreadProcessId(hwnd, &pID);
HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
uintptr_t gameModule = GetModuleBaseAddress(pID,L"ac_client");
sağoalsın kral yardımın için baştan düzelttim kodları halettim bileProSoccerOnline-Win64-Shipping yazmak gerekiyor
C++:uintptr_t GetModuleBaseAddress(DWORD procId, const wchar_t* modName) { uintptr_t modBaseAddr = 0; HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId); if (hSnap != INVALID_HANDLE_VALUE) { MODULEENTRY32 modEntry; modEntry.dwSize = sizeof(modEntry); if (Module32First(hSnap, &modEntry)) { do { if (!_wcsicmp((const wchar_t*)modEntry.szModule, modName)) { modBaseAddr = (uintptr_t)modEntry.modBaseAddr; break; } } while (Module32Next(hSnap, &modEntry)); } } CloseHandle(hSnap); return modBaseAddr; } HWND hwnd = FindWindowA(NULL, "AssaultCube"); GetWindowThreadProcessId(hwnd, &pID); HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID); uintptr_t gameModule = GetModuleBaseAddress(pID,L"ac_client");